diff --git a/src-web/components/GraphQLEditor.tsx b/src-web/components/GraphQLEditor.tsx
index d1c50d5e..2027e021 100644
--- a/src-web/components/GraphQLEditor.tsx
+++ b/src-web/components/GraphQLEditor.tsx
@@ -71,7 +71,7 @@ export function GraphQLEditor({ defaultValue, onChange, baseRequest, ...extraEdi
const dialog = useDialog();
return (
-
+
= 0 && status < 100 && 'bg-red-600',
status >= 100 && status < 200 && 'bg-yellow-600',
status >= 200 && status < 300 && 'bg-green-600',
diff --git a/src-web/hooks/useTheme.ts b/src-web/hooks/useTheme.ts
index d049caf7..f1f4c6d3 100644
--- a/src-web/hooks/useTheme.ts
+++ b/src-web/hooks/useTheme.ts
@@ -1,7 +1,9 @@
import { useEffect } from 'react';
+import { getKeyValue } from '../lib/keyValueStore';
import type { Appearance } from '../lib/theme/window';
import {
getAppearance,
+ getPreferredAppearance,
setAppearance,
subscribeToPreferredAppearanceChange,
} from '../lib/theme/window';
@@ -24,7 +26,14 @@ export function useTheme() {
useEffect(() => setAppearance(appearanceKv.value), [appearanceKv.value]);
return {
- appearance: appearanceKv.value,
+ appearance: appearanceKv.value ?? getAppearance(),
toggleAppearance: handleToggleAppearance,
};
}
+
+export async function getAppearanceKv() {
+ return getKeyValue({
+ key: 'appearance',
+ fallback: getPreferredAppearance(),
+ });
+}
diff --git a/src-web/lib/theme/window.ts b/src-web/lib/theme/window.ts
index 14d70a8d..2839d37b 100644
--- a/src-web/lib/theme/window.ts
+++ b/src-web/lib/theme/window.ts
@@ -12,7 +12,7 @@ const darkTheme: AppTheme = {
colors: {
gray: '#6b5b98',
red: '#ff417b',
- orange: '#ff9411',
+ orange: '#ff9011',
yellow: '#e8d13f',
green: '#43e76f',
blue: '#219dff',
@@ -31,11 +31,11 @@ const lightTheme: AppTheme = {
colors: {
gray: '#7f8fb0',
red: '#ec3f87',
- orange: '#ff8b00',
+ orange: '#ff8000',
yellow: '#e7cf24',
green: '#00d365',
blue: '#0090ff',
- pink: '#f670f6',
+ pink: '#ea6cea',
violet: '#ac6cff',
},
},
@@ -50,14 +50,6 @@ export function getAppearance(): Appearance {
return getPreferredAppearance();
}
-export function toggleAppearance(): Appearance {
- const currentTheme =
- document.documentElement.getAttribute('data-appearance') ?? getPreferredAppearance();
- const newAppearance = currentTheme === 'dark' ? 'light' : 'dark';
- setAppearance(newAppearance);
- return newAppearance;
-}
-
export function setAppearance(a?: Appearance) {
const appearance = a ?? getPreferredAppearance();
const theme = appearance === 'dark' ? darkTheme : lightTheme;