'use client'; import { useState } from 'react'; import { Dialog, DialogContent, DialogHeader, DialogTitle, } from '@/components/ui/dialog'; import { Button } from '@/components/ui/button'; import { Card } from '@/components/ui/card'; import { NumberingTemplate, numberingApi } from '@/lib/api/numbering'; import { Loader2 } from 'lucide-react'; import { Input } from '@/components/ui/input'; interface TemplateTesterProps { open: boolean; onOpenChange: (open: boolean) => void; template: NumberingTemplate | null; } export function TemplateTester({ open, onOpenChange, template }: TemplateTesterProps) { const [testData, setTestData] = useState({ organizationId: "1", disciplineId: "1", year: new Date().getFullYear(), }); const [generatedNumber, setGeneratedNumber] = useState(''); const [loading, setLoading] = useState(false); const handleGenerate = async () => { if (!template) return; setLoading(true); try { // Note: generateTestNumber expects keys: organizationId, disciplineId const result = await numberingApi.generateTestNumber(template.templateId, { organizationId: testData.organizationId, disciplineId: testData.disciplineId }); setGeneratedNumber(result.number); } finally { setLoading(false); } }; return ( Test Number Generation
Template: {template?.templateFormat}

Template Tester

Test Parameters

setTestData({...testData, organizationId: e.target.value})} placeholder="Org ID" />
setTestData({...testData, disciplineId: e.target.value})} placeholder="Disc ID" />

Format: {template?.templateFormat}

{generatedNumber && (

Generated Number:

{generatedNumber}

)}
); }