Split page.tsx from ~2370 to ~1600 lines by extracting:
- NoteWidget: Markdown editor/preview, toolbar, checkbox toggle, all
formatting helpers (bold, italic, lists, links, code)
- CalendarWidget: Month grid, event tooltips, source selection,
next-events list, month navigation
Both components are self-contained with their own state where appropriate
(calendar month navigation, local content edits) while receiving data
and callbacks from the parent.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This flag allows Prisma to drop columns/tables when the schema changes,
which risks data loss on production upgrades. Without the flag, Prisma
will error instead of silently destroying data.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
The example file contained an actual key value. Replace with empty
placeholder and add key generation instructions to README.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Switch from fixed 48-column grid to responsive breakpoints:
- lg (>=1200px): 48 columns, free positioning (unchanged desktop behavior)
- md (>=900px): 24 columns, vertical compaction
- sm (>=600px): 12 columns, vertical compaction
- xs (<600px): 6 columns, vertical compaction
Widgets automatically reflow and stack on smaller screens instead of
being squished. Layout changes are only persisted from the desktop
breakpoint. Drag/resize editing is desktop-only.
Also adds mobile CSS refinements for topbar, tabs, and workspace padding.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Next.js 16 dashboard with configurable widgets (favorites, notes, calendar,
clock, calculator, search, domain-check), multi-tab support, user auth,
dark mode, and Docker deployment.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>