"use client" import { Button } from "@/components/ui/button" import { Card } from "@/components/ui/card" import { Label } from "@/components/ui/label" import { RadioGroup, RadioGroupItem } from "@/components/ui/radio-group" import { Textarea } from "@/components/ui/textarea" import { Separator } from "@/components/ui/separator" import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from "@/components/ui/select" import DeliveryTypeSelector from "./DeliveryTypeSelector" import type { Order, Province, DeliveryType, CartTranslations, PaymentType } from "../types" interface OrderSummaryProps { order: Order translations: CartTranslations paymentType: PaymentType | null deliveryType: DeliveryType selectedRegion: string selectedProvince: number | null note: string regionGroups: Record availableRegions: string[] paymentTypes: PaymentType[] onPaymentTypeChange: (type: PaymentType) => void onDeliveryTypeChange: (type: DeliveryType) => void onRegionChange: (regionCode: string) => void onProvinceChange: (provinceId: number) => void onNoteChange: (note: string) => void onCompleteOrder: () => void isLoading: boolean } export default function OrderSummary({ order, translations: t, paymentType, deliveryType, selectedRegion, selectedProvince, note, regionGroups, availableRegions, paymentTypes, onPaymentTypeChange, onDeliveryTypeChange, onRegionChange, onProvinceChange, onNoteChange, onCompleteOrder, isLoading, }: OrderSummaryProps) { const provincesForSelectedRegion = selectedRegion ? regionGroups[selectedRegion] || [] : [] const isFormValid = selectedRegion && selectedProvince && paymentType return ( {/* Payment Type */}

{t.paymentType}

{paymentTypes.map((type) => ( onPaymentTypeChange(type)} >
{type.name}
))}
{/* Delivery Type */} {/* Region Selection */}
{ onRegionChange(value) onProvinceChange(null as any) }} className="flex flex-wrap gap-4" > {availableRegions.map((regionCode) => (
))}
{/* Province Selection */} {selectedRegion && provincesForSelectedRegion.length > 0 && (
)} {/* Note */}