fix(frontend): code-review polish — replaceState, arrow-key nav, TabId, comment
Fix 4: useHashTab navigate() uses history.replaceState instead of window.location.hash assignment — no spurious history entries, no anchor-jump scroll side-effect. Fix 5: Tabs ArrowLeft/ArrowRight keyboard nav (WAI-ARIA tabs pattern). Fix 6: TabId union type in EngagementDetailPage, cast from string for type-safe switch on activeTab without breaking Tabs.onChange signature. Fix 7: intentional comment on UsersAdminPage reset-password aerated row. Tests: 236/236 (+2 arrow-key assertions in Tabs.test.tsx). Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -248,6 +248,7 @@ export function UsersAdminPage(): JSX.Element {
|
||||
</tr>
|
||||
{resetOpen === u.id ? (
|
||||
<tr className="border-b border-hairline last:border-0 bg-cloud">
|
||||
{/* Aerated row — inline form needs room; compact-density tradeoff intentional */}
|
||||
<td colSpan={4} className="px-xl py-md">
|
||||
<form
|
||||
onSubmit={(e) => onResetPassword(u, e)}
|
||||
|
||||
Reference in New Issue
Block a user