import React, { useState } from 'react'; import { useNavigate } from 'react-router-dom'; import { useDispatch } from 'react-redux'; import { Button, Paper, Snackbar, TextField, Typography } from '@mui/material'; import { useForm } from 'react-hook-form'; import { setAdmin } from '../slices/auth/adminSlice'; import { useLoginAdminMutation } from '../slices/api/adminSlice'; import type { Credentials, StatusProps } from '../models'; import Status from './Status'; function GuestLogin() { const dispatch = useDispatch(); const navigate = useNavigate(); const [login, { isLoading, error }] = useLoginAdminMutation(); const [open, setOpen] = useState(false); const { register, handleSubmit, formState: { errors }, } = useForm({ defaultValues: { username: '', password: '', }, }); const onSubmit = async (data: Credentials) => { try { dispatch(setAdmin(await login(data).unwrap())); navigate('/dashboard'); } catch (e) { setOpen(true); } }; return (
Admin Login setOpen(false)} autoHideDuration={5000} >
); } export default GuestLogin;