"use client"; import React from "react"; import * as DialogPrimitive from "@radix-ui/react-dialog"; import { VisuallyHidden } from "@radix-ui/react-visually-hidden"; import { X } from "lucide-react"; import { Dialog, DialogPortal, DialogOverlay, DialogClose, DialogTitle, } from "@/components/ui/dialog"; import type { CustomPackageUnit } from "../types"; export const PACKAGE_UNITS = [ { value: "box", label: "๋ฐ•์Šค", emoji: "๐Ÿ“ฆ" }, { value: "bag", label: "ํฌ๋Œ€", emoji: "๐Ÿ›๏ธ" }, { value: "pack", label: "ํŒฉ", emoji: "๐Ÿ“‹" }, { value: "bundle", label: "๋ฌถ์Œ", emoji: "๐Ÿ”—" }, { value: "roll", label: "๋กค", emoji: "๐Ÿงป" }, { value: "barrel", label: "ํ†ต", emoji: "๐Ÿชฃ" }, ] as const; export type PackageUnit = (typeof PACKAGE_UNITS)[number]["value"]; interface PackageUnitModalProps { open: boolean; onOpenChange: (open: boolean) => void; onSelect: (unit: string) => void; enabledUnits?: string[]; customUnits?: CustomPackageUnit[]; } export function PackageUnitModal({ open, onOpenChange, onSelect, enabledUnits, customUnits, }: PackageUnitModalProps) { const handleSelect = (unitValue: string) => { onSelect(unitValue); onOpenChange(false); }; // enabledUnits๊ฐ€ undefined๋ฉด ์ „์ฒด ํ‘œ์‹œ, ๋ฐฐ์—ด์ด๋ฉด ํ•„ํ„ฐ๋ง const filteredDefaults = enabledUnits ? PACKAGE_UNITS.filter((u) => enabledUnits.includes(u.value)) : [...PACKAGE_UNITS]; const allUnits = [ ...filteredDefaults.map((u) => ({ value: u.value, label: u.label, emoji: u.emoji })), ...(customUnits || []).map((cu) => ({ value: cu.id, label: cu.label, emoji: "๐Ÿ“ฆ" })), ]; return ( ํฌ์žฅ ๋‹จ์œ„ ์„ ํƒ

ํฌ์žฅ ๋‹จ์œ„ ์„ ํƒ

{allUnits.map((unit) => ( ))}
{allUnits.length === 0 && (
์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ํฌ์žฅ ๋‹จ์œ„๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค
)} Close
); }