diff --git a/client/src/components/dashboard/SettingsButton.jsx b/client/src/components/dashboard/SettingsButton.jsx
index c14ab21..6139ca0 100644
--- a/client/src/components/dashboard/SettingsButton.jsx
+++ b/client/src/components/dashboard/SettingsButton.jsx
@@ -28,9 +28,10 @@ export function SettingsButton() {
const recipe = useRecipe({key: "glassTab"});
const tabStyles = recipe();
- // Pull the glass container styles for the dropdown
+ // Pull the glass container styles for the dropdown and modal
const panelRecipe = useSlotRecipe({key: "glassPanel"});
const panelStyles = panelRecipe({layout: "dropdown"});
+ const modalStyles = panelRecipe({layout: "popover"});
const [isLibraryOpen, setIsLibraryOpen] = useState(false);
@@ -123,88 +124,104 @@ export function SettingsButton() {
Edit Layout
-
+
- setIsLibraryOpen(true)}
- cursor="pointer"
- _hover={{ WebkitTextStroke: "0.5px currentColor" }}
+ setIsLibraryOpen(true)}
+ cursor="pointer"
+ _hover={{
+ bg: {base: "rgba(0, 0, 0, 0.05)", _dark: "rgba(255, 255, 255, 0.1)"},
+ WebkitTextStroke: "0.5px currentColor"
+ }}
+ >
+ Widget Library
+
+
+
+
+ )}
+
+ {/* THE WIDGET LIBRARY MODAL (Controlled by isLibraryOpen) */}
+ setIsLibraryOpen(e.open)}
+ size="xl"
+ placement="center"
+ closeOnInteractOutside={true}
+ closeOnEscapeKeyDown={true}
>
- Widget Library
-
-
-
-
- )}
+ {/* Soft blur can be added to the background behind the modal */}
+ {/**/}
+
- {/* THE WIDGET LIBRARY MODAL (Controlled by isLibraryOpen) */}
- setIsLibraryOpen(e.open)}
- size="xl"
- placement="center"
- closeOnInteractOutside={true}
- closeOnEscapeKeyDown={true}
- >
-
-
-
-
- Add Dashboard Widgets
-
+
-
-
-
- {categories.map(cat => (
- {cat}
- ))}
-
+
+ Widgets Shop
+
- {categories.map(cat => (
-
-
- {categorizedWidgets[cat].map(widget => (
-
- {widget.name}
- {widget.description}
+
+
+
+ {categories.map(cat => (
+ {cat}
+ ))}
+
-
- Add
- to Grid:
-
- {Object.keys(widget.allowedSizes).map(sizeKey => (
- handleAddWidget(widget.id, sizeKey)}
- colorScheme="gray"
- variant="subtle"
- px={3}
- py={1}
- borderRadius="full"
- cursor="pointer"
- _hover={{bg: "blue.50", color: "blue.600", transform: "scale(1.05)"}}
- transition="all 0.2s"
+ {categories.map(cat => (
+
+
+ {categorizedWidgets[cat].map(widget => (
+
-
- {sizeKey.charAt(0).toUpperCase() + sizeKey.slice(1)}
-
+ {widget.name}
+ {widget.description}
+
+
+
+ Add to Grid:
+
+
+ {Object.keys(widget.allowedSizes).map(sizeKey => (
+ handleAddWidget(widget.id, sizeKey)}
+ color={{base: "blue.600", _dark: "blue.300"}}
+ >
+
+ {sizeKey.charAt(0).toUpperCase() + sizeKey.slice(1)}
+
+ ))}
+
+
+
))}
-
-
-
- ))}
-
-
- ))}
-
-
-
-
-
-
+
+
+ ))}
+
+
+
+
+
+
>
);
}
\ No newline at end of file
diff --git a/client/src/theme.js b/client/src/theme.js
index 4001470..d59c24f 100644
--- a/client/src/theme.js
+++ b/client/src/theme.js
@@ -220,8 +220,8 @@ const glassPanelRecipe = defineSlotRecipe({
bg: { base: "rgba(255, 255, 255, 0.75)", _dark: "rgba(20, 22, 25, 0.8)" },
// OVERRIDES: Increase the blur just to smooth out any stubborn gridlines
- backdropFilter: "blur(20px)",
- WebkitBackdropFilter: "blur(20px)",
+ backdropFilter: "blur(15px)",
+ WebkitBackdropFilter: "blur(15px)",
}
}
}