"use client"; import React from "react"; import { Label } from "@/components/ui/label"; import { Input } from "@/components/ui/input"; import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from "@/components/ui/select"; import { CodePartType, DATE_FORMAT_OPTIONS } from "@/types/numbering-rule"; interface AutoConfigPanelProps { partType: CodePartType; config?: any; onChange: (config: any) => void; isPreview?: boolean; } export const AutoConfigPanel: React.FC = ({ partType, config = {}, onChange, isPreview = false, }) => { // 1. 순번 (자동 증가) if (partType === "sequence") { return (
onChange({ ...config, sequenceLength: parseInt(e.target.value) || 3 }) } disabled={isPreview} className="h-8 text-xs sm:h-10 sm:text-sm" />

예: 3 → 001, 4 → 0001

onChange({ ...config, startFrom: parseInt(e.target.value) || 1 }) } disabled={isPreview} className="h-8 text-xs sm:h-10 sm:text-sm" />

순번이 시작될 번호

); } // 2. 숫자 (고정 자릿수) if (partType === "number") { return (
onChange({ ...config, numberLength: parseInt(e.target.value) || 4 }) } disabled={isPreview} className="h-8 text-xs sm:h-10 sm:text-sm" />

예: 4 → 0001, 5 → 00001

onChange({ ...config, numberValue: parseInt(e.target.value) || 0 }) } disabled={isPreview} className="h-8 text-xs sm:h-10 sm:text-sm" />

고정으로 사용할 숫자

); } // 3. 날짜 if (partType === "date") { return (

현재 날짜가 자동으로 입력됩니다

); } // 4. 문자 if (partType === "text") { return (
onChange({ ...config, textValue: e.target.value })} placeholder="예: PRJ, CODE, PROD" disabled={isPreview} className="h-8 text-xs sm:h-10 sm:text-sm" />

고정으로 사용할 텍스트 또는 코드

); } return null; };