Add drop down menu to settings button

This commit is contained in:
Daniel S. Hansen
2025-07-14 12:10:10 -07:00
parent ebad1e792e
commit 1223ecc0b6
+43 -14
View File
@@ -1,21 +1,50 @@
import { IconButton, Box } from "@chakra-ui/react"; // This component displays a drop down menu when clicked, with custom functionality
// for 'Add Widget', 'Edit Widgets', and 'Remove Widgets'. This component will
// control settings related to the Widgets on the main canvas.
import { Button, Menu, Portal } from "@chakra-ui/react";
import { FiSettings } from "react-icons/fi"; import { FiSettings } from "react-icons/fi";
export function SettingsButton(props) { export function SettingsButton(props) {
const handleAddWidget = () => {
console.log("Add Widget clicked");
// TODO: Implement widget-adding logic
}
const handleEditWidgdets = () => {
console.log("Edit Widgets clicked")
// TODO: Implement widget-editing logic
}
const handleDeleteWidgets = () => {
console.log("Delete Widgets clicked");
// TODO: Implement widget-deletion logic
}
return ( return (
<IconButton // This uses Chakra's built in menu component
aria-label="Settings" <Menu.Root>
size="sm" <Menu.Trigger asChild>
variant="ghost" <Button variant="ghost" size="md">
color="gray.600" <FiSettings />
_hover={{ </Button>
bg: "gray.100", </Menu.Trigger>
color: "gray.800", <Portal>
}} <Menu.Positioner>
{...props} <Menu.Content>
> <Menu.Item onClick={handleAddWidget} value="addwidget">Add Widget</Menu.Item>
<FiSettings /> <Menu.Item onClick={handleEditWidgdets} value ="editwidget">Edit Widgets</Menu.Item>
</IconButton> <Menu.Item
onClick={handleDeleteWidgets}
color="fg.error"
_hover={{ bg: "bg.error", color: "fg.error "}}
>
Delete Widgets
</Menu.Item>
</Menu.Content>
</Menu.Positioner>
</Portal>
</Menu.Root>
); );
} }