feat: improve mobile experience

This commit is contained in:
codytseng 2025-01-02 21:57:14 +08:00
parent 8ec0d46d58
commit 3946e603b3
98 changed files with 2508 additions and 1058 deletions

View file

@ -12,7 +12,7 @@ type ThemeProviderState = {
setThemeSetting: (themeSetting: TThemeSetting) => Promise<void>
}
async function getSystemTheme() {
function getSystemTheme() {
return window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light'
}
@ -26,9 +26,9 @@ export function ThemeProvider({ children, ...props }: ThemeProviderProps) {
useEffect(() => {
const init = async () => {
const themeSetting = await storage.getThemeSetting()
const themeSetting = storage.getThemeSetting()
if (themeSetting === 'system') {
setTheme(await getSystemTheme())
setTheme(getSystemTheme())
return
}
setTheme(themeSetting)
@ -65,10 +65,10 @@ export function ThemeProvider({ children, ...props }: ThemeProviderProps) {
const value = {
themeSetting: themeSetting,
setThemeSetting: async (themeSetting: TThemeSetting) => {
await storage.setThemeSetting(themeSetting)
storage.setThemeSetting(themeSetting)
setThemeSetting(themeSetting)
if (themeSetting === 'system') {
setTheme(await getSystemTheme())
setTheme(getSystemTheme())
return
}
setTheme(themeSetting)