import { create } from 'zustand'; import AsyncStorage from '@react-native-async-storage/async-storage'; import i18n from '../lib/i18n'; export type AppLanguage = 'de' | 'en'; const STORAGE_KEY = '@rebreak/language'; type LanguageState = { language: AppLanguage; setLanguage: (lang: AppLanguage) => Promise; init: () => Promise; }; export const useLanguageStore = create((set) => ({ language: 'en', init: async () => { const stored = await AsyncStorage.getItem(STORAGE_KEY); const lang: AppLanguage = stored === 'de' || stored === 'en' ? stored : 'en'; await i18n.changeLanguage(lang); set({ language: lang }); }, setLanguage: async (lang) => { await AsyncStorage.setItem(STORAGE_KEY, lang); await i18n.changeLanguage(lang); set({ language: lang }); }, }));