import { Title } from "./Title"; import { Slider } from "antd"; import { useEffect, useState } from "react"; const Mark = ({ value }) => { return ( {value} ); }; const getInitialMarks = (fullRange, value) => { if (Array.isArray(value)) { const [min, max] = value; return { ...fullRange, [min]: , [max]: , }; } else { return { ...fullRange, [value]: , }; } }; export const SliderComponent = ({ title, value: initialValue, onChange, onAfterChange, min = 0, max = 100, range = false, step = 1, disabled = false, onMouseEnter, onMouseLeave, showZeroMark = false, }) => { const fullRangeMarks = { [min]: , [max]: , }; const [value, setValue] = useState(initialValue); const [marks, setMarks] = useState( getInitialMarks(fullRangeMarks, initialValue) ); useEffect(() => { setValue(initialValue); setMarks(getInitialMarks(fullRangeMarks, initialValue)); }, [initialValue]); const handleAfterChange = (value) => { if (Array.isArray(value)) { const [min, max] = value; setMarks({ ...fullRangeMarks, [min]: , [max]: , }); } else { setMarks({ ...fullRangeMarks, [value]: , }); } onAfterChange?.(value); }; const handleChange = (value) => { setValue(value); onChange?.(value); }; const finalMarks = showZeroMark ? { ...marks, 0: } : marks; return (