Aurora SpotiRip desktop and web app
- Spotify playlist, library, album and artist browsing with in-app playback - Song, playlist and album downloads via spotdl with YouTube and Bandcamp fallbacks - Electron desktop app (castLabs Widevine) with a permanent sidebar layout - Linux and Windows packaging scripts
This commit is contained in:
@@ -0,0 +1,31 @@
|
||||
"use client";
|
||||
|
||||
import * as React from "react";
|
||||
import * as SliderPrimitive from "@radix-ui/react-slider";
|
||||
import styles from "./Slider.module.css";
|
||||
|
||||
const Slider = React.forwardRef<
|
||||
React.ElementRef<typeof SliderPrimitive.Root>,
|
||||
React.ComponentPropsWithoutRef<typeof SliderPrimitive.Root>
|
||||
>(({ className, ...props }, ref) => {
|
||||
const isRange =
|
||||
(Array.isArray(props.defaultValue) && props.defaultValue.length > 1) ||
|
||||
(Array.isArray(props.value) && props.value.length > 1);
|
||||
|
||||
return (
|
||||
<SliderPrimitive.Root
|
||||
ref={ref}
|
||||
className={`${styles.slider} ${className ?? ""}`}
|
||||
{...props}
|
||||
>
|
||||
<SliderPrimitive.Track className={styles.track}>
|
||||
<SliderPrimitive.Range className={styles.range} />
|
||||
</SliderPrimitive.Track>
|
||||
<SliderPrimitive.Thumb className={styles.thumb} />
|
||||
{isRange && <SliderPrimitive.Thumb className={styles.thumb} />}
|
||||
</SliderPrimitive.Root>
|
||||
);
|
||||
});
|
||||
Slider.displayName = SliderPrimitive.Root.displayName;
|
||||
|
||||
export { Slider };
|
||||
Reference in New Issue
Block a user