refactor(terminology): "deal" → "interest" sweep + route rename

Step 7 per PRE-DEPLOY-PLAN § 1.7. The canonical noun for an in-flight
sales record is "interest" everywhere in the codebase — entity name,
schema, kanban label, URL, etc. Customer-visible "deal" remnants are
either a holdover from pre-refactor copy or hand-written admin
descriptions that drifted.

Sweeps applied:

- /admin/qualification-criteria description: "before a deal moves out
  of the Enquiry stage" → "before an interest moves out…"
- /admin/documenso descriptions (×3): "per-deal upload-and-place…" →
  "per-interest upload-and-place…"; "upload per deal" → "upload per
  interest"; "drafted per deal" → "drafted per interest".
- bulk-archive-wizard.tsx placeholder: "late-stage deal" → "late-stage
  interest".
- smart-archive-dialog.tsx title: "Late-stage deal" → "Late-stage
  interest".
- /api/v1/berths/[id]/deal-documents → /api/v1/berths/[id]/interest-documents
  (route directory renamed; the single in-tree caller in
  berth-deal-documents-tab.tsx updated to match; React Query key also
  switched to "berth-interest-documents" for cache hygiene).

The `BerthDealDocumentsTab` component name + `berth-deal-documents-tab.tsx`
file path are intentionally left as-is — pure aliases, internal to the
codebase, churn cost > readability win. Rename when next touched.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-05-14 15:50:56 +02:00
parent 66869c9a90
commit 2a2673e328
6 changed files with 11 additions and 9 deletions

View File

@@ -32,9 +32,9 @@ export function BerthDealDocumentsTab({ berthId }: { berthId: string }) {
const portSlug = params?.portSlug ?? '';
const { data: docs = [], isLoading } = useQuery<BerthDealDoc[]>({
queryKey: ['berth-deal-documents', berthId],
queryKey: ['berth-interest-documents', berthId],
queryFn: () =>
apiFetch<{ data: BerthDealDoc[] }>(`/api/v1/berths/${berthId}/deal-documents`).then(
apiFetch<{ data: BerthDealDoc[] }>(`/api/v1/berths/${berthId}/interest-documents`).then(
(r) => r.data,
),
});

View File

@@ -228,7 +228,7 @@ function BulkArchiveWizardBody({ open, onOpenChange, clientIds, onSuccess }: Pro
[currentHighStakes.clientId]: e.target.value,
}))
}
placeholder="Why are you archiving this late-stage deal? (≥ 5 chars)"
placeholder="Why are you archiving this late-stage interest? (≥ 5 chars)"
rows={3}
/>
</div>

View File

@@ -313,7 +313,7 @@ function SmartArchiveDialogBody({
<CardHeader className="pb-2">
<CardTitle className="text-sm font-medium text-amber-900 flex items-center gap-2">
<AlertTriangle className="h-4 w-4" aria-hidden />
Late-stage deal confirmation required
Late-stage interest confirmation required
</CardTitle>
</CardHeader>
<CardContent className="text-xs text-amber-900">