import { useState } from "react"; import { Button, Dialog, DialogContent, DialogFooter, DialogHeader, DialogTitle, } from "@common/components"; import type { UpperCodeCandidateItem } from "@/entities/statistics/model/ppltn/statistics-domestic-population-interface"; interface UpperCodeSelectDialogProps { open: boolean; onOpenChange: (open: boolean) => void; candidates: UpperCodeCandidateItem[]; onSelect: (item: UpperCodeCandidateItem) => void; } export const UpperCodeSelectDialog = ({ open, onOpenChange, candidates, onSelect, }: UpperCodeSelectDialogProps) => { const [selectedCode, setSelectedCode] = useState(null); const handleSelect = () => { const item = candidates.find((c) => c.adstCd === selectedCode); if (!item) return; onSelect(item); onOpenChange(false); setSelectedCode(null); }; const handleClose = () => { onOpenChange(false); setSelectedCode(null); }; return ( 상위 코드 리스트 {/* 테이블 */}
코드 동명
{/* 스크롤 영역 분리 */}
{candidates.length === 0 ? ( ) : ( candidates.map((item) => ( setSelectedCode(item.adstCd)} className={`cursor-pointer border-b border-gray-200 transition-colors ${selectedCode === item.adstCd ? "bg-blue-100" : "hover:bg-gray-50" }`} > )) )}
후보 코드가 없습니다.
{item.adstCd} {item.adstDstrNm}
); };