feat(berths): split Documents tab into Spec + Deal Documents

Berth detail page now has two tabs:
  - Spec: the existing versioned berth-spec PDF surface (current panel,
    version history, parser badge).
  - Deal Documents: NEW. Lists EOIs / contracts / etc. attached to
    interests currently linked to this berth via interest_berths.

New service helper listDealDocumentsForBerth joins documents →
interests → interest_berths with a port_id guard on both sides.
GET /api/v1/berths/[id]/deal-documents wraps it, gated on berths.view.

Read-only — title, type, status badge, and an Open link to the source
interest page. Edits / sends still happen on the interest's own page.
The Spec tab paragraph now points reps to the new Deal Documents tab
instead of telling them to navigate via Interests.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-05-09 18:37:16 +02:00
parent b93fdadb59
commit 72f50b681c
5 changed files with 184 additions and 5 deletions

View File

@@ -164,8 +164,8 @@ export function BerthDocumentsTab({ berthId }: { berthId: string }) {
<div className="space-y-6">
<p className="text-sm text-muted-foreground">
Berth-spec PDF: the dimensional drawing or surveyor sheet for this slip. Versioned so a
misparse can be rolled back. For documents tied to a prospect on this berth (EOI, contract,
etc.), open the matching deal in the Interests tab.
misparse can be rolled back. Deal documents (EOI, contract, etc.) live on the &ldquo;Deal
Documents&rdquo; tab.
</p>
<Card>
<CardHeader className="flex flex-row items-center justify-between pb-3">