From f163da41d69f80bff8021ae5268c2b163553144c Mon Sep 17 00:00:00 2001 From: well Date: Tue, 29 Oct 2024 11:59:38 +0800 Subject: [PATCH] 1029u --- .../app/_components/auth/logout-button.tsx | 11 +++++ .../web2/src/app/_components/header/index.tsx | 21 +++++++--- apps/web2/src/app/_components/header/logo.tsx | 21 ---------- apps/web2/src/app/_components/header/user.tsx | 41 +++++++++++++++++++ apps/web2/src/app/actions/logout.ts | 7 ++++ 5 files changed, 74 insertions(+), 27 deletions(-) create mode 100644 apps/web2/src/app/_components/auth/logout-button.tsx delete mode 100644 apps/web2/src/app/_components/header/logo.tsx create mode 100644 apps/web2/src/app/_components/header/user.tsx create mode 100644 apps/web2/src/app/actions/logout.ts diff --git a/apps/web2/src/app/_components/auth/logout-button.tsx b/apps/web2/src/app/_components/auth/logout-button.tsx new file mode 100644 index 0000000..eef7062 --- /dev/null +++ b/apps/web2/src/app/_components/auth/logout-button.tsx @@ -0,0 +1,11 @@ +'use client'; + +import { PropsWithChildren } from 'react'; + +import { logout } from '@/app/actions/logout'; + +import { Button } from '../ui/button'; + +export const LogoutButton: React.FC = ({ children }) => { + return ; +}; diff --git a/apps/web2/src/app/_components/header/index.tsx b/apps/web2/src/app/_components/header/index.tsx index 558e050..976936f 100644 --- a/apps/web2/src/app/_components/header/index.tsx +++ b/apps/web2/src/app/_components/header/index.tsx @@ -1,7 +1,16 @@ -import { Logo } from './logo'; +'use client'; -export const Header = () => ( -
- -
-); +import { useSession } from 'next-auth/react'; + +import { User } from './user'; + +export const Header = () => { + const sisson = useSession(); + console.log(sisson.data?.user?.name, 111); + + return ( +
+ +
+ ); +}; diff --git a/apps/web2/src/app/_components/header/logo.tsx b/apps/web2/src/app/_components/header/logo.tsx deleted file mode 100644 index e7f1d2e..0000000 --- a/apps/web2/src/app/_components/header/logo.tsx +++ /dev/null @@ -1,21 +0,0 @@ -import Image from 'next/image'; -import Link from 'next/link'; - -import abc from './next.svg'; - -import $styles from './page.module.css'; - -export const Logo = () => ( - - avatar logo - -); diff --git a/apps/web2/src/app/_components/header/user.tsx b/apps/web2/src/app/_components/header/user.tsx new file mode 100644 index 0000000..60d294a --- /dev/null +++ b/apps/web2/src/app/_components/header/user.tsx @@ -0,0 +1,41 @@ +'use client'; + +import Link from 'next/link'; +import { useSession } from 'next-auth/react'; + +import { useState } from 'react'; + +import { logout } from '@/app/actions/logout'; + +import { Avatar, AvatarFallback, AvatarImage } from '../ui/avatar'; + +import { Button } from '../ui/button'; + +export const User = () => { + const { data } = useSession(); + const [user, setUser] = useState(data.user); + return ( +
+ {data.user && ( + + + +

暂无

+
+
+ )} + {data?.user?.name ? ( +

{data?.user?.name}

+ ) : ( + <> + )} + {data?.user ? ( + + ) : ( + +

登录

+ + )} +
+ ); +}; diff --git a/apps/web2/src/app/actions/logout.ts b/apps/web2/src/app/actions/logout.ts new file mode 100644 index 0000000..97ffb88 --- /dev/null +++ b/apps/web2/src/app/actions/logout.ts @@ -0,0 +1,7 @@ +'use server'; + +import { signOut } from '@/auth'; + +export const logout = async () => { + await signOut(); +};