diff --git a/app/renderer/components/CliErrorPanel.tsx b/app/renderer/components/CliErrorPanel.tsx
index b2525ca..9cf0805 100644
--- a/app/renderer/components/CliErrorPanel.tsx
+++ b/app/renderer/components/CliErrorPanel.tsx
@@ -16,7 +16,7 @@ export function cliErrorDisplay(error: CliError): { title: string; message: stri
if (isPermissionCliError(error)) {
return {
title: 'Permission denied',
- message: 'permission denied — grant Full Disk Access',
+ message: 'permission denied; grant Full Disk Access',
tone: 'amber',
}
}
diff --git a/app/renderer/sections/Compare.tsx b/app/renderer/sections/Compare.tsx
index fe3a327..b559c2d 100644
--- a/app/renderer/sections/Compare.tsx
+++ b/app/renderer/sections/Compare.tsx
@@ -81,7 +81,7 @@ export function Compare({
if (next === modelB) setModelB(nudgeDistinct(next))
}}
>
- {modelRows.map(model => )}
+ {modelRows.map(model => )}
vs
{modelA && modelB && modelA !== modelB && (
diff --git a/app/renderer/sections/Overview.tsx b/app/renderer/sections/Overview.tsx
index 885f5f0..cbd1617 100644
--- a/app/renderer/sections/Overview.tsx
+++ b/app/renderer/sections/Overview.tsx
@@ -171,7 +171,7 @@ function deriveAnomalies(data: MenubarPayload, now: Date): Anomaly[] {
}
if (data.current.cacheHitPercent < 50) {
- anomalies.push({ lead: 'Cache hit is low (', value: `${Math.round(data.current.cacheHitPercent)}%`, tail: ') — more of your context is uncached.' })
+ anomalies.push({ lead: 'Cache hit is low (', value: `${Math.round(data.current.cacheHitPercent)}%`, tail: '). More of your context is uncached.' })
}
return anomalies.slice(0, 3)
}
diff --git a/app/renderer/sections/Plans.test.tsx b/app/renderer/sections/Plans.test.tsx
index cc225f4..48e2429 100644
--- a/app/renderer/sections/Plans.test.tsx
+++ b/app/renderer/sections/Plans.test.tsx
@@ -95,7 +95,7 @@ describe('Plans', () => {
expect(claudeFill).toHaveStyle({ width: '100%' })
expect(claudeFill).toHaveClass('over')
- const hotPace = screen.getByText('On pace to exceed — projected $254.00 by Jul 14')
+ const hotPace = screen.getByText('On pace to exceed; projected $254.00 by Jul 14')
expect(hotPace).toHaveClass('pace', 'hot')
expect(screen.getByText('Cursor Pro')).toBeInTheDocument()
@@ -135,7 +135,7 @@ describe('Plans', () => {
render()
- const pace = await screen.findByText('85% of budget used — projected $280.00 by Jul 14')
+ const pace = await screen.findByText('85% of budget used; projected $280.00 by Jul 14')
expect(pace).toHaveClass('pace', 'hot')
expect(screen.queryByText(/On pace to exceed/)).not.toBeInTheDocument()
})
@@ -179,6 +179,6 @@ describe('Plans', () => {
render()
expect(await screen.findByText('Permission denied')).toBeInTheDocument()
- expect(screen.getByText('permission denied — grant Full Disk Access')).toHaveStyle({ color: 'var(--amber)' })
+ expect(screen.getByText('permission denied; grant Full Disk Access')).toHaveStyle({ color: 'var(--amber)' })
})
})
diff --git a/app/renderer/sections/Plans.tsx b/app/renderer/sections/Plans.tsx
index 814a7fa..774ac06 100644
--- a/app/renderer/sections/Plans.tsx
+++ b/app/renderer/sections/Plans.tsx
@@ -154,14 +154,14 @@ function PaceLine({ plan }: { plan: JsonPlanSummary }) {
if (plan.status === 'over' || plan.projectedMonthEnd > plan.budget) {
return (
- On pace to exceed — projected {formatUsd(plan.projectedMonthEnd)} by {endLabel}
+ On pace to exceed; projected {formatUsd(plan.projectedMonthEnd)} by {endLabel}
)
}
if (plan.status === 'near') {
return (
- {fmtPct(plan.percentUsed)} of budget used — projected {formatUsd(plan.projectedMonthEnd)} by {endLabel}
+ {fmtPct(plan.percentUsed)} of budget used; projected {formatUsd(plan.projectedMonthEnd)} by {endLabel}