Counts skip plural() and a few labels read awkwardly #121

Closed
opened 2026-10-09 19:55:49 -04:00 by goddard · 1 comment
Collaborator

Some counts and labels slip from the guide's phrasing.

  • ui-patterns.md:109-111 says to use plural or countLabel (ui/plural.ts:5,9), but these don't: scripts/+page.svelte:254 ("1 of 1 scripts"), plugins/+page.svelte:348 ("0 of 0 plugins") and campaigns/+page.svelte:221 (a progress bar's label, "1 of 1 servers complete").
  • fleet/overview.ts:140 builds "Stop needs attention", which reads like an instruction.
  • ui/server-health.ts:76 builds "Frankfurt · Europe's host agent is unavailable", a possessive on a label.

Screenshots

Before:
Before

After (mockup):
After (mockup)

Before:
Before

After (mockup):
After (mockup)

Before:
Before

After (mockup):
After (mockup)

Fix

  • Use plural or countLabel in those three places
  • Reword to "Stop operation needs attention" and "The host agent on Frankfurt · Europe is unavailable"
Some counts and labels slip from the guide's phrasing. - `ui-patterns.md:109-111` says to use `plural` or `countLabel` (`ui/plural.ts:5,9`), but these don't: `scripts/+page.svelte:254` ("1 of 1 scripts"), `plugins/+page.svelte:348` ("0 of 0 plugins") and `campaigns/+page.svelte:221` (a progress bar's label, "1 of 1 servers complete"). - `fleet/overview.ts:140` builds "Stop needs attention", which reads like an instruction. - `ui/server-health.ts:76` builds "Frankfurt · Europe's host agent is unavailable", a possessive on a label. **Screenshots** Before: ![Before](https://gitea.thewrightserver.net/attachments/49ef7c41-281f-4cc4-a0e5-049bbba7bc9d) After (mockup): ![After (mockup)](https://gitea.thewrightserver.net/attachments/5e607885-c89e-4f33-86e1-139c5b1059d9) Before: ![Before](https://gitea.thewrightserver.net/attachments/6a7da4cb-0357-4e1a-8c65-5fcab9ffa841) After (mockup): ![After (mockup)](https://gitea.thewrightserver.net/attachments/341ce0cb-653b-4492-9936-471d2f8e2455) Before: ![Before](https://gitea.thewrightserver.net/attachments/c6c9fa0d-9544-43a1-baf1-d1589112568e) After (mockup): ![After (mockup)](https://gitea.thewrightserver.net/attachments/205b0c51-a14b-4d30-8cca-449a3a40e83b) **Fix** - [x] Use `plural` or `countLabel` in those three places - [x] Reword to "Stop operation needs attention" and "The host agent on Frankfurt · Europe is unavailable"
goddard added the
priority
low
type/ux
labels 2026-10-09 19:55:49 -04:00
josh was assigned by goddard 2026-10-09 19:55:49 -04:00
Author
Collaborator

Reviewed d93a766578 against current HEAD 2e6eb0bdb0. Both fix items are done, so I'm closing this.

Checklist

  • Shared pluralization at all three sites. Scripts and Plugins list counts now use plural with the full collection count. The campaign progress accessible label uses the server count. Each noun follows the denominator, so singular, empty and filtered counts remain grammatical.
  • Clear operation and host wording. The shared fleet/server operation reader now produces Stop operation needs attention for a failed stop. Host status uses The host agent on <name> is unavailable, preserving the unnamed-host fallback and the warning that the game may still be running.

Review notes

  • Combined #120/#121 validation at the stated HEAD passed: 13 relevant test files, 229 tests. Relevant coverage includes the changed host-health test, shared pluralization, fleet operation attention, campaign progress/title logic and Scripts/Plugins route rendering.
  • npm run check passed with zero Svelte errors or warnings; npm run lint passed. The application worktree remains unchanged.
  • The exact three count expressions and stop-operation wording were also inspected directly; the existing tests do not assert every changed string. No blocking regressions found.
Reviewed d93a76657896ba4a25184b51984690887bf6d5f5 against current HEAD 2e6eb0bdb01d4adbb7af0edb813068b530e9fbbb. Both fix items are done, so I'm closing this. **Checklist** - [x] **Shared pluralization at all three sites.** Scripts and Plugins list counts now use `plural` with the full collection count. The campaign progress accessible label uses the server count. Each noun follows the denominator, so singular, empty and filtered counts remain grammatical. - [x] **Clear operation and host wording.** The shared fleet/server operation reader now produces `Stop operation needs attention` for a failed stop. Host status uses `The host agent on <name> is unavailable`, preserving the unnamed-host fallback and the warning that the game may still be running. **Review notes** - Combined #120/#121 validation at the stated HEAD passed: 13 relevant test files, 229 tests. Relevant coverage includes the changed host-health test, shared pluralization, fleet operation attention, campaign progress/title logic and Scripts/Plugins route rendering. - `npm run check` passed with zero Svelte errors or warnings; `npm run lint` passed. The application worktree remains unchanged. - The exact three count expressions and stop-operation wording were also inspected directly; the existing tests do not assert every changed string. No blocking regressions found.
Sign in to join this conversation.