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:
2026-09-25 23:20:57 -05:00
commit 3178b8f4f7
204 changed files with 26045 additions and 0 deletions
+31
View File
@@ -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 };