Back to Estimates
Estimate Workspace
{estimate?.name ?? "Loading estimate"}
Use the tabs below to inspect the connected estimate structure, version context, and staffing breakdown without relying on spreadsheet tabs.
{estimate && (
{estimate.project ? `${estimate.project.shortCode} - ${estimate.project.name}` : "Standalone estimate"}
Updated {formatDateLong(estimate.updatedAt)}
{canEdit && hasWorkingVersion && (
)}
)}
{!canViewCosts ? (
Your role can access the estimate list, but not the detailed financial workspace.
) : detailQuery.isLoading ? (
Loading estimate workspace...
) : detailQuery.error ? (
{detailQuery.error.message}
) : !estimate ? (
Estimate not found.
) : (
<>
{actionMessage &&
{actionMessage}}
{actionError &&
{actionError}}
{TABS.map((item) => (
))}
{isEditing ? (
setIsEditing(false)}
onSaved={() => {
setIsEditing(false);
}}
/>
) : (
<>
{tab === "overview" && }
{tab === "assumptions" && }
{tab === "scope" && }
{tab === "staffing" && }
{tab === "financials" && }
{tab === "phasing" && (
)}
{tab === "versions" && (
)}
{tab === "exports" && (
)}
{tab === "comments" && (
Comments
)}
>
)}
>
)}
);
}