+8
public/css/monaspace/argon.css
+8
public/css/monaspace/argon.css
+8
public/css/monaspace/krypton.css
+8
public/css/monaspace/krypton.css
+8
public/css/monaspace/neon.css
+8
public/css/monaspace/neon.css
+8
public/css/monaspace/radon.css
+8
public/css/monaspace/radon.css
+8
public/css/monaspace/xenon.css
+8
public/css/monaspace/xenon.css
+19
-4
src/providers/themeProvider.tsx
+19
-4
src/providers/themeProvider.tsx
···
30
30
url: "https://fonts.googleapis.com/css2?family=Mona+Sans:wght@400;500;700&display=swap",
31
31
},
32
32
{
33
+
name: "Shippori Mincho",
34
+
category: "serif",
35
+
url: "https://fonts.googleapis.com/css2?family=Shippori+Mincho:wght@400;500;700&display=swap",
36
+
},
37
+
{
33
38
name: "Comic Neue",
34
39
category: "sans",
35
40
url: "https://fonts.googleapis.com/css2?family=Comic+Neue:wght@400;500;700&display=swap",
···
74
79
category: "mono",
75
80
url: "https://fonts.googleapis.com/css2?family=Geist+Mono:wght@400;700&display=swap",
76
81
},
82
+
{
83
+
name: "Monaspace Neon",
84
+
category: "mono",
85
+
url: "/css/monaspace/neon.css",
86
+
},
87
+
{
88
+
name: "Monaspace Xenon",
89
+
category: "mono",
90
+
url: "/css/monaspace/xenon.css",
91
+
},
77
92
];
78
93
79
94
export type ThemeState = {
···
88
103
const ThemeContext = createContext<ThemeState>({} as ThemeState);
89
104
90
105
export function ThemeProvider({ children }: { children: React.ReactNode }) {
91
-
const [theme, setTheme] = useState<"light" | "dark">("light");
92
-
const [font, setFont] = useState<FontConfig>(GOOGLE_FONTS[0]);
106
+
const [theme, setTheme] = useState<"light" | "dark">("dark");
107
+
const [font, setFont] = useState<FontConfig>(GOOGLE_FONTS[2]);
93
108
const [loadedFonts, setLoadedFonts] = useState<Set<string>>(new Set());
94
109
95
110
const loadFonts = useCallback(
···
114
129
// Load saved theme/font from localStorage
115
130
useEffect(() => {
116
131
const savedTheme =
117
-
(localStorage.getItem("theme") as "light" | "dark") || "light";
132
+
(localStorage.getItem("theme") as "light" | "dark") || "dark";
118
133
const savedFont =
119
-
JSON.parse(localStorage.getItem("font") || "null") || GOOGLE_FONTS[0];
134
+
JSON.parse(localStorage.getItem("font") || "null") || GOOGLE_FONTS[2];
120
135
setTheme(savedTheme);
121
136
setFont(savedFont);
122
137
}, []);