Skip to content

paraglide: variants for bucket labels + empty-state + chip ARIA #511

@electather

Description

@electather

Part of epic #491. PRD US-011. Review comments on:

  • bucket-chips.tsx:15
  • empty.tsx:46
  • all-items/index.tsx:57
  • sort-select.tsx:12
  • lib/types.ts:41

Owner direction: "use paraglide variants for this" repeated across 5+ sites.

Goal

Bucket labels, empty-state copy, bucket-chip ARIA labels expressed as Paraglide variants keyed on {bucket} — one message instead of five near-identical entries per locale.

Acceptance criteria

  • messages/<locale>.json exposes variants:
    • watchlist_bucket_label({bucket})
    • watchlist_empty_title({bucket})
    • watchlist_empty_body({bucket})
    • watchlist_bucket_chip_aria({bucket})
  • * selector (or explicit default) handles unknown values without crash.
  • Old per-bucket flat messages deleted — no compat shims.
  • Paraglide generated message imports drive bucket chip + empty state copy — no string literals in components.
  • bucket-chips.tsx:84 chip count suggestion applied: <span className="font-mono text-xs tabular-nums opacity-70">{count}</span>.
  • Verify in browser: each bucket shows right copy; locale switch reflects immediately.

Reference

Use paraglide-js skill on first variant authoring. Match existing positional vs named match form in repo.

Metadata

Metadata

Assignees

No one assigned

    Labels

    scope: client@ent-mcp/client packagetype: featureNew capability or enhancement

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions