@@ -4,7 +4,7 @@ import { Field, FieldError, FieldLabel } from '@/components/ui/field';
|
||||
import { Button } from '@/components/ui/button';
|
||||
import { Input } from '@/components/ui/input';
|
||||
import { zodResolver } from '@hookform/resolvers/zod';
|
||||
import React, { useCallback, useState } from 'react';
|
||||
import React, { useCallback, useEffect, useState } from 'react';
|
||||
import { Controller, useForm } from 'react-hook-form';
|
||||
import { useNavigate } from 'react-router-dom';
|
||||
import { PageRouting } from '@/const/PageRouting';
|
||||
@@ -15,9 +15,12 @@ import { LoginRequest } from '@/data/request/account/LoginRequest';
|
||||
import { AccountNetwork } from '@/network/AccountNetwork';
|
||||
import { toast } from 'sonner';
|
||||
import { useAuthStore } from '@/store/authStore';
|
||||
import { Checkbox } from '@/components/ui/checkbox';
|
||||
import { Label } from '@/components/ui/label';
|
||||
|
||||
export default function LoginPage() {
|
||||
const [isLoading, setIsLoading] = useState<boolean>(false);
|
||||
const [autoLogin, setAutoLogin] = useState<boolean>(false);
|
||||
const { login } = useAuthStore();
|
||||
const navigate = useNavigate();
|
||||
const accountNetwork = new AccountNetwork();
|
||||
@@ -30,6 +33,10 @@ export default function LoginPage() {
|
||||
});
|
||||
const { id, password } = { id: loginForm.watch('id'), password: loginForm.watch('password') };
|
||||
|
||||
useEffect(() => {
|
||||
localStorage.setItem('autoLogin', `${autoLogin}`)
|
||||
}, [autoLogin]);
|
||||
|
||||
const moveToSignUpPage = useCallback(() => {
|
||||
navigate(PageRouting["SIGN_UP"].path);
|
||||
}, []);
|
||||
@@ -149,7 +156,20 @@ export default function LoginPage() {
|
||||
)}
|
||||
>
|
||||
</Controller>
|
||||
<div className="flex flex-row gap-2 mt-2">
|
||||
<Checkbox
|
||||
className={[
|
||||
"data-[state=checked]:bg-indigo-500 data-[state=checked]:text-white"
|
||||
, "data-[state=checked]:outline-none data-[state=checked]:border-0"
|
||||
].join(' ')}
|
||||
id="auto-login"
|
||||
checked={autoLogin}
|
||||
onCheckedChange={(value) => setAutoLogin(value === true)}
|
||||
/>
|
||||
<Label htmlFor="auto-login">자동 로그인</Label>
|
||||
</div>
|
||||
</form>
|
||||
|
||||
</CardContent>
|
||||
<CardFooter
|
||||
className="w-full flex flex-col items-center gap-5"
|
||||
|
||||
Reference in New Issue
Block a user