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

57 lines
1.6 KiB
TypeScript
Raw Normal View History

2026-02-24 20:44:16 +00:00
import Header from '@/components/template/Header'
import SidePanel from '@/components/template/SidePanel'
import UserDropdown from '@/components/template/UserDropdown'
import MobileNav from '@/components/template/MobileNav'
import StackedSideNav from '@/components/template/StackedSideNav'
import View from '@/views/Views'
import Search from '@/components/template/Search'
import Notification from '@/components/template/Notification'
import LanguageSelector from '../template/LanguageSelector'
2026-07-04 19:36:50 +00:00
import MessengerWidget from '../template/MessengerWidget'
2026-02-24 20:44:16 +00:00
import AiAssistant from '../template/AiAssistant'
const HeaderActionsStart = () => {
return (
<>
<MobileNav />
<Search />
</>
)
}
const HeaderActionsEnd = () => {
return (
<>
<AiAssistant />
<Notification />
2026-07-04 19:36:50 +00:00
<MessengerWidget />
2026-02-24 20:44:16 +00:00
<LanguageSelector />
<SidePanel className="hidden" />
<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