learning_ai_notes/web
saravanakumardb1 2408f43426 feat(web/ui5+ui7): migrate 12 components to @bytelyst/ui primitives
Finishes UI5 and kicks off UI7 by migrating the remaining form-heavy
components plus the note-detail right-rail panels. Drops legacy class
matches from 92 → 67 (-25) and raw interactive controls from 38 → 25
(-13). Ratchet baseline updated to the new floor.

Components migrated:

UI5 finish:
- NoteEditor.tsx — surface-card wrapper → Card, title input → Input,
  Tiptap editor className updated to use border + bg classes instead
  of input-shell. Toolbar buttons left as raw (intentional, tightly
  styled icon controls).
- SmartActionsPanel.tsx — result panel surface-muted → Tailwind
  bg-[var(--nl-surface-muted)] utility.
- ArtifactPanel.tsx — section→Card, badge→Badge, all three input-shell
  inputs/selects/textareas→Input/Select/Textarea, surface-muted form
  shell + per-artifact row → Tailwind bg-utility, raw <button> Open
  → Button.
- CommandPalette.tsx — surface-card command sheet → Tailwind layered
  classes, search input → Input (now ref-forwarded), kind badge → Badge.

UI7 component pass:
- MetadataPanel.tsx — section→Card, tag badge→Badge.
- LinkedNotesPanel.tsx — section→Card, surface-muted link row →
  Tailwind bg-utility with hover state.
- PalaceStats.tsx — section→Card, inline styles → Tailwind utilities.
- ExtractedTasksPanel.tsx — surface-muted row → Tailwind.
- NoteVersionsPanel.tsx — all three section/surface-card variants →
  Card + raw button → preserved (interactive disclosure).
- Pagination.tsx — raw <button> Previous/Next → Button, surface-muted
  → built-in secondary variant.
- TaskReviewPanel.tsx — full migration: section→Card, badge→Badge,
  input-shell + textarea + raw button → Input/Textarea/Button.
- SurveyBanner.tsx — survey answer input-shell → Input.

Adapter changes:
- web/src/components/ui/Primitives.tsx — Input and Textarea now use
  React.forwardRef so callers like CommandPalette can attach refs.

Verified:
- pnpm --filter @notelett/web run typecheck: passes
- pnpm --filter @notelett/web test: 96/96 still pass
- pnpm run audit:ui:ratchet: at new baseline (25/67/0/0)
- pnpm run audit:ui: legacy class matches now in dashboard / search /
  workspaces / notes-detail / palace / chat pages (UI6/UI7 page targets)
2026-05-23 01:33:48 -07:00
..
e2e test(e2e): fix 4 pre-existing E2E failures and make port-conflict-proof 2026-05-23 00:50:29 -07:00
public feat: implement WEB_AI_FAST_ROADMAP (web + backend + docs) 2026-03-31 13:00:36 -07:00
scripts chore(web): add bundle analysis gate 2026-05-05 12:45:20 -07:00
src feat(web/ui5+ui7): migrate 12 components to @bytelyst/ui primitives 2026-05-23 01:33:48 -07:00
test-results chore: update dependencies 2026-03-29 10:50:57 -07:00
.env.example fix(platform): align mcp service urls 2026-05-05 09:19:11 -07:00
.gitignore test(e2e): fix 4 pre-existing E2E failures and make port-conflict-proof 2026-05-23 00:50:29 -07:00
Dockerfile fix: Update docker configuration for production deployment 2026-05-12 08:20:12 +00:00
eslint.config.mjs fix(lint): clear production lint blockers 2026-05-05 14:04:49 -07:00
next-env.d.ts test(e2e): fix 4 pre-existing E2E failures and make port-conflict-proof 2026-05-23 00:50:29 -07:00
next.config.ts fix(web): prepare Vercel build and standalone runtime 2026-03-31 06:05:16 +00:00
package.json test(e2e): fix 4 pre-existing E2E failures and make port-conflict-proof 2026-05-23 00:50:29 -07:00
playwright.config.ts test(e2e): fix 4 pre-existing E2E failures and make port-conflict-proof 2026-05-23 00:50:29 -07:00
tsconfig.json feat(repo): migrate notelett workspace to pnpm 2026-03-22 15:50:54 -07:00
vitest.config.ts fix(web): add Next.js module mocks for Vitest — all 14 tests pass (was 10/14) 2026-03-29 01:03:11 -07:00