From 5f5a0dff31f0cf6f8eaebf8a1f9fe8fe0deae90c Mon Sep 17 00:00:00 2001 From: Ardeman Date: Mon, 3 Mar 2025 19:10:50 +0800 Subject: [PATCH] feat: update admin navbar to display staff profile information and refactor loader data --- app/layouts/admin/navbar.tsx | 15 ++++++++++----- app/routes/_admin.lg-admin.tsx | 6 +++--- 2 files changed, 13 insertions(+), 8 deletions(-) diff --git a/app/layouts/admin/navbar.tsx b/app/layouts/admin/navbar.tsx index 9776ffe..fd58500 100644 --- a/app/layouts/admin/navbar.tsx +++ b/app/layouts/admin/navbar.tsx @@ -1,13 +1,14 @@ import { Button, Popover, PopoverButton, PopoverPanel } from '@headlessui/react' -import { Link, useFetcher } from 'react-router' +import { Link, useFetcher, useRouteLoaderData } from 'react-router' import { ChevronIcon } from '~/components/icons/chevron' import { NotificationIcon } from '~/components/icons/notification' import { APP } from '~/configs/meta' -import { useAdminContext } from '~/contexts/admin' +import type { loader } from '~/routes/_admin.lg-admin' export const Navbar = () => { - const { adminProfile } = useAdminContext() + const loaderData = useRouteLoaderData('routes/_admin.lg-admin') + const staffData = loaderData?.staffData const fetcher = useFetcher() return ( @@ -26,8 +27,12 @@ export const Navbar = () => {
-
- {adminProfile.name} + {staffData?.name} + {staffData?.name}
diff --git a/app/routes/_admin.lg-admin.tsx b/app/routes/_admin.lg-admin.tsx index f7e87de..7b38064 100644 --- a/app/routes/_admin.lg-admin.tsx +++ b/app/routes/_admin.lg-admin.tsx @@ -12,7 +12,7 @@ export const loader = async ({ request }: Route.LoaderArgs) => { const { staffToken } = await handleCookie(request) const { pathname } = new URL(request.url) const isAuthPage = AUTH_PAGES.includes(pathname) - let adminData + let staffData if (!isAuthPage && !staffToken) { throw redirect('/lg-admin/login') @@ -26,11 +26,11 @@ export const loader = async ({ request }: Route.LoaderArgs) => { const { data } = await getStaff({ accessToken: staffToken, }) - adminData = data + staffData = data } return { - adminData, + staffData, } }