2025-07-21 14:12:32 -07:00
|
|
|
// This Canvas component will be used to dynamically populate
|
|
|
|
|
// the main canvas section of the web App with a default state
|
2025-07-24 12:08:10 -07:00
|
|
|
// of 'WidgetCanvas'
|
2025-07-23 12:03:06 -07:00
|
|
|
|
2025-07-28 13:32:03 -07:00
|
|
|
import { Box, useRecipe } from "@chakra-ui/react";
|
2025-07-23 12:03:06 -07:00
|
|
|
import GlobalMapCanvas from "./views/GlobalMapCanvas";
|
|
|
|
|
import RegionalMapCanvas from "./views/RegionalMapCanvas";
|
|
|
|
|
import VolcanoCanvas from "./views/VolcanoCanvas";
|
|
|
|
|
import AdminCanvas from "./views/AdminCanvas";
|
2025-07-29 14:47:03 -07:00
|
|
|
import AccountCanvas from "./views/AccountCanvas"
|
|
|
|
|
import SettingsCanvas from "./views/SettingsCanvas"
|
2025-07-24 12:08:10 -07:00
|
|
|
import { DashboardCanvas } from "./views/DashboardCanvas";
|
2025-07-29 11:04:29 -07:00
|
|
|
import { DASHBOARD_VIEWS } from "@/constants/viewKeys";
|
2025-07-21 13:01:16 -07:00
|
|
|
|
2025-08-04 13:44:35 -07:00
|
|
|
export default function Canvas({ onCancel, isEditable, setIsEditable, isDelete, setIsDelete, view, layout, setLayout, setOriginalLayout, onLayoutChange, onChangeView }) {
|
2025-07-28 13:32:03 -07:00
|
|
|
const recipe = useRecipe({ key: "canvas" });
|
|
|
|
|
const styles = recipe();
|
|
|
|
|
|
2025-07-24 12:08:10 -07:00
|
|
|
return (
|
|
|
|
|
<Box height="100%" width="100%">
|
2025-07-29 11:51:33 -07:00
|
|
|
{/* Check if view is a tab inside the Canvas Header */}
|
2025-07-29 11:04:29 -07:00
|
|
|
{ DASHBOARD_VIEWS.includes(view) && (
|
2025-07-29 09:59:17 -07:00
|
|
|
<DashboardCanvas
|
|
|
|
|
view={ view }
|
2025-07-25 13:19:09 -07:00
|
|
|
layout={ layout }
|
|
|
|
|
setLayout={ setLayout }
|
2025-07-31 12:23:45 -07:00
|
|
|
setOriginalLayout={ setOriginalLayout }
|
2025-07-25 13:19:09 -07:00
|
|
|
onLayoutChange={ onLayoutChange }
|
2025-07-31 12:23:45 -07:00
|
|
|
onChangeView={ onChangeView }
|
2025-07-31 12:40:46 -07:00
|
|
|
onCancel={ onCancel }
|
2025-07-31 12:23:45 -07:00
|
|
|
isEditable={ isEditable }
|
|
|
|
|
setIsEditable={ setIsEditable }
|
|
|
|
|
isDelete={ isDelete }
|
|
|
|
|
setIsDelete={ setIsDelete }
|
2025-07-29 11:04:29 -07:00
|
|
|
/>
|
|
|
|
|
)}
|
2025-07-24 12:08:10 -07:00
|
|
|
{view === "global" && <GlobalMapCanvas />}
|
|
|
|
|
{view === "regional" && <RegionalMapCanvas />}
|
|
|
|
|
{view === "volcano" && <VolcanoCanvas />}
|
|
|
|
|
{view === "admin" && <AdminCanvas />}
|
2025-07-29 14:47:03 -07:00
|
|
|
{view === "account" && <AccountCanvas />}
|
|
|
|
|
{view === "settings" && <SettingsCanvas />}
|
2025-07-24 12:08:10 -07:00
|
|
|
</Box>
|
|
|
|
|
);
|
|
|
|
|
}
|