import { chakra, useRecipe, useSlotRecipe, Box, Button, createIcon, CloseButton, IconButton, Stack, useDisclosure, Tooltip } from "@chakra-ui/react";
import { ColorModeButton } from "@/components/ui/color-mode";
import { FaVolcano } from "react-icons/fa6";
import { RxHamburgerMenu } from "react-icons/rx";
import { useState } from "react";
// ICONS
export const PushPin = createIcon({
displayName: "PushPin",
viewBox: "0 0 24 24",
fill: "none",
path: (
<>
>
),
});
export const Globe = createIcon({
displayName: "Globe",
viewBox: "0 0 24 24",
fill: "currentColor",
path: (
<>
>
),
});
export const MapMarker = createIcon({
displayName: "MapMarker",
viewBox: "0 0 24 24",
fill: "none",
path: (
<>
>
),
});
export const Users = createIcon({
displayName: "Users",
viewBox: "0 0 24 24",
fill: "currentColor",
path: (
<>
>
),
});
export default function Sidebar() {
const [isOpen, setIsOpen] = useState(true);
const [hasFinishedTransitions, setFinishedTransitions] = useState(false);
const buttons = [
{icon: PushPin, name: "Dashboard"},
{icon: Globe, name: "Global Map"},
{icon: MapMarker, name: "Regional Map"},
{icon: FaVolcano, name: "Volcano"},
{icon: Users, name: "Admin"}
];
const [activeButton, setActiveButton] = useState(0)
const recipe = useSlotRecipe({ key: "sidebar" });
const styles = recipe();
const toggleSidebar = () => {
setFinishedTransitions(false);
if (isOpen) setIsOpen(false);
else setIsOpen(true);
setTimeout(() => setFinishedTransitions(true), 400); // Match sidebar transition duration
};
return (
{buttons.map((button, idx) => {
const Icon = button.icon;
return (
)
})}
{/* Dashboard */}
{/* */}
{/* Global Map */}
{/* */}
{/* Regional Map */}
{/* */}
{/* Volcano */}
{/* */}
{/* Admin */}
{/* */}
);
}