feat: Integrate ProjectStatusDropdown component into ProjectViewPage for dynamic project status updates

This commit is contained in:
Chop
2025-06-04 22:58:39 +02:00
parent 49d49b42f1
commit 931ec3012d
2 changed files with 17 additions and 13 deletions

View File

@@ -11,6 +11,7 @@ import Link from "next/link";
import { differenceInCalendarDays, parseISO } from "date-fns";
import PageContainer from "@/components/ui/PageContainer";
import PageHeader from "@/components/ui/PageHeader";
import ProjectStatusDropdown from "@/components/ProjectStatusDropdown";
export default function ProjectViewPage({ params }) {
const { id } = params;
@@ -159,17 +160,20 @@ export default function ProjectViewPage({ params }) {
<span className="text-sm font-medium text-gray-500">
Status projektu
</span>
<p className="text-gray-900">
{project.project_status === "registered"
? "Zarejestrowany"
: project.project_status === "in_progress_design"
? "W realizacji (projektowanie)"
: project.project_status === "in_progress_construction"
? "W realizacji (realizacja)"
: project.project_status === "fulfilled"
? "Zakończony"
: "-"}
</p>
<div className="flex items-center gap-2 mt-1">
<span className="text-gray-900">
{project.project_status === "registered"
? "Zarejestrowany"
: project.project_status === "in_progress_design"
? "W realizacji (projektowanie)"
: project.project_status === "in_progress_construction"
? "W realizacji (realizacja)"
: project.project_status === "fulfilled"
? "Zakończony"
: "-"}
</span>
<ProjectStatusDropdown project={project} />
</div>
</div>
</CardContent>
</Card>

View File

@@ -2,7 +2,7 @@
import { useState } from "react";
export default function ProjectStatusDropdown({ project, onStatusChange }) {
export default function ProjectStatusDropdown({ project }) {
const [status, setStatus] = useState(project.project_status);
const [loading, setLoading] = useState(false);
@@ -16,7 +16,7 @@ export default function ProjectStatusDropdown({ project, onStatusChange }) {
body: JSON.stringify({ ...project, project_status: newStatus }),
});
setLoading(false);
if (onStatusChange) onStatusChange(newStatus);
window.location.reload();
};
return (