Sprint C / UI5 — migrate the highest-leverage user-facing forms off the legacy 'input-shell' / inline-style pattern onto the @bytelyst/ui Input, Textarea, and AlertBanner primitives via the local Primitives.tsx adapter. Adapter additions (web/src/components/ui/Primitives.tsx): - Re-export AlertBanner, FormSection, and FieldGrid from @bytelyst/ui so product code never imports from the underlying package directly. Migrated screens: - web/src/app/(auth)/login/page.tsx - web/src/app/(auth)/register/page.tsx - web/src/app/(auth)/forgot-password/page.tsx - web/src/components/CreateWorkspaceModal.tsx Each migration replaces the ad-hoc 'input-shell' inputs and manual label/error/success divs with the Input (label + hint props), Textarea, and AlertBanner (tone='error'|'success') primitives. Inline style blocks are replaced with Tailwind utility classes that read from the existing --nl-* CSS custom properties so the visual tokens remain unchanged. The 3 auth pages alone remove 9 input-shell call sites; the CreateWorkspaceModal removes 2 more. Verified: - pnpm --filter @notelett/web run typecheck: passes - pnpm --filter @notelett/web run test: 96/96 pass - pnpm run verify: end-to-end green (backend 380/380, web 96/96, mobile 97/97) |
||
|---|---|---|
| .. | ||
| e2e | ||
| public | ||
| scripts | ||
| src | ||
| test-results | ||
| .env.example | ||
| .gitignore | ||
| Dockerfile | ||
| eslint.config.mjs | ||
| next-env.d.ts | ||
| next.config.ts | ||
| package.json | ||
| playwright.config.ts | ||
| tsconfig.json | ||
| vitest.config.ts | ||