import { Stack, HStack, Link, type LinkProps, type StackProps, type BadgeProps, Badge } from "@chakra-ui/react" import { Link as RouterLink } from "react-router"; import { ExternalLinkIconRaw } from "./icons/ChakraIcons" interface SideNavItem { title: React.ReactNode url: LinkProps["href"] | undefined external?: boolean status?: string } interface SideNavProps { currentUrl?: string title: React.ReactNode id: string status?: string items: Array } const SideNavItem = (props: StackProps) => { return ( ) } export const SideNav = (props: SideNavProps) => { const { title, items, currentUrl, status } = props return ( {title && ( {title} {status && {status}} )} {items.map((item, index) => ( {item.external ? ( {item.title} {item.status && {item.status}} ) : ( {item.title} {item.status && {item.status}} )} ))} ) } export const SideNavItems = (props: {items: SideNavProps[], currentUrl?: string}) => { return (<> {props.items.map((x) => )} ) } const StatusBadge = (props: BadgeProps) => ( ) export const EXTERNAL_LINKS: SideNavProps = { title: 'Links', id: 'Links', items: [ { title: 'Services Monitor', url: 'https://status.multi-scrobbler.app', external: true }, { title: 'Docs (Latest)', url: 'https://docs.multi-scrobbler.app/', external: true }, { title: 'Docs (Self-Hosted)', url: '/docs', external: true }, { title: 'Code', url: 'https://github.com/FoxxMD/multi-scrobbler', external: true } ] } export const NAV_LINKS: SideNavProps[] = [ { title: 'Main', id: 'Main', items: [ { title: 'Dashboard', url: '/' }, { title: 'Settings', url: '/settings' } ] }, EXTERNAL_LINKS ];