diff --git a/src/assets/locales/en.json b/src/assets/locales/en.json index 20af5563..8b38825e 100644 --- a/src/assets/locales/en.json +++ b/src/assets/locales/en.json @@ -498,8 +498,8 @@ "playbackItem": "Playback settings", "audioItem": "Audio", "qualityItem": "Quality", - "sourceItem": "Video sources", - "subtitleItem": "Subtitle settings", + "sourceItem": "Source", + "subtitleItem": "Subtitles", "videoSection": "Video settings" }, "sources": { @@ -544,6 +544,9 @@ "watchpartyItem": "Watch Party", "notice": "Legacy Watch Party might not be available for some sources", "legacyWatchparty": "Use legacy Watch Party" + }, + "audio": { + "default": "Default" } }, "metadata": { diff --git a/src/components/overlays/OverlayRouter.tsx b/src/components/overlays/OverlayRouter.tsx index dc36926d..480d9cdf 100644 --- a/src/components/overlays/OverlayRouter.tsx +++ b/src/components/overlays/OverlayRouter.tsx @@ -77,12 +77,14 @@ function RouterBase(props: { id: string; children: ReactNode }) { style={dimensions} className="overflow-hidden relative z-10 max-h-full" > - + {props.children} diff --git a/src/components/player/atoms/settings/PlaybackSettingsView.tsx b/src/components/player/atoms/settings/PlaybackSettingsView.tsx index 5d9774c3..892efedd 100644 --- a/src/components/player/atoms/settings/PlaybackSettingsView.tsx +++ b/src/components/player/atoms/settings/PlaybackSettingsView.tsx @@ -12,7 +12,7 @@ function ButtonList(props: { onClick: (v: any) => void; }) { return ( -
+
{props.options.map((option) => { return ( @@ -124,6 +135,8 @@ export function ChevronLink(props: { onClick?: () => void; children?: ReactNode; active?: boolean; + box?: boolean; + disabled?: boolean; }) { const rightContent = {props.rightText}; return ( @@ -131,9 +144,12 @@ export function ChevronLink(props: { onClick={props.onClick} active={props.active} clickable - rightSide={rightContent} + rightSide={props.box ? null : rightContent} + className={props.box ? "flex flex-col items-center justify-center" : ""} + box={props.box} + disabled={props.disabled} > - {props.children} + {props.children} ); } @@ -145,6 +161,7 @@ export function SelectableLink(props: { children?: ReactNode; disabled?: boolean; error?: ReactNode; + box?: boolean; }) { let rightContent; if (props.selected) { @@ -168,6 +185,7 @@ export function SelectableLink(props: { onClick={props.onClick} clickable={!props.disabled} rightSide={rightContent} + box={props.box} > @@ -20,9 +21,15 @@ export function SectionTitle(props: { export function Section(props: { children: React.ReactNode; className?: string; + grid?: boolean; }) { return ( -
+
{props.children}
); diff --git a/src/components/utils/Flare.tsx b/src/components/utils/Flare.tsx index 9c19e027..1979002d 100644 --- a/src/components/utils/Flare.tsx +++ b/src/components/utils/Flare.tsx @@ -8,6 +8,8 @@ export interface FlareProps { flareSize?: number; cssColorVar?: string; enabled?: boolean; + gradientOpacity?: number; + gradientSpread?: number; } const SIZE_DEFAULT = 200; @@ -38,6 +40,8 @@ function Light(props: FlareProps) { const outerRef = useRef(null); const size = props.flareSize ?? SIZE_DEFAULT; const cssVar = props.cssColorVar ?? CSS_VAR_DEFAULT; + const opacity = props.gradientOpacity ?? 1; + const spread = props.gradientSpread ?? 70; useEffect(() => { function mouseMove(e: MouseEvent) { @@ -69,7 +73,7 @@ function Light(props: FlareProps) { }, )} style={{ - backgroundImage: `radial-gradient(circle at center, rgba(var(${cssVar}) / 1), rgba(var(${cssVar}) / 0) 70%)`, + backgroundImage: `radial-gradient(circle at center, rgba(var(${cssVar}) / ${opacity}), rgba(var(${cssVar}) / 0) ${spread}%)`, backgroundPosition: `var(--bg-x) var(--bg-y)`, backgroundRepeat: "no-repeat", backgroundSize: `${size.toFixed(0)}px ${size.toFixed(0)}px`, @@ -85,7 +89,7 @@ function Light(props: FlareProps) {