diff --git a/src/lib/settings/initialSettings.tsx b/src/lib/settings/initialSettings.tsx index 1cdaf65be..bdd01f80e 100644 --- a/src/lib/settings/initialSettings.tsx +++ b/src/lib/settings/initialSettings.tsx @@ -154,25 +154,42 @@ export function createSettings() { defaultValue: '264.5', description: 'The hue of the primary theme color for the app', validate: (v) => Number(v) >= 0 && Number(v) < 360, - Component: ({ value, updateValue }) => ( -
-
- updateValue(e.currentTarget.value)} - value={value} - min={0} - max={259} - step={1} - className="block flex-1" - /> -
- ), + Component: ({ value, updateValue }) => { + const preview = (e: React.SyntheticEvent) => + e.isTrusted && + 'value' in e.currentTarget && + document.documentElement.style.setProperty( + `--primary-hue`, + String(e.currentTarget.value) + ) + const save = (e: React.SyntheticEvent) => + e.isTrusted && + 'value' in e.currentTarget && + e.currentTarget.value && + updateValue(String(e.currentTarget.value)) + return ( +
+
+ +
+ ) + }, }), /** * Whether to show the debug panel, which lets you see