import React, { useState } from 'react'; import { Project } from '../types'; import { Icons } from './IconSet'; interface CreateProjectModalProps { isOpen: boolean; onClose: () => void; onCreate: (projectData: { title: string; description: string; category: Project['category']; }) => Promise; linkedPlayerName?: string | null; } const CreateProjectModal: React.FC = ({ isOpen, onClose, onCreate, linkedPlayerName }) => { const [title, setTitle] = useState(''); const [description, setDescription] = useState(''); const [category, setCategory] = useState('Enterprise'); const [loading, setLoading] = useState(false); const [error, setError] = useState(null); const categories = [ { value: 'Enterprise', label: 'Unternehmen', description: 'Firmen, Läden, Dienstleistungen' }, { value: 'Story Arc', label: 'Story Arc', description: 'Rollenspiel-Handlung, Quest' }, { value: 'Faction', label: 'Fraktion', description: 'Gruppe, Gilde, Organisation' }, { value: 'Black Market', label: 'Schwarzmarkt', description: 'Illegale Geschäfte (Vorsicht!)' }, ]; const handleSubmit = async (e: React.FormEvent) => { e.preventDefault(); if (!title.trim() || !description.trim()) { setError('Titel und Beschreibung sind erforderlich'); return; } try { setLoading(true); setError(null); await onCreate({ title: title.trim(), description: description.trim(), category }); onClose(); // Reset form setTitle(''); setDescription(''); setCategory('Enterprise'); } catch (err) { console.error('Error creating project:', err); setError('Fehler beim Erstellen des Projekts'); } finally { setLoading(false); } }; if (!isOpen) return null; return (

Neues Unternehmen erstellen

{/* Title */}
setTitle(e.target.value)} className="w-full bg-[#0b0b0d] border border-border rounded-lg p-3 text-sm text-gray-300 focus:border-accentInfo focus:outline-none" placeholder="z.B. DrKButz Architektur GmbH" required maxLength={100} />
{/* Category */}
{categories.map((cat) => ( ))}
{/* Description */}