import { useTranslation } from "react-i18next"; import { useAsyncFn } from "react-use"; import { deleteUser } from "@/backend/accounts/user"; import { Button } from "@/components/buttons/Button"; import { SolidSettingsCard } from "@/components/layout/SettingsCard"; import { Modal, ModalCard, useModal } from "@/components/overlays/Modal"; import { Heading2, Heading3, Paragraph } from "@/components/utils/Text"; import { useAuthData } from "@/hooks/auth/useAuthData"; import { useBackendUrl } from "@/hooks/auth/useBackendUrl"; import { useAuthStore } from "@/stores/auth"; export function AccountActionsPart() { const { t } = useTranslation(); const url = useBackendUrl(); const account = useAuthStore((s) => s.account); const { logout } = useAuthData(); const deleteModal = useModal("account-delete"); const [deleteResult, deleteExec] = useAsyncFn(async () => { if (!account) return; await deleteUser(url, account); await logout(); deleteModal.hide(); }, [logout, account, url, deleteModal.hide]); if (!account) return null; return (
{t("settings.account.actions.title")}
{t("settings.account.actions.delete.title")}

{t("settings.account.actions.delete.text")}

{t("settings.account.actions.delete.confirmTitle")} {t("settings.account.actions.delete.confirmDescription")}
); }