Files
workspace/code/app/app-rn/store/app.ts
T
2026-04-07 22:01:44 +08:00

24 lines
586 B
TypeScript

import AsyncStorage from '@react-native-async-storage/async-storage'
import { create } from 'zustand'
import { createJSONStorage, persist } from 'zustand/middleware'
export type ThemeScheme = 'light' | 'dark' | 'auto'
interface AppState {
themeScheme: ThemeScheme
setThemeScheme: (theme: ThemeScheme) => void
}
export const useAppStore = create<AppState>()(
persist(
set => ({
themeScheme: 'auto',
setThemeScheme: theme => set({ themeScheme: theme }),
}),
{
name: 'app-storage',
storage: createJSONStorage(() => AsyncStorage),
},
),
)