feat: refactor BaseHeader to accept main component as prop for improved flexibility

This commit is contained in:
2026-02-22 04:27:10 +08:00
parent 5cb02f44b2
commit e97f947177

View File

@@ -1,5 +1,5 @@
import { LayoutMain } from '@/modules/layout' import { LayoutMain } from '@/modules/layout'
// const LayoutMain = null;
import { Link, Outlet, createRootRoute } from '@tanstack/react-router' import { Link, Outlet, createRootRoute } from '@tanstack/react-router'
import { TanStackRouterDevtools } from '@tanstack/react-router-devtools' import { TanStackRouterDevtools } from '@tanstack/react-router-devtools'
import { Toaster } from '@/components/ui/sonner' import { Toaster } from '@/components/ui/sonner'
@@ -10,9 +10,10 @@ export const Route = createRootRoute({
component: RootComponent, component: RootComponent,
}) })
const BaseHeader = (props: { children?: React.ReactNode }) => { const BaseHeader = (props: { main?: React.ComponentType | null }) => {
if (props.children) { if (props.main) {
return props.children const MainComponent = props.main
return <MainComponent />
} }
return ( return (
<> <>
@@ -36,7 +37,7 @@ const BaseHeader = (props: { children?: React.ReactNode }) => {
function RootComponent() { function RootComponent() {
return ( return (
<div className='h-full overflow-hidden'> <div className='h-full overflow-hidden'>
<BaseHeader><LayoutMain /></BaseHeader> <BaseHeader main={LayoutMain} />
<AuthProvider mustLogin={true}> <AuthProvider mustLogin={true}>
<TooltipProvider> <TooltipProvider>
<main className='h-[calc(100%-3rem)] overflow-auto scrollbar'> <main className='h-[calc(100%-3rem)] overflow-auto scrollbar'>