sozsoft-platform/ui/src/components/layouts/StackedSideLayout.tsx

59 lines
1.5 KiB
TypeScript
Raw Normal View History

2026-02-24 20:44:16 +00:00
import Header from '@/components/template/Header'
import UserDropdown from '@/components/template/UserDropdown'
import MobileNav from '@/components/template/MobileNav'
import StackedSideNav from '@/components/template/StackedSideNav'
import View from '@/views/Views'
import LanguageSelector from '../template/LanguageSelector'
2026-07-13 08:39:13 +00:00
import {
DeferredAiAssistant,
DeferredMessengerWidget,
DeferredNotification,
DeferredSearch,
DeferredSidePanel,
} from '../template/DeferredShellActions'
2026-02-24 20:44:16 +00:00
const HeaderActionsStart = () => {
return (
<>
<MobileNav />
2026-07-13 08:39:13 +00:00
<DeferredSearch />
2026-02-24 20:44:16 +00:00
</>
)
}
const HeaderActionsEnd = () => {
return (
<>
2026-07-13 08:39:13 +00:00
<DeferredAiAssistant />
<DeferredNotification />
<DeferredMessengerWidget />
2026-02-24 20:44:16 +00:00
<LanguageSelector />
2026-07-13 08:39:13 +00:00
<DeferredSidePanel />
2026-02-24 20:44:16 +00:00
<UserDropdown hoverable={false} />
</>
)
}
const StackedSideLayout = () => {
return (
<div className="app-layout-stacked-side flex flex-auto flex-col">
<div className="flex flex-auto min-w-0">
<StackedSideNav />
<div className="flex flex-col flex-auto min-h-screen min-w-0 relative w-full">
<Header
container={false}
className="shadow dark:shadow-2xl"
headerStart={<HeaderActionsStart />}
headerEnd={<HeaderActionsEnd />}
/>
<div className="h-full flex flex-auto flex-col">
<View />
</div>
</div>
</div>
</div>
)
}
export default StackedSideLayout