|
import React, { ReactNode } from "react"; |
|
import { Allotment } from "allotment"; |
|
import { LayoutPriority } from "allotment/dist/types/src/split-view"; |
|
|
|
interface Pane { |
|
panelA: ReactNode; |
|
panelB: ReactNode; |
|
panelC: ReactNode; |
|
lastPanelVisibility: boolean; |
|
} |
|
|
|
const EditorPanel = ({ panelA, panelB, panelC, lastPanelVisibility }: Pane) => { |
|
return ( |
|
<div style={{ height: "calc(100vh - 8rem)" }}> |
|
<Allotment> |
|
<Allotment.Pane>{panelA}</Allotment.Pane> |
|
|
|
<Allotment onVisibleChange={function noRefCheck() {}} vertical={true}> |
|
<Allotment.Pane |
|
priority={"HIGH" as LayoutPriority} |
|
preferredSize="70%" |
|
visible |
|
> |
|
{panelB} |
|
</Allotment.Pane> |
|
|
|
<Allotment.Pane |
|
preferredSize="30%" |
|
priority={"LOW" as LayoutPriority} |
|
snap |
|
visible={lastPanelVisibility} |
|
> |
|
{panelC} |
|
</Allotment.Pane> |
|
</Allotment> |
|
</Allotment> |
|
</div> |
|
); |
|
}; |
|
|
|
export default EditorPanel; |
|
|