"use client"; import React, { useState } from "react"; import { Card, CardContent } from "@/components/ui/card"; import { Button } from "@/components/ui/button"; import { Input } from "@/components/ui/input"; import { Label } from "@/components/ui/label"; import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from "@/components/ui/select"; import { Collapsible, CollapsibleContent, CollapsibleTrigger } from "@/components/ui/collapsible"; import { ChevronDown, Settings } from "lucide-react"; interface AdvancedSettingsProps { connectionType: "data_save" | "external_call"; } /** * ⚙️ 고급 설정 패널 * - 트랜잭션 설정 * - 배치 처리 설정 * - 로깅 설정 */ const AdvancedSettings: React.FC = ({ connectionType }) => { const [isOpen, setIsOpen] = useState(false); const [settings, setSettings] = useState({ batchSize: 1000, timeout: 30, retryCount: 3, logLevel: "INFO", }); const handleSettingChange = (key: string, value: string | number) => { setSettings((prev) => ({ ...prev, [key]: value })); }; return ( {connectionType === "data_save" && ( <> {/* 트랜잭션 설정 - 컴팩트 */}

🔄 트랜잭션 설정

handleSettingChange("batchSize", parseInt(e.target.value))} className="h-7 text-xs" />
handleSettingChange("timeout", parseInt(e.target.value))} className="h-7 text-xs" />
handleSettingChange("retryCount", parseInt(e.target.value))} className="h-7 text-xs" />
)} {connectionType === "external_call" && ( <> {/* API 호출 설정 - 컴팩트 */}

🌐 API 호출 설정

handleSettingChange("timeout", parseInt(e.target.value))} className="h-7 text-xs" />
handleSettingChange("retryCount", parseInt(e.target.value))} className="h-7 text-xs" />
)} {/* 로깅 설정 - 컴팩트 */}

📝 로깅 설정

{/* 설정 요약 - 더 컴팩트 */}
배치: {settings.batchSize.toLocaleString()} | 타임아웃: {settings.timeout}s | 재시도:{" "} {settings.retryCount} | 로그: {settings.logLevel}
); }; export default AdvancedSettings;