A very simple bookmarking webapp pinboard.ing/
at chore/move-sql 21 lines 516 B view raw
1export type Theme = "light" | "dark" 2 3export const STORAGE_KEY = "theme" 4 5function getSystemTheme(): Theme { 6 return window.matchMedia("(prefers-color-scheme: dark)").matches 7 ? "dark" 8 : "light" 9} 10 11export function getInitialTheme(): Theme { 12 const stored = localStorage.getItem(STORAGE_KEY) 13 if (stored === "light" || stored === "dark") { 14 return stored 15 } 16 return getSystemTheme() 17} 18 19export function useTheme() { 20 document.documentElement.dataset.theme = getInitialTheme() 21}