chore(copy): em-dash sweep across user-facing JSX text + bump lint to error
Replaced 174 em-dashes (—) with " - " (space-hyphen-space) across 49 files in src/components + src/app. The em-dash reads as a tell-tale "AI-generated" marker per the user's design feedback; hyphens with spaces preserve the connector semantics without the AI tint. Touched only lines outside pure-comment context (// /* * */). Code comments, JSDoc, audit-log strings, structured logging strings, and templates outside the lint scope retain their em-dashes for now — they're not user-visible. Also captured two remaining cases that used the `—` HTML entity instead of the literal character (system-monitoring-dashboard, interest-stage-picker) — replaced with a plain hyphen. Bumped the existing `no-restricted-syntax` rule from `warn` → `error` in eslint.config.mjs scoped to src/components/**/*.tsx + src/app/**/*.tsx. New code reintroducing em-dashes in JSX text now fails the lint gate. Verified: tsc clean, vitest 1448/1448, eslint 0 em-dash warnings. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -231,10 +231,10 @@ export function CreateDocumentWizard({ portSlug }: CreateDocumentWizardProps) {
|
||||
</SelectTrigger>
|
||||
<SelectContent>
|
||||
<SelectItem value="documenso-template">
|
||||
Generated EOI — rendered + signed externally
|
||||
Generated EOI - rendered + signed externally
|
||||
</SelectItem>
|
||||
<SelectItem value="inapp">
|
||||
Manual EOI — rendered in CRM, sent for e-signature
|
||||
Manual EOI - rendered in CRM, sent for e-signature
|
||||
</SelectItem>
|
||||
</SelectContent>
|
||||
</Select>
|
||||
|
||||
@@ -133,7 +133,7 @@ export function EoiCancelDialog({ documentId, signers, open, onOpenChange }: Eoi
|
||||
))}
|
||||
</ul>
|
||||
<p className="text-xs italic text-muted-foreground">
|
||||
Leave all unchecked to cancel silently — no emails will be sent.
|
||||
Leave all unchecked to cancel silently - no emails will be sent.
|
||||
</p>
|
||||
</div>
|
||||
)}
|
||||
|
||||
@@ -262,7 +262,7 @@ export function EoiGenerateDialog({
|
||||
|
||||
const persistMissingFields = async (): Promise<void> => {
|
||||
if (!clientId) {
|
||||
toastError(new Error('Client ID missing — refresh the page.'));
|
||||
toastError(new Error('Client ID missing - refresh the page.'));
|
||||
return;
|
||||
}
|
||||
setFixSaving(true);
|
||||
@@ -363,7 +363,7 @@ export function EoiGenerateDialog({
|
||||
{
|
||||
key: 'dimensions',
|
||||
label: `Dimensions (L × W × D, ${effectiveDimensionUnit})`,
|
||||
value: ctx.yacht ? dimensionsForRender.map((v) => v ?? '—').join(' × ') : null,
|
||||
value: ctx.yacht ? dimensionsForRender.map((v) => v ?? ' - ').join(' × ') : null,
|
||||
},
|
||||
{
|
||||
key: 'berth',
|
||||
@@ -481,7 +481,7 @@ export function EoiGenerateDialog({
|
||||
Generate Expression of Interest
|
||||
</SheetTitle>
|
||||
<SheetDescription>
|
||||
Review the values that will be auto-filled. Edit anything inline — changes save back to
|
||||
Review the values that will be auto-filled. Edit anything inline - changes save back to
|
||||
the client / interest record automatically. The EOI is generated once everything looks
|
||||
right.
|
||||
</SheetDescription>
|
||||
@@ -497,7 +497,7 @@ export function EoiGenerateDialog({
|
||||
</SelectTrigger>
|
||||
<SelectContent>
|
||||
<SelectItem value={DOCUMENSO_TEMPLATE_VALUE}>
|
||||
Standard EOI — sent for e-signature (recommended)
|
||||
Standard EOI - sent for e-signature (recommended)
|
||||
</SelectItem>
|
||||
{inAppTemplates.map((t) => (
|
||||
<SelectItem key={t.id} value={t.id}>
|
||||
@@ -555,7 +555,7 @@ export function EoiGenerateDialog({
|
||||
<div className="space-y-1 border-t pt-2">
|
||||
<div className="flex items-center justify-between">
|
||||
<p className="text-[10px] font-semibold uppercase tracking-wide text-muted-foreground">
|
||||
Optional (Section 3 — left blank if absent)
|
||||
Optional (Section 3 - left blank if absent)
|
||||
</p>
|
||||
{ctx.yacht ? (
|
||||
<div className="inline-flex rounded-md border bg-muted/30 p-0.5 text-[11px]">
|
||||
@@ -662,7 +662,7 @@ export function EoiGenerateDialog({
|
||||
Missing required client details
|
||||
</p>
|
||||
<p className="text-[11px] text-amber-800/80">
|
||||
Fill the fields below — they'll be saved to the client's record before
|
||||
Fill the fields below - they'll be saved to the client's record before
|
||||
the EOI renders.
|
||||
</p>
|
||||
</div>
|
||||
@@ -804,7 +804,7 @@ export function EoiGenerateDialog({
|
||||
</SheetFooter>
|
||||
</SheetContent>
|
||||
|
||||
{/* Phase 3c — nested yacht-spawn Sheet. Pre-selects the linked
|
||||
{/* Phase 3c - nested yacht-spawn Sheet. Pre-selects the linked
|
||||
client as owner so the rep only types the yacht-specific
|
||||
fields. After save, PATCH the interest with the new yachtId so
|
||||
the EOI's yacht block populates without a manual re-link. */}
|
||||
@@ -917,7 +917,9 @@ function PreviewRow({
|
||||
)
|
||||
) : (
|
||||
<>
|
||||
<span className="flex-1">{value ?? (missing ? 'Missing — required' : 'Not set')}</span>
|
||||
<span className="flex-1">
|
||||
{value ?? (missing ? 'Missing - required' : 'Not set')}
|
||||
</span>
|
||||
{edit ? (
|
||||
<button
|
||||
type="button"
|
||||
@@ -1004,7 +1006,7 @@ function OverridableContactField({
|
||||
)}
|
||||
>
|
||||
<span className="flex-1">
|
||||
{effective ?? (missing ? 'Missing — required' : 'Not set')}
|
||||
{effective ?? (missing ? 'Missing - required' : 'Not set')}
|
||||
{override?.value != null ? (
|
||||
<span className="ml-1 inline-flex items-center rounded bg-amber-100 px-1 text-[10px] font-medium text-amber-800">
|
||||
[EOI]
|
||||
@@ -1265,7 +1267,7 @@ function OverridableAddressField({
|
||||
)}
|
||||
>
|
||||
<span className="flex-1">
|
||||
{effectiveSummary ?? (missing ? 'Missing — required' : 'Not set')}
|
||||
{effectiveSummary ?? (missing ? 'Missing - required' : 'Not set')}
|
||||
{override ? (
|
||||
<span className="ml-1 inline-flex items-center rounded bg-amber-100 px-1 text-[10px] font-medium text-amber-800">
|
||||
[EOI]
|
||||
|
||||
@@ -73,7 +73,7 @@ export function NewDocumentMenu({
|
||||
<div className="flex flex-col">
|
||||
<span>Upload file</span>
|
||||
<span className="text-xs text-muted-foreground">
|
||||
Drop or browse — stored in the current folder
|
||||
Drop or browse - stored in the current folder
|
||||
</span>
|
||||
</div>
|
||||
</DropdownMenuItem>
|
||||
@@ -83,7 +83,7 @@ export function NewDocumentMenu({
|
||||
<div className="flex flex-col">
|
||||
<span>Generate document for signing</span>
|
||||
<span className="text-xs text-muted-foreground">
|
||||
EOI, contract, or custom — sent for e-signature
|
||||
EOI, contract, or custom - sent for e-signature
|
||||
</span>
|
||||
</div>
|
||||
</Link>
|
||||
|
||||
Reference in New Issue
Block a user