import { Modal, TextInput, Button, Text, Group, PasswordInput, } from "@mantine/core"; import * as z from "zod"; import { useState } from "react"; import { useAtom } from "jotai"; import { currentUserAtom } from "@/features/user/atoms/current-user-atom.ts"; import { useDisclosure } from "@mantine/hooks"; import * as React from "react"; import { useForm, zodResolver } from "@mantine/form"; import { useTranslation } from "react-i18next"; export default function ChangeEmail() { const { t } = useTranslation(); const [currentUser] = useAtom(currentUserAtom); const [opened, { open, close }] = useDisclosure(false); return (
{t("Email")} {currentUser?.user.email}
{/* */} {t( "To change your email, you have to enter your password and new email.", )}
); } const formSchema = z.object({ email: z.string({ required_error: "New email is required" }).email(), password: z .string({ required_error: "your current password is required" }) .min(8), }); type FormValues = z.infer; function ChangeEmailForm() { const { t } = useTranslation(); const [isLoading, setIsLoading] = useState(false); const form = useForm({ validate: zodResolver(formSchema), initialValues: { password: "", email: "", }, }); function handleSubmit(data: FormValues) { setIsLoading(true); console.log(data); } return (
); }