- Added "+ Register App" button and `#appDrawer` form to `src/features/admin/apps_fragments.tsx`.
- Implemented action buttons (Edit, Delete) using HTML5 `data-*` attributes for safe JSON parsing.
- Implemented global `openCreateAppDrawer`, `openEditAppDrawer`, `closeAppDrawer`, `handleSaveApp`, and `deleteApp` handlers in `public/admin-scripts.js`.
- Fixed missing `spiffe_id` property mapping in payload.
- Added corresponding Role and Invite handlers to `public/admin-scripts.js` for completeness.
- Verified components render correctly via assertions in `src/features/admin/admin.test.ts`.
Co-authored-by: google-labs-jules[bot] <161369871+google-labs-jules[bot]@users.noreply.github.com>
Co-authored-by: mrteye <1945243+mrteye@users.noreply.github.com>
- Scaffold shared UI fragments and styles in src/shared/ui/
- Implement full Auth vertical slice in src/features/auth/ with WebAuthn ceremonies and recovery endpoints
- Implement full Admin vertical slice in src/features/admin/ with responsive tables and mobile decks
- Add public client-side JS utilities and pure JS BIP-39 module
- Mount routes in src/main.ts and keep legacy server/ and ui/ quarantined
- Add pure JSX and API tests for Auth and Admin slices