import type React from "react"; import { useState } from "react"; import { ArrayIcon, GlobeIcon, IconComponent, InboxIcon, InfoSignIcon, LabTestIcon, LayersIcon, majorScale, Pane, SettingsIcon, Tab, Tablist, } from "evergreen-ui"; import { PeersDialog } from "@app/components/Dialog/PeersDialog.js"; import { Page, useDevice } from "@app/core/stores/deviceStore.js"; import { DeviceCard } from "./DeviceCard.js"; interface NavLink { name: string; icon: IconComponent; page: Page; disabled?: boolean; } export const Sidebar = (): JSX.Element => { const { activePage, setActivePage } = useDevice(); const [PeersDialogOpen, setPeersDialogOpen] = useState(false); const navLinks: NavLink[] = [ { name: "Messages", icon: InboxIcon, page: "messages", }, { name: "Map", icon: GlobeIcon, page: "map", disabled: true, }, { name: "Extensions", icon: LabTestIcon, page: "extensions", }, { name: "Config", icon: SettingsIcon, page: "config", }, { name: "Channels", icon: LayersIcon, page: "channels", }, { name: "Info", icon: InfoSignIcon, page: "info", }, ]; return ( {navLinks.map((Link) => ( { setActivePage(Link.page); }} > {Link.name} ))} { setPeersDialogOpen(true); }} > Peers { setPeersDialogOpen(false); }} /> ); };