'use client' import React, { useState } from 'react' import { createSDKDSR } from '@/lib/sdk/dsr/api' export function DSRCreateModal({ onClose, onSuccess }: { onClose: () => void onSuccess: () => void }) { const [type, setType] = useState('access') const [subjectName, setSubjectName] = useState('') const [subjectEmail, setSubjectEmail] = useState('') const [description, setDescription] = useState('') const [source, setSource] = useState('web_form') const [isSaving, setIsSaving] = useState(false) const [error, setError] = useState(null) const deadline = new Date() deadline.setDate(deadline.getDate() + 30) const deadlineStr = deadline.toLocaleDateString('de-DE') const handleSubmit = async (e: React.FormEvent) => { e.preventDefault() if (!subjectName.trim() || !subjectEmail.trim()) return setIsSaving(true) setError(null) try { await createSDKDSR({ type, requester: { name: subjectName.trim(), email: subjectEmail.trim() }, requestText: description.trim(), source }) onSuccess() } catch (err: unknown) { setError(err instanceof Error ? err.message : 'Unbekannter Fehler') } finally { setIsSaving(false) } } return (
{/* Backdrop */}
{/* Modal */}

Neue Anfrage anlegen

{error && (
{error}
)}
{/* Type */}
{/* Subject Name */}
setSubjectName(e.target.value)} required className="w-full px-3 py-2 border border-gray-300 rounded-lg focus:ring-2 focus:ring-purple-500 focus:border-purple-500 text-sm" placeholder="Vor- und Nachname" />
{/* Subject Email */}
setSubjectEmail(e.target.value)} required className="w-full px-3 py-2 border border-gray-300 rounded-lg focus:ring-2 focus:ring-purple-500 focus:border-purple-500 text-sm" placeholder="email@beispiel.de" />
{/* Description */}