From cac19385a99d9f169d230c821c912a8999323b34 Mon Sep 17 00:00:00 2001 From: Juthatip McDevitt Date: Tue, 14 May 2024 16:42:29 -0500 Subject: [PATCH] created profile page --- donutshop_ecommerce/src/app/profile/page.js | 28 +++++++++++++++++++ .../src/components/layout/Header.js | 16 +++++++---- 2 files changed, 39 insertions(+), 5 deletions(-) create mode 100644 donutshop_ecommerce/src/app/profile/page.js diff --git a/donutshop_ecommerce/src/app/profile/page.js b/donutshop_ecommerce/src/app/profile/page.js new file mode 100644 index 0000000..f4510f2 --- /dev/null +++ b/donutshop_ecommerce/src/app/profile/page.js @@ -0,0 +1,28 @@ +"use client" +import { useSession } from 'next-auth/react' +import { redirect } from 'next/navigation'; +import React from 'react' + + + +const ProfilePage = () => { + const session = useSession(); + const {status} = session; + + if(status === 'loading'){ + return 'Loading...' + } + if(status === 'unauthenticated'){ + return redirect('/login'); + } + + + return ( +
+

Profile

+ +
+ ) +} + +export default ProfilePage \ No newline at end of file diff --git a/donutshop_ecommerce/src/components/layout/Header.js b/donutshop_ecommerce/src/components/layout/Header.js index ffe93c4..7bd295d 100644 --- a/donutshop_ecommerce/src/components/layout/Header.js +++ b/donutshop_ecommerce/src/components/layout/Header.js @@ -15,7 +15,13 @@ const Header = () => { //use session const session = useSession(); - const status = session.status; + const status = session?.status; + //use userdata + const userData = session.data?.user; + let userName = userData?.name || userData?.email; + if(userName && userName.includes(' ')){ + userName = userName.split(' ')[0] + } return ( @@ -43,17 +49,17 @@ const Header = () => {
-
    +
      {status === 'authenticated' && ( <> - Profile - + {userName} + )} {status === 'unauthenticated' && ( <> Login - Register + Register )}