What problem does it solve?
Portal UI changes in the Authgear React frontend frequently ship with subtle bugs: untranslated strings hidden in chart configs, links that render as unstyled plain text inside FluentUI Text wrappers, and config forms that silently save unrelated edits or restate server-side defaults. This Skill encodes the conventions and known traps so these defects are caught before review.
Core Features & Use Cases
- i18n enforcement: Ensures every user-facing string, including chart.js labels, tooltips, and Intl/luxon formatted values, goes through renderToString/FormattedMessage with the active portal locale.
- Link component rules: Distinguishes Link, ExternalLink, and LinkButton from bare-anchor components like react-router-dom's Link and ReactRouterLink, which lose styling inside FluentUI Text.
- Config-backed form guidance: Covers useAppConfigForm pitfalls such as restating server defaults, missing parentJSONPointer/fieldName error binding, and per-control saveWith calls.
- Use Case: When adding a new settings tab to the portal, apply this Skill to bind validation errors to fields, translate all labels, and verify copy against the enforcing Go code before submitting.
Quick Start
Review my changes to portal/src for untranslated strings, wrong link components, and config form issues using the update-portal-ui guidelines.