"use client"; import { useEffect, useState } from "react"; import { useParams } from "next/navigation"; import { Badge, Button, WorkInProgress, LoadingSpinner } from "ikoncomponents"; import { CustomTabs } from "ikoncomponents"; import { getProjectByIdentifierApi } from "@/app/utils/api/projectApi"; import { Project } from "../types/project"; import SummaryTab from "./component/summaryTab"; import RiskComponent from "./component/riskTab"; import ExpenseTab from "./component/expenseTab"; import { getProductsApi } from "@/app/utils/api/productOfProjectApi"; import { ProductOfProject } from "@/app/utils/interface/productOfProject"; import IssueComponent from "./component/issueTab"; import MomTab from "./component/momTab"; import ScheduleTab from "./component/scheduleTab"; import ResourcesTab from "./component/resourceTab"; export default function ProjectDetailsPage() { const { projectIdentifier } = useParams(); const [project, setProject] = useState(null); const [product, setProduct] = useState(null); const [projectLoading, setProjectLoading] = useState(true); const [productLoading, setProductLoading] = useState(true); useEffect(() => { const loadProject = async () => { try { const data = await getProjectByIdentifierApi( projectIdentifier as string ); setProject(data); } finally { setProjectLoading(false); } }; loadProject(); }, [projectIdentifier]); useEffect(() => { const loadProductDetails = async () => { try { const data = await getProductsApi( projectIdentifier as string ); setProduct(Array.isArray(data) ? (data[0] ?? null) : null); } finally { setProductLoading(false); } }; loadProductDetails(); }, [projectIdentifier]); if (projectLoading || productLoading) return (
); if (!project) return
Project not found
; return (
{/* Header */} {/* CustomTabs */} , }, { tabName: "Schedule", tabId: "schedule", default: false, tabContent: ( ), }, { tabName: "Resources", tabId: "resources", default: false, tabContent: , }, { tabName: "Expenses", tabId: "expenses", default: false, tabContent: , }, // { // tabName: "VOs", // tabId: "vos", // default: false, // tabContent: , // }, { tabName: "Risks", tabId: "risks", default: false, tabContent: projectIdentifier ? ( ) : null, }, { tabName: "Issues", tabId: "issues", default: false, tabContent: ( ), }, { tabName: "MOM", tabId: "Moms", default: false, tabContent: ( ), }, // { // tabName: "Settings", // tabId: "settings", // default: false, // tabContent: , // }, ]} />
); }