Persist project locations
This commit is contained in:
@@ -204,14 +204,19 @@ export default function ProjectDetailPage() {
|
||||
|
||||
async function handleCreateFloor(event: FormEvent<HTMLFormElement>) {
|
||||
event.preventDefault();
|
||||
if (!projectId || !floorName.trim()) {
|
||||
if (!projectId || !project || !floorName.trim()) {
|
||||
return;
|
||||
}
|
||||
setIsSaving(true);
|
||||
setError(null);
|
||||
try {
|
||||
const created = await createFloor(projectId, { name: floorName.trim() });
|
||||
setFloors((current) => [...current, created]);
|
||||
const result = await createFloor(
|
||||
projectId,
|
||||
{ name: floorName.trim() },
|
||||
project.currentRevision
|
||||
);
|
||||
setFloors((current) => [...current, result.floor]);
|
||||
applyProjectRevision(result.history.currentRevision);
|
||||
setFloorName("");
|
||||
} catch (err) {
|
||||
setError(err instanceof Error ? err.message : "Etage konnte nicht erstellt werden.");
|
||||
@@ -222,18 +227,28 @@ export default function ProjectDetailPage() {
|
||||
|
||||
async function handleCreateRoom(event: FormEvent<HTMLFormElement>) {
|
||||
event.preventDefault();
|
||||
if (!projectId || !roomNumber.trim() || !roomName.trim()) {
|
||||
if (
|
||||
!projectId ||
|
||||
!project ||
|
||||
!roomNumber.trim() ||
|
||||
!roomName.trim()
|
||||
) {
|
||||
return;
|
||||
}
|
||||
setIsSaving(true);
|
||||
setError(null);
|
||||
try {
|
||||
const created = await createRoom(projectId, {
|
||||
floorId: roomFloorId || undefined,
|
||||
roomNumber: roomNumber.trim(),
|
||||
roomName: roomName.trim(),
|
||||
});
|
||||
setRooms((current) => [...current, created]);
|
||||
const result = await createRoom(
|
||||
projectId,
|
||||
{
|
||||
floorId: roomFloorId || undefined,
|
||||
roomNumber: roomNumber.trim(),
|
||||
roomName: roomName.trim(),
|
||||
},
|
||||
project.currentRevision
|
||||
);
|
||||
setRooms((current) => [...current, result.room]);
|
||||
applyProjectRevision(result.history.currentRevision);
|
||||
setRoomNumber("");
|
||||
setRoomName("");
|
||||
setRoomFloorId("");
|
||||
|
||||
Reference in New Issue
Block a user