"use client" import * as React from "react" import { Check, ChevronsUpDown } from "lucide-react" import { cn } from "@/lib/utils" import { Button } from "@/components/ui/button" import { Command, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, } from "@/components/ui/command" import { Popover, PopoverContent, PopoverTrigger, } from "@/components/ui/popover" interface PackageData { packageCode: string packageName: string | null } interface ProjectData { projectId: number projectCode: string projectName: string projectType: string packages: PackageData[] } interface ProjectSwitcherProps { isCollapsed: boolean projects: ProjectData[] selectedProjectId: number selectedPackageCode: string | null onSelectPackage: (projectId: number, packageCode: string) => void } export function ProjectSwitcher({ isCollapsed, projects, selectedProjectId, selectedPackageCode, onSelectPackage, }: ProjectSwitcherProps) { const [open, setOpen] = React.useState(false) // 현재 선택된 프로젝트와 패키지 정보 const selectedProject = projects.find(p => p.projectId === selectedProjectId) const selectedPackage = selectedProject?.packages.find( pkg => pkg.packageCode === selectedPackageCode ) const displayText = selectedPackage ? `${selectedProject?.projectCode} - ${selectedPackage.packageCode}` : selectedProject?.projectCode || "Select Package" return ( No package found. {projects.map((project) => ( {project.packages.map((pkg) => ( { onSelectPackage(project.projectId, pkg.packageCode) setOpen(false) }} className="text-sm" >
{pkg.packageCode} {pkg.packageName && ( {pkg.packageName} )}
))}
))}
) }