"use client"; import React, { type FormEvent, useState } from "react"; import type { CreateRoomInput, FloorDto, RoomDto } from "../types"; import { FormModal } from "./form-modal"; interface RoomModalProps { floors: FloorDto[]; initialRoom?: RoomDto; initialValues?: Partial; isSaving: boolean; onClose: () => void; onDelete?: () => void; onSave: (input: CreateRoomInput) => Promise; } export function RoomModal({ floors, initialRoom, initialValues, isSaving, onClose, onDelete, onSave, }: RoomModalProps) { const [roomNumber, setRoomNumber] = useState( initialRoom?.roomNumber ?? initialValues?.roomNumber ?? "" ); const [roomName, setRoomName] = useState( initialRoom?.roomName ?? initialValues?.roomName ?? "" ); const [floorId, setFloorId] = useState( initialRoom?.floorId ?? initialValues?.floorId ?? "" ); async function handleSubmit(event: FormEvent) { event.preventDefault(); if (!roomNumber.trim() || !roomName.trim()) return; await onSave({ floorId: floorId || undefined, roomNumber: roomNumber.trim(), roomName: roomName.trim(), }); } return (
setRoomNumber(event.target.value)} required value={roomNumber} />
setRoomName(event.target.value)} required value={roomName} />
{initialRoom && onDelete ? (

In Stromkreisen verwendete Räume können nicht gelöscht werden.

) : null}
); }