import { useRouter } from "expo-router"; import { useEffect, useState } from "react"; import { StyleSheet, View } from "react-native"; import EnIcon from "@/assets/icons/en_icon.png"; import VnIcon from "@/assets/icons/vi_icon.png"; import RotateSwitch from "@/components/rotate-switch"; import { ThemedText } from "@/components/themed-text"; import { ThemedView } from "@/components/themed-view"; import { DOMAIN, TOKEN } from "@/constants"; import { useI18n } from "@/hooks/use-i18n"; import { removeStorageItem } from "@/utils/storage"; type Todo = { userId: number; id: number; title: string; completed: boolean; }; export default function SettingScreen() { const router = useRouter(); const [data, setData] = useState(null); const { t, locale, setLocale } = useI18n(); const [isEnabled, setIsEnabled] = useState(locale === "vi"); // Sync isEnabled state khi locale thay đổi useEffect(() => { setIsEnabled(locale === "vi"); }, [locale]); const toggleSwitch = async () => { const newLocale = isEnabled ? "en" : "vi"; await setLocale(newLocale); }; return ( {t("navigation.setting")} {t("common.language")} {/* */} { await removeStorageItem(TOKEN); await removeStorageItem(DOMAIN); router.navigate("/auth/login"); }} > {t("auth.logout")} {data && ( {data.title} {data.completed} {data.id} )} ); } const styles = StyleSheet.create({ container: { flex: 1, alignItems: "center", justifyContent: "center", padding: 20, gap: 16, }, settingItem: { flexDirection: "row", alignItems: "center", justifyContent: "space-between", width: "100%", paddingHorizontal: 16, paddingVertical: 12, borderRadius: 8, backgroundColor: "rgba(0, 122, 255, 0.1)", }, button: { marginTop: 20, paddingVertical: 12, paddingHorizontal: 20, backgroundColor: "#007AFF", borderRadius: 8, }, });