import { redirect } from 'next/navigation'; import { loadCurrentUserAccount } from '@/app/home/(user)/_lib/server/load-user-account'; import { signOutAction } from '@/lib/actions/sign-out'; import { BackButton } from '@kit/shared/components/back-button'; import { MedReportLogo } from '@kit/shared/components/med-report-logo'; import { pathsConfig } from '@kit/shared/config'; import { Trans } from '@kit/ui/trans'; import { withI18n } from '~/lib/i18n/with-i18n'; import { toTitleCase } from '~/lib/utils'; import { UpdateAccountForm } from './_components/update-account-form'; async function UpdateAccount() { const { account, user } = await loadCurrentUserAccount(); const isKeycloakUser = user?.app_metadata?.provider === 'keycloak'; const isEmailUser = user?.app_metadata?.provider === 'email'; if (!user) { redirect(pathsConfig.auth.signIn); } const defaultValues = { firstName: account?.name ? toTitleCase(account.name) : '', lastName: account?.last_name ? toTitleCase(account.last_name) : '', personalCode: account?.personal_code ?? '', email: (() => { if (isKeycloakUser) { return account?.email ?? ''; } return account?.email ?? user?.email ?? ''; })(), phone: account?.phone ?? '+372', city: account?.city ?? '', weight: account?.accountParams?.weight ?? null, height: account?.accountParams?.height ?? null, userConsent: account?.has_consent_personal_data ?? false, }; return (