From f205d108a268bf3c0ce1271f19ab9551fa6e7c45 Mon Sep 17 00:00:00 2001 From: phoenix Date: Fri, 23 Feb 2024 14:54:47 +0000 Subject: [PATCH] session --- v2/src/actions/auth.ts | 16 ++ v2/src/app/(home)/layout.tsx | 12 -- v2/src/app/(home)/template.tsx | 18 +++ v2/src/components/Forms/Login.tsx | 3 +- .../components/Header/NavBarAuthenticated.tsx | 7 + v2/src/components/ui/FormInput.tsx | 2 +- v2/src/helpers/auth.ts | 6 + v2/src/types/index.d.ts | 145 ++++++++++++++++++ 8 files changed, 195 insertions(+), 14 deletions(-) delete mode 100644 v2/src/app/(home)/layout.tsx create mode 100644 v2/src/app/(home)/template.tsx create mode 100644 v2/src/components/Header/NavBarAuthenticated.tsx create mode 100644 v2/src/helpers/auth.ts diff --git a/v2/src/actions/auth.ts b/v2/src/actions/auth.ts index bc08dc9..0ea9b0c 100644 --- a/v2/src/actions/auth.ts +++ b/v2/src/actions/auth.ts @@ -121,3 +121,19 @@ export const ForgetPassword = async (values: z.infer { + const authToken = cookies()?.get('access_token')?.value; + + if (!authToken) { + return { + status: 401, // Change status to 401 for unauthorized + error: 'Unauthorized. Missing access token.', + }; + } + + return { + status: 200, + succes: 'authorized', + }; +}; diff --git a/v2/src/app/(home)/layout.tsx b/v2/src/app/(home)/layout.tsx deleted file mode 100644 index 3a6cb9d..0000000 --- a/v2/src/app/(home)/layout.tsx +++ /dev/null @@ -1,12 +0,0 @@ -import HomeFooter from '@/components/home/Footer'; -import NavBar from '@/components/home/NavBar'; - -export default function GallaryLayout({ children }: { children: React.ReactNode }) { - return ( - <> - - {children} - - - ); -} diff --git a/v2/src/app/(home)/template.tsx b/v2/src/app/(home)/template.tsx new file mode 100644 index 0000000..a45e57e --- /dev/null +++ b/v2/src/app/(home)/template.tsx @@ -0,0 +1,18 @@ +'use client'; + +import React from 'react'; +import HomeFooter from '@/components/home/Footer'; +import NavBar from '@/components/home/NavBar'; +import NavBarAuthenticated from '@/components/Header/NavBarAuthenticated'; +import { CheckAuthFromLocalStorage } from '@/helpers/auth'; + +export default function GeneralTemplate({ children }: { children: React.ReactNode }) { + const Authenticated = CheckAuthFromLocalStorage(); + return ( + <> + {Authenticated ? : } + {children} + {!Authenticated && } + + ); +} diff --git a/v2/src/components/Forms/Login.tsx b/v2/src/components/Forms/Login.tsx index 596a125..c48e0b5 100644 --- a/v2/src/components/Forms/Login.tsx +++ b/v2/src/components/Forms/Login.tsx @@ -44,11 +44,12 @@ const Login = () => { setError(data?.error); if (data?.success) { console.log('User came from signIn'); + localStorage.setItem('authenticated', 'true'); setTimeout(() => { setSuccess('Redirecting....'); }, 1000); setTimeout(() => { - router.push(DEFAULT_LOGIN_REDIRECT); + router.push('/auth/sign-up'); }, 2000); } }); diff --git a/v2/src/components/Header/NavBarAuthenticated.tsx b/v2/src/components/Header/NavBarAuthenticated.tsx new file mode 100644 index 0000000..aa30d80 --- /dev/null +++ b/v2/src/components/Header/NavBarAuthenticated.tsx @@ -0,0 +1,7 @@ +import React from 'react'; + +const NavBarAuthenticated = () => { + return
NavBarAuthenticated
; +}; + +export default NavBarAuthenticated; diff --git a/v2/src/components/ui/FormInput.tsx b/v2/src/components/ui/FormInput.tsx index d024991..1df58b1 100644 --- a/v2/src/components/ui/FormInput.tsx +++ b/v2/src/components/ui/FormInput.tsx @@ -9,7 +9,7 @@ const FormInput = React.forwardRef(({ className, t