feat: Add project type and status fields to project forms and views, including database migrations

This commit is contained in:
Chop
2025-06-04 22:53:33 +02:00
parent e136c9f0e8
commit 49d49b42f1
6 changed files with 138 additions and 6 deletions

View File

@@ -0,0 +1,38 @@
"use client";
import { useState } from "react";
export default function ProjectStatusDropdown({ project, onStatusChange }) {
const [status, setStatus] = useState(project.project_status);
const [loading, setLoading] = useState(false);
const handleChange = async (e) => {
const newStatus = e.target.value;
setStatus(newStatus);
setLoading(true);
await fetch(`/api/projects/${project.project_id}`, {
method: "PUT",
headers: { "Content-Type": "application/json" },
body: JSON.stringify({ ...project, project_status: newStatus }),
});
setLoading(false);
if (onStatusChange) onStatusChange(newStatus);
};
return (
<select
name="project_status"
value={status}
onChange={handleChange}
className="ml-2 border p-1 rounded"
disabled={loading}
>
<option value="registered">Zarejestrowany</option>
<option value="in_progress_design">W realizacji (projektowanie)</option>
<option value="in_progress_construction">
W realizacji (realizacja)
</option>
<option value="fulfilled">Zakończony</option>
</select>
);
}