"use client"; import { CollapsibleTrigger } from "@app/components/ui/collapsible"; import type { LauncherGroup } from "@server/routers/launcher/types"; import { ChevronDown, ChevronLeft } from "lucide-react"; type LauncherGroupTriggerProps = { group: LauncherGroup; title: string; isOpen: boolean; }; function LauncherGroupStatusDot({ group }: { group: LauncherGroup }) { if (group.groupType === "label") { return ( ); } if (group.groupType === "site") { if ( (group.siteType === "newt" || group.siteType === "wireguard") && typeof group.siteOnline === "boolean" ) { return ( ); } return ; } return null; } export function LauncherGroupTrigger({ group, title, isOpen }: LauncherGroupTriggerProps) { return ( {group.groupType === "site" || group.groupType === "label" ? ( ) : null} {title} ({group.itemCount}) {isOpen ? ( ) : ( )} ); }