diff --git a/src/components/auth-redirect/index.tsx b/src/components/auth-redirect/index.tsx
index 280cb02..74aafb6 100644
--- a/src/components/auth-redirect/index.tsx
+++ b/src/components/auth-redirect/index.tsx
@@ -9,17 +9,17 @@ import { useMeQuery } from "@/services"
export const AuthRedirect: FC<{ children: ReactNode }> = ({ children }) => {
const router = useRouter()
- const { data: user, isLoading } = useMeQuery()
+ const { data: user, isPending } = useMeQuery()
const isAuthPage =
router.pathname === "/login" || router.pathname === "/sign-up"
useEffect(() => {
- if (!isLoading && !user && !isAuthPage) {
+ if (!isPending && !user && !isAuthPage) {
router.push("/login")
}
- }, [user, isLoading, isAuthPage, router])
+ }, [user, isPending, isAuthPage, router])
- if (isLoading || (!user && !isAuthPage)) {
+ if (isPending || (!user && !isAuthPage)) {
return (
diff --git a/src/pages/_app.tsx b/src/pages/_app.tsx
index 33a2aee..a4c95f8 100644
--- a/src/pages/_app.tsx
+++ b/src/pages/_app.tsx
@@ -7,40 +7,59 @@ import { AuthRedirect, Button } from "@/components"
import { ModeToggle } from "@/components/mode-toggle"
import { ThemeProvider } from "@/components/theme-provider"
import { useLogoutMutation } from "@/services"
+import Link from "next/link"
+import { useRouter } from "next/router"
const queryClient = new QueryClient()
const MyApp: AppType = ({ Component, pageProps }) => {
return (
-
-
-
+
+
+
-
-
+
+
)
}
function Header() {
+ const router = useRouter()
const { mutate: logout } = useLogoutMutation()
- const handleLogout = () => {
- logout()
- }
+
+ const isLoginPage = router.pathname === "/login"
+ const isSignUpPage = router.pathname === "/sign-up"
+
+ const isOtherPage = !isLoginPage && !isSignUpPage
return (
)
diff --git a/src/pages/login.tsx b/src/pages/login.tsx
index d95c73d..f1ddf4f 100644
--- a/src/pages/login.tsx
+++ b/src/pages/login.tsx
@@ -1,68 +1,40 @@
-import type { ChangeEvent } from "react"
-import React, { useState } from "react"
+import type { FormEvent } from "react"
+import React from "react"
import type { NextPage } from "next"
import { Button, Input } from "@/components"
-import { Label } from "@/components/ui/label"
+import { Card, CardContent, CardHeader, CardTitle } from "@/components/ui/card"
import { useLoginMutation } from "@/services"
const Login: NextPage = () => {
const { mutate: login } = useLoginMutation()
- const [email, setEmail] = useState("")
- const [password, setPassword] = useState("")
- const [remember, setRemember] = useState(true)
+ const handleSubmit = (e: FormEvent
) => {
+ e.preventDefault()
+ const formData = new FormData(e.currentTarget)
- const handlePasswordChange = (e: ChangeEvent) => {
- setPassword(e.target.value)
- }
-
- const handleEmailChange = (e: ChangeEvent) => {
- setEmail(e.target.value)
- }
-
- const handleRememberChange = (e: ChangeEvent) => {
- setRemember(e.target.checked)
- }
-
- const handleSubmit = () => {
- login({
- email,
- password,
- rememberMe: remember,
- })
+ // biome-ignore lint/suspicious/noExplicitAny:
+ const values = Object.fromEntries(formData) as any
+ login(values)
}
return (
)
}
diff --git a/src/pages/sign-up.tsx b/src/pages/sign-up.tsx
index 5cb1071..161bf8f 100644
--- a/src/pages/sign-up.tsx
+++ b/src/pages/sign-up.tsx
@@ -4,6 +4,7 @@ import React from "react"
import type { NextPage } from "next"
import { Button, Input } from "@/components"
+import { Card, CardContent, CardHeader, CardTitle } from "@/components/ui/card"
import { useSignUpMutation } from "@/services"
const Login: NextPage = () => {
@@ -19,30 +20,33 @@ const Login: NextPage = () => {
}
return (
-