import { useState } from "react"; import { Blocks, Home, Palette, Settings } from "lucide-react"; import { Button, Card, CardContent, ContextMenu, ContextMenuContent, ContextMenuItem, ContextMenuTrigger, LoadingScreen, OnboardingFlow, Select, SelectContent, SelectItem, SelectTrigger, SelectValue, Sidebar, SidebarContent, SidebarFooter, SidebarGroup, SidebarGroupContent, SidebarInset, SidebarMenu, SidebarMenuItem, SidebarProvider, Tabs, TabsContent, TabsList, TabsTrigger, ThemeCustomizer, ThemeOnboardingPage, type OnboardingStep, } from "@methanium/ui"; import { MarkdownShowcase } from "./MarkdownShowcase"; const navigation = [ { label: "Banana", icon: Home, variant: "default" }, { label: "Orange", icon: Blocks, variant: "subtleDefault" }, { label: "Apple", icon: Palette, variant: "outline" }, { label: "Kiwi", icon: Settings, variant: "secondary" }, { label: "Ghost", icon: Settings, variant: "ghost" }, ] as const; type Category = "conversations" | "communities"; function CategorySwitch() { const [category, setCategory] = useState("conversations"); function toggleCategory() { setCategory((current) => current === "conversations" ? "communities" : "conversations", ); } return (
{(["conversations", "communities"] as const).map((value) => ( ))}
); } export default function App() { const [showOnboarding, setShowOnboarding] = useState(false); const [showLoading, setShowLoading] = useState(false); const [onboardingThemeId, setOnboardingThemeId] = useState( null, ); const steps: OnboardingStep[] = [ { id: "welcome", title: "Usually the legal stuff", description: "but this is a showcase, so continue", content: <>, }, { id: "theme", title: "Customisation", description: "Let's just hope you don't get into decision paralysis", content: ( ), defaultCanContinue: false, }, ]; if (showOnboarding) return (
setShowOnboarding(false)} />
); if (showLoading) return (
); return ( {navigation.map(({ label, icon: Icon, variant }) => ( ))} Right Click Me item 1 item 2 One Two First tab Second tab
Cool card
Privacy Policy
); }