import { useMutation } from "@tanstack/react-query"; import { router } from "expo-router"; import { Alert } from "react-native"; import { useTranslation } from "@turbostarter/i18n"; import { Icons } from "@turbostarter/ui-mobile/icons"; import { Text } from "@turbostarter/ui-mobile/text"; import { useSetupSteps } from "~/app/(setup)/steps/_layout"; import { pathsConfig } from "~/config/paths"; import { authClient } from "~/lib/auth"; import { auth } from "~/modules/auth/lib/api"; import { SettingsTile } from "~/modules/common/settings-tile"; import { Spinner } from "~/modules/common/spinner"; export const Logout = () => { const { t } = useTranslation(["common", "auth"]); const { reset } = useSetupSteps(); const { refetch } = authClient.useListOrganizations(); const signOut = useMutation({ ...auth.mutations.signOut, onSuccess: async () => { reset(); await refetch(); router.replace(pathsConfig.index); }, }); return ( <> { Alert.alert(t("logout.cta"), t("logout.confirm"), [ { text: t("cancel"), style: "cancel", }, { text: t("logout.cta"), style: "destructive", onPress: () => signOut.mutate(undefined), }, ]); }} > {t("logout.cta")} {signOut.isPending && } ); };