2023-06-23 17:45:50 -05:00
|
|
|
import { PanZoomContextProvider } from 'shared/components/workbench/pattern/pan-zoom-context.mjs'
|
|
|
|
import { ViewHeader, ns as headerNs } from './view-header.mjs'
|
|
|
|
import { MenuWrapper } from 'shared/components/workbench/menus/shared/menu-wrapper.mjs'
|
|
|
|
|
|
|
|
export const ns = headerNs
|
|
|
|
|
2023-06-29 17:29:13 +00:00
|
|
|
/** a layout for views that include a drafted pattern, a sidebar menu, and the draft view header */
|
2023-06-23 17:45:50 -05:00
|
|
|
export const PatternWithMenu = ({
|
|
|
|
settings,
|
|
|
|
ui,
|
|
|
|
update,
|
|
|
|
control,
|
2023-08-28 16:55:23 +02:00
|
|
|
account,
|
|
|
|
design,
|
2023-06-23 17:45:50 -05:00
|
|
|
title,
|
|
|
|
pattern,
|
|
|
|
menu,
|
|
|
|
setSettings,
|
2023-08-30 16:57:46 +02:00
|
|
|
noHeader = false,
|
2023-06-23 17:45:50 -05:00
|
|
|
}) => (
|
|
|
|
<PanZoomContextProvider>
|
|
|
|
<div className="flex flex-col h-full">
|
2023-08-30 16:57:46 +02:00
|
|
|
{noHeader ? null : (
|
|
|
|
<ViewHeader
|
|
|
|
{...{
|
|
|
|
settings,
|
|
|
|
ui,
|
|
|
|
update,
|
|
|
|
control,
|
|
|
|
account,
|
|
|
|
design,
|
|
|
|
setSettings,
|
|
|
|
}}
|
|
|
|
/>
|
|
|
|
)}
|
2023-06-24 17:26:09 -05:00
|
|
|
<div className="flex lg:flex-row grow lg:max-h-[90vh] max-h-[calc(100vh-3rem)] h-full py-4 lg:mt-6">
|
2023-06-23 17:45:50 -05:00
|
|
|
<div className="lg:w-2/3 flex flex-col h-full grow px-4">
|
|
|
|
{title}
|
|
|
|
{pattern}
|
|
|
|
</div>
|
2023-06-29 14:35:46 +00:00
|
|
|
{menu && <MenuWrapper order={1}>{menu}</MenuWrapper>}
|
2023-06-23 17:45:50 -05:00
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</PanZoomContextProvider>
|
|
|
|
)
|