diff options
| author | Yuval Adam <_@yuv.al> | 2022-11-29 09:19:07 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-11-29 09:19:07 +0200 |
| commit | 50d9d173d1c2cf22efb960fd122ca64201f34bf5 (patch) | |
| tree | 8e54dc74a491c564575a47f85f79ae1d41c03059 /src/Slider.tsx | |
| parent | 3c0fce7319f4e4ae076527eb98e6164210bdb34c (diff) | |
| parent | 8507df99e5a3a77fa2a2f1c716e2eefeee92f11b (diff) | |
Merge pull request #30 from yuvadm/v6v6.0.0
Major v6 upgrade
Diffstat (limited to 'src/Slider.tsx')
| -rw-r--r-- | src/Slider.tsx | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/src/Slider.tsx b/src/Slider.tsx new file mode 100644 index 0000000..50223fc --- /dev/null +++ b/src/Slider.tsx @@ -0,0 +1,45 @@ +import React from "react"; +import RcSlider, { SliderProps, SliderRef } from 'rc-slider/lib/Slider'; +import { PLAYBACK_SLOTS } from "./config"; + +// use workaround from: https://github.com/react-component/slider/issues/835#issuecomment-1201805736 +const CustomSlider = RcSlider as React.ForwardRefExoticComponent<SliderProps<number> & React.RefAttributes<SliderRef>>; + +interface GeshemSliderProps { + playback?: string, + slider: number, + setSlider: React.Dispatch<React.SetStateAction<number>> +} + +export function Slider({ playback, slider, setSlider }: GeshemSliderProps) { + const handleStyle = { + height: 40, + width: 40, + border: 0, + marginTop: -10, + boxShadow: ".5px .5px 2px 1px rgba(0,0,0,.32)" + }; + + const railStyle = { + height: 20, + backgroundColor: "#3498db" + }; + + const trackStyle = { + display: "none" + }; + + return ( + <div id="slider"> + <CustomSlider + min={0} + max={playback ? PLAYBACK_SLOTS : 9} + defaultValue={slider} + handleStyle={handleStyle} + railStyle={railStyle} + trackStyle={trackStyle} + onChange={val => setSlider(val)} + /> + </div> + ); +} |
