Add persistant widget state across sidebar 'dashboard' button and canvas header nav 'my dashboard' button

This commit is contained in:
Daniel S. Hansen
2025-07-25 13:19:09 -07:00
parent 2544d1bbdb
commit 5f17293ac6
4 changed files with 33 additions and 15 deletions
+16 -1
View File
@@ -11,6 +11,16 @@ export default function Dashboard() {
// Lifted State - defaults to widget dashboard
const [view, setView] = useState("widget");
const [layout, setLayout] = useState([
{ i: '0', x: 0, y: 0, w: 3, h: 3, minH: 3, minW: 1, static: true },
{ i: '1', x: 3, y: 0, w: 3, h: 3, minH: 3, minW: 1, static: true },
{ i: '2', x: 6, y: 0, w: 3, h: 3, minH: 3, minW: 1, static: true }
]);
const onLayoutChange = (newLayout) => {
setLayout(newLayout);
console.log('Updated layout:', newLayout)
};
return (
<>
@@ -62,7 +72,12 @@ export default function Dashboard() {
<Sidebar onChangeView={ setView }/>
</GridItem>
<GridItem colSpan={1} width="100%" overflow="auto">
<Canvas view={ view }/>
<Canvas
view={ view }
layout={ layout }
setLayout={ setLayout }
onLayoutChange={( newLayout ) => setLayout( newLayout )}
/>
</GridItem>
</Grid>
</>