import { Box, Container, Flex } from "@mantine/core";
import ForgotPasswordForm from "./(widgets)/forgotPasswordForm";
import AuthLogo from "./(widgets)/authLogo";
import type { Route } from "./+types/forgot-password";
import { requestPasswordReset } from "@/lib/features/auth/action";

export function meta() {
  return [{ title: "Forgot Password - Admin Console" }];
}

export async function action({ request }: Route.ActionArgs) {
  const { intent, email } = (await request.json()) as {
    intent: string;
    email: string;
  };

  switch (intent) {
    case "forgot-password":
      const res = await requestPasswordReset(email);
      return res;
    default:
      return {
        success: false,
        message: "Invalid intent",
        data: null,
      };
  }
}

export default function ForgotPassword() {
  return (
    <Container fluid h={"100vh"}>
      <Flex h={"100%"} w={"100%"} justify={"center"} align="center">
        <Box w={400} maw="100%">
          <AuthLogo />
          <ForgotPasswordForm />
        </Box>
      </Flex>
    </Container>
  );
}
