"use client"; import Link from "next/link"; import { RiHome6Fill, RiCompassLine, RiCompass3Fill, RiQuestionAnswerLine, RiAddFill, RiSettings4Fill, RiSettings4Line, } from "react-icons/ri"; import { HiOutlineLightningBolt } from "react-icons/hi"; import { cn } from "@/lib/utils"; import { Button } from "@/components/ui/button"; import { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, } from "@/components/ui/tooltip"; import dynamic from "next/dynamic"; import { useModal } from "@/app/_providers/modal/provider"; import { IconType } from "react-icons"; const ZapPickerModal = dynamic(() => import("@/components/Modals/ZapPicker"), { ssr: false, }); const AddNoteButton = dynamic(() => import("./components/AddNoteButton"), { ssr: false, }); type NavigationLink = { type: "link"; href: string; }; type NavigationButton = { type: "button"; onClick: () => void; }; type NavigationElement = { name: string; label: string; icon: IconType; current: boolean; active: boolean; } & (NavigationLink | NavigationButton); const flockstrEvent = { created_at: 1697736945, content: "Officially announcing Flockstr. Check it out at https://flockstr.com", tags: [ ["r", "https://flockstr.com"], ["client", "flockstr"], ], kind: 1, pubkey: "17717ad4d20e2a425cda0a2195624a0a4a73c4f6975f16b1593fc87fa46f2d58", id: "a867ff28711eeab4767fb6bacbb33dfe17b2b5bbbff98f8e57f90a85ea684b0a", sig: "37d8918e6da88d989467021a1f5809a3fbcab941ca1044d109ce261f29270d2d545aaa84297b7f224ae1ad7760263e50c317c24abc809034bcdb5c3260faf4b0", }; export default function Sidebar() { const modal = useModal(); const navigation: NavigationElement[] = [ { href: "/app", name: "home", label: "Home", icon: RiHome6Fill, type: "link", current: true, active: true, }, { href: "", name: "explore", label: "Explore", icon: RiCompassLine, type: "link", current: false, active: false, }, { href: "", name: "messages", label: "Messages", icon: RiQuestionAnswerLine, type: "link", current: false, active: false, }, { onClick: () => modal?.show(), name: "zap", label: "Zap Flockstr", icon: HiOutlineLightningBolt, type: "button", current: false, active: true, }, ]; return ( ); }