Commit Graph

217 Commits

Author SHA1 Message Date
9ac7198b24 feat: localization (FR/ES/IT), portal date picker, font matching, quote cleanup
- Add French, Spanish, and Italian translations for full UI localization
- Add Italian to language selector; show native language names
- Fix Jump to Date calendar: use React portal with fixed positioning
  to prevent clipping by overflow:hidden ancestors
- Fix font matching: time grid tasks inherit from task font settings
  when at default values (0.75rem/500), matching someday list fonts
- CSS fallback chain: time-slot-task vars fall through to task vars
- Remove broken recite.vercel.app default quote URL
- Add date-fns locales (fr, es, it) for SimpleDatePicker

v1.21.0

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-08 20:54:13 +01:00
4c18d37bec feat: account number display, weekly goals export/import, calendar event fixes
- Show Account Number in Settings > Account for user identification
- Add weekly goals to JSON export/import with upsert-based merge
- Fix calendar events not appearing instantly (await cache ops, prevent
  provider force-refresh from overwriting optimistic updates)
- Add Sign Out button in Settings > Account for mobile accessibility
- Fix dateVerticalAlign persistence in profile API
- Fix quote API error handling for non-JSON responses
- Add Synology to CalendarEvent source type union

v1.20.0

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-08 19:56:21 +01:00
9863f8e28e feat: weekday case setting, right-aligned icons, font matching, calendar fixes
- Add weekday case setting (Normal/Capitalize/Uppercase) with DB persistence
- Move provider icons to end of line (right-aligned with marginLeft: auto)
  in both GridTaskBlock and TaskItem
- Make time grid task font inherit from task font settings as fallback
  instead of separate hardcoded defaults (0.75rem/500 → task font values)
- Fix Jump to Date calendar: center-aligned dropdown, dark mode support
  via CSS variables, proper border and shadow styling
- Add weekdayCase to Prisma schema, profile API, and translations (EN/DE)

v1.19.0

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-08 13:23:22 +01:00
05dab0720b feat: provider icons in time grid, fix weekday names persistence, calendar z-index
- Add sync provider icons (Google, Microsoft, Apple, Synology) to
  GridTaskBlock so they show in weekday time slots
- Add weekdayFormat and customWeekdayNames fields to Prisma schema
  and profile API so custom weekday names persist across reloads
- Fix Jump to Date calendar z-index by elevating container when open
- Fix someday textarea font to inherit from CSS instead of hardcoded values

v1.18.0

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-08 13:09:37 +01:00
7f04750e4a fix: provider icons on all tasks, font size matching, day header z-index
- Show sync provider icons (Google, Microsoft, Apple, Synology) on both
  someday and weekday tasks with fallback detection from externalId
- Remove hardcoded fontSize from someday tasks so they inherit CSS variables
- Remove line-height override for someday task text
- Bump day header z-index to 20 to prevent task overlap when scrolling
- Always propagate externalProvider when dragging tasks between slots

v1.17.2
2026-03-08 12:50:51 +01:00
f925c8cb7f chore: release v1.17.1 - Fixed TypeScript errors and added missing default value 2026-03-08 11:01:17 +01:00
77daa6e30b chore: release v1.17.0 - Reorganized settings, added Localisation tab, and refined UI layout 2026-03-08 10:30:28 +01:00
2ec09fdcca feat: full Synology bidirectional sync and fix someday list delete button
- Add createSynologyTask: new tasks in synced lists push to Synology CalDAV
- Wire Synology create into POST /api/tasks when somedayList is synced
- Fix someday list title input using width:100% instead of flex:1, which
  pushed the delete button off-screen making lists undeletable
- Slightly improved provider icon styling

v1.16.1

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-08 02:00:55 +01:00
fe41c153f7 feat: Synology bidirectional sync (push updates back to CalDAV)
Added updateSynologyTask and deleteSynologyTask functions that modify
VTODOs on the Synology CalDAV server. Wired into the sync PATCH handler
so completing/editing/deleting a Synology-synced task pushes changes back.
Also slightly increased provider icon size for better visibility.

v1.16.0

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-08 01:46:40 +01:00
aaa3705511 fix: include synology in external tasks query to prevent duplicate creation
The sync query filtered externalProvider for only 'google' and 'outlook',
missing 'synology'. This caused every sync cycle to treat all Synology
tasks as new, creating duplicates each time.

v1.15.10

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-08 01:37:35 +01:00
d9949f42d5 fix: add VTODO filter for Synology CalDAV sync and clean up debug logs
Synology tasks were not syncing because tsdav defaulted to VEVENT only.
Added explicit VTODO comp-filter to the CalDAV REPORT request.
Removed debug logging from sync routes.

v1.15.9

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-08 01:35:19 +01:00
f6b7a5d7a2 fix: move provider icon to flex sibling of task text for reliable visibility
Provider icon is now a sibling flex item inside .weekly-task-text
(same level as checkbox), not nested inside the title text span.
Larger size (11px) and higher opacity (0.6) for better visibility.

v1.15.8

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-08 00:51:15 +01:00
ecf774e0f9 fix: inherit provider from someday list when moving task to weekday slot
Tasks created locally in a synced someday list may not have
externalProvider set (if the sync to Google/etc failed). Now when
moving such a task to a weekday slot, the provider is inherited
from the source list and persisted to the DB.

v1.15.7

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-08 00:42:18 +01:00
031837cbb2 fix: wrap mobile task toolbar into two rows to prevent overflow
v1.15.6

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-08 00:30:02 +01:00
08ac46bb6b fix: move provider icon inline after task title for better visibility
Place the provider logo (Google/Microsoft/Apple/Synology) right after
the task title text so it's always visible and not hidden by the
task-actions toolbar. Only shown on weekday slots, not in someday area.

v1.15.5

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-08 00:28:45 +01:00
a592ac40e9 fix: move mobile task action toolbar above task text to prevent overlap
Use bottom: 100% instead of fixed top offset so toolbar always sits
above the task regardless of task height.

v1.15.4

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-08 00:12:34 +01:00
609874b288 fix: hide provider icons on someday tasks, show only when moved to weekday slots
v1.15.3

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-08 00:08:44 +01:00
57c1c0e1c3 fix: remove provider icon from front of synced tasks
Only keep the provider logo at the far right of each synced task.

v1.15.2

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-08 00:05:25 +01:00
3ea57fb8b4 UI: remove duplicate icons in Someday lists, left-align task actions, and fix mobile overlay. Version 1.15.1 2026-03-07 23:00:47 +01:00
9cde2e4de2 feat: provider logos on synced tasks, someday list drag & drop fix, hide recurrence for someday
- Show provider-specific icons (Google, Microsoft, Apple, Synology) before and after synced task titles
- Fix someday list reorder drag & drop: stable index calculation with drop indicator line
- Prevent dropping someday lists onto day slots (shows not-allowed cursor)
- Hide recurring button for someday tasks
- Fix Google Tasks subtask duplicates by filtering out child tasks from top-level list

v1.15.0

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-07 21:20:27 +01:00
76445bffc7 fix: copy .next/server to standalone dir in deploy scripts
Both boot-update.sh and update-server.sh were missing the
cp -r .next/server step, causing middleware-manifest.json
not found errors after deployment.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

v1.14.1
2026-03-07 19:23:45 +01:00
3d75d7b39b feat: subtask indicators, drag & drop fixes, font layout, someday scroll & Google Tasks sync
- Move subtask indicator badge outside text span for visibility
- Prevent parent task from hijacking subtask drag events
- Restructure font settings to 2-row layout (font dropdown + size/weight)
- Fix someday horizontal scroll with callback ref wheel handler
- Sync new tasks in Google-linked someday lists to Google Tasks

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

v1.14.0
2026-03-07 19:06:19 +01:00
2777601031 chore: change development port to 3000
v1.13.1
2026-03-07 17:39:26 +01:00
499b012d82 fix: CSS class slide animation, mobile dot, flex task indicators 2026-03-06 12:09:13 +01:00
5e235b65ad feat: expand local quote library with language-aware fallbacks
Add ~30 curated quotes (15 DE + 15 EN) to local quote library. Goal API
now uses local quotes as fallback for all languages, with ZenQuotes only
for English users. Frontend fetchMotivationalQuote also falls back to
local quotes instead of hardcoded English string.

v1.13.0
2026-03-05 15:45:39 +01:00
6574eeb65f feat: add backup/restore, task indicators, and multiple bug fixes
- Add JSON export/import for all tasks, anyday lists, and projects (Settings > Account > Backup & Restore)
- Add merge and replace import modes with confirmation for destructive replace
- Add resizable notes sidebar with drag handle on left edge
- Add subtask count indicator (indigo pill) on tasks that toggles subtask list
- Add note indicator (amber pill) on tasks that toggles inline notes
- Show Account ID in Settings > Account as read-only identifier
- Fix goal save bug: saved goals matching default text are no longer ignored
- Fix calendar week number using Monday within visible range instead of middle day
- Fix calendar events not appearing instantly by delaying sync refresh 3s
- Grey out URL field when creating events on Google/Outlook calendars

v1.12.0

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-05 15:39:37 +01:00
c5c713da11 feat: 5x longer week slide animation (1.75s vs 0.35s day) 2026-03-04 09:01:04 +01:00
c7fc01b782 Add Microsoft Auth and update Auth UI 2026-03-03 14:03:09 +01:00
aff9222f5f fix(lxc): copy .env file to standalone directory for env vars 2026-03-02 21:04:03 +01:00
b001845890 feat: mobile UX overhaul and fix Google OAuth
- Add touch-friendly task actions (tap-to-reveal toolbar)
- Add swipe gestures (right=complete, left=delete)
- Add compact mobile header with overflow menu
- Add FAB + bottom sheet for quick task creation
- Add mobile date picker as centered modal
- Add touch feedback CSS (scale on press, no sticky hover)
- Fix Google sign-in by adding allowDangerousEmailAccountLinking
- Fix Google Calendar OAuth using separate 'google-calendar' provider
  to avoid collision with NextAuth's Account records
- Update all API routes to support both provider names

v1.11.0

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-02 18:41:46 +01:00
58a35a0c44 fix(lxc): copy static and public folders to standalone directory for asset serving 2026-03-02 18:00:53 +01:00
d4a08f236d fix(lxc): Revert PORT to 3000 to fix Nginx gateway connection 2026-03-02 17:29:37 +01:00
6103ecc417 fix(lxc): explicitly pass NEXTAUTH_URL to standalone pm2 start 2026-03-02 13:58:46 +01:00
667b3f3b37 fix(lxc): explicitly start standalone server on PORT 3002 2026-03-02 09:21:17 +01:00
beb3281194 fix(v1.10.1): force dynamic for problematic APIs and improve Outlook sync logs 2026-03-02 08:26:14 +01:00
330d6fddc6 feat: support linebreaks in task titles with Shift+Enter
Replace input elements with textarea for task editing and creation.
Shift+Enter inserts a newline, Enter saves. Display uses pre-wrap.

v1.10.0

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-02 08:18:35 +01:00
163e9c1a07 feat: major update — mobile fix, auth decoupling, CalDAV perf, projects, fonts, quotes
Mobile fixes:
- Add viewport meta tag (was missing, causing broken mobile rendering)
- Make header nav controls visible on mobile (opacity-0 group-hover was invisible on touch)
- Add touch swipe gestures for day navigation on mobile
- Fix viewDays responsive override after profile load

Bug fixes:
- Fix goal save (WeeklyView used POST but route only had GET/PUT; fix to use PUT, add POST alias)
- Fix body key mismatch (goal → text) in goal save request

Auth & identity (Task 1):
- Add accountNumber (auto-increment) to User model for stable identity
- Fix OAuth flows: pass user CUID in state instead of email
- Google/Outlook callbacks now look up users by ID, not email
- Non-Gmail users can now connect Google Calendar/Tasks

CalDAV performance (Task 5):
- Embed CalDAV object URL in Apple event IDs (caldav::<url>::<uid> format)
- Delete/update now use O(1) direct URL access instead of O(n) full calendar scan
- Optimistic UI removal on delete (no blocking force-refresh)
- Legacy fallback for old-format IDs during transition

Apple Calendar data (Task 2):
- Pass URL, location, recurringEventId, isRecurring through full pipeline
- Add url, recurringEventId, isRecurring to CachedCalendarEvent schema
- Calendar cache now reads/writes all new fields

Projects (Task 6):
- New Project model (name, icon, color, description, order)
- CRUD API at /api/tasks/projects
- Tasks now support optional projectId with cascading nullify

Quotes (Task 4):
- Curated local quote database (50 quotes, DE+EN) with tag filtering
- Preset quote source APIs (ZenQuotes, Quotable, Forismatic, Type.fit)

Fonts (Task 7):
- FontPicker component with searchable dropdown and live preview
- /api/fonts endpoint (Google Fonts API proxy with 24h cache, fallback to 40 popular fonts)

Quick Settings (Task 8):
- QuickSettingsSidebar component (font size, spacing, show completed, start day, show lines)
- New user preferences: showCompletedTasks, showLines, startDayOffset, quoteSourceUrls

v1.9.0

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-01 17:55:49 +01:00
ecd9be03ce fix(lxc): remove duplicate property in WeeklyView and sync to v1.8.7 2026-03-01 16:06:13 +01:00
f70a235c57 fix(lxc): refactor boot and update scripts for safe migrations and standalone mode
chore(release): bump version to 1.8.6
2026-03-01 15:59:18 +01:00
dad44ca384 fix(api): use type assertions for User model to bypass prisma type-lag during build
chore(release): bump version to 1.8.5
2026-03-01 15:35:18 +01:00
7f1211a048 feat(settings): update default application settings for clean bright look
feat(db): add dayHeaderGap field to persist spacing settings

chore(release): bump version to 1.8.4
2026-03-01 15:30:23 +01:00
87cf48e6fd style(email): replace dark mode template with bright, clean aesthetic
chore(release): bump version to 1.8.3
2026-03-01 14:56:31 +01:00
74eec23443 fix(email): change fallback sender to carrylight.de to prevent SPAM rejection
chore(release): bump version to 1.8.2
2026-03-01 14:40:02 +01:00
95487cc83f fix(email): increase SMTP timeout to 15s to prevent email dispatch failures on slow connections
chore(release): bump version to 1.8.1
2026-03-01 14:14:52 +01:00
4d24044aa5 Bump version to 1.8.0 2026-03-01 12:08:30 +01:00
fcaadc1ce9 Refactor Someday area to grid layout with dynamic slots, fixed scrolling, and border refinements 2026-03-01 11:58:48 +01:00
dea7c387ea v1.7.0: Responsive mobile layout + boot update script
- Add responsive CSS breakpoints (480px/768px/1024px)
- Auto-adjust viewDays based on screen width
- Keep time column visible on mobile (compact)
- Add boot-update.sh for auto-update on reboot
- Fix Suspense boundary in verify-email page
- Bump version to 1.7.0
2026-02-27 13:03:25 +01:00
2133364e3d feat: email verification, auto-save settings, calendar UX improvements
- Email verification: 6-digit code + one-click link on signup
- SMTP integration with nodemailer (lazy-init, auto-detect TLS)
- Verify-email page with 6 input boxes, paste support, auto-submit
- Resend verification with 60s rate limiting
- Block login for unverified email accounts

- Auto-save settings: debounced 800ms save on all profile changes
- Redirect to calendar settings after OAuth connection
- Fix Google Calendar connection display after connecting
- Task actions hover toolbar: fix z-index/overflow clipping on first row
- Make day header sticky with proper stacking context
2026-02-27 08:57:15 +01:00
5ad92aa833 chore: remove dead apple-icloud dependency and fix build 2026-02-26 08:15:12 +01:00
f0672e5c68 feat: fix Docker deployment, OAuth redirects, event editing, and UI improvements
- Fix Docker build: resolve hooks-rules-of-hooks in GridTaskBlock, add Suspense
  boundary for useSearchParams, fix non-root user home dir and prisma binary path
- Add comprehensive DB migrations for missing columns/tables (WeeklyGoal,
  CachedCalendarEvent, User settings, SomedayList sync fields, Task subtasks)
- Fix Outlook OAuth redirect using NEXTAUTH_URL instead of request.url
- Fix CalendarEventModal preserving existing event dates (support flat format)
- Fix header z-index layering so goal text doesn't block hover controls
- Convert font size selects to free-form text inputs, add dayHeaderGap setting
- Add goal 2-line clamping with 500px max width
- Fix weekend colors not applying to date elements

v1.6.0

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-24 23:18:13 +01:00
368928c016 Reposition notes popup to floating vertical container and various integration fixes 2026-02-24 12:26:02 +01:00
8842123caf feat: improve calendar sync, event modal, and task list management
- Fix All Day checkbox positioning in CalendarEventModal (own row)
- Add provider name to calendar dropdown (Google/Apple/Outlook)
- Optimistic UI updates after event save/delete (no reload needed)
- Force-refresh calendar cache after event mutations
- Reduce background sync interval from 5min to 2min
- Support forceRefresh in background-sync API
- Use shared Prisma singleton in tasks sync route
- Add per-provider task list fetching and sync checkboxes
- Add allDay support to event creation and editing

v1.4.0
2026-02-24 11:01:15 +01:00
eb5a4b4232 fix: sync spinner disappearing prematurely during concurrent fetches
When both fetchCalendarEvents and fetchTasks ran in parallel, whichever
finished first would set isSyncing=false, hiding the spinner while the
other was still running. Replaced boolean with a ref-based counter so
the spinner stays visible until all concurrent syncs complete.

v1.3.1

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-24 00:52:06 +01:00
c8080f23ff feat: add bidirectional Microsoft To-Do task creation sync
New tasks created in synced someday lists are now pushed to Microsoft
To-Do automatically. Added createMsTodoTask() API function, POST
handler on /api/tasks/sync, and frontend wiring to call sync after
local task creation in externally-linked lists.

v1.3.0

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-24 00:39:19 +01:00
220015b2b6 feat: show sync provider icon on someday lists
- Add externalProvider to SomedayList interface and fetch mapping
- Display a small provider icon (Microsoft/Google/Apple) next to the
  list title with tooltip showing the sync source
- Icon appears at 50% opacity to stay subtle

v1.2.3

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-24 00:30:23 +01:00
866f514f10 fix: detect iCloud all-day events and bypass cache on manual refresh
- Apple calendar parser now checks ICAL.js isDate flag and emits
  date-only strings (YYYY-MM-DD) for all-day events instead of
  full ISO datetime — fixes all-day detection in the frontend
- Calendar events mapper routes date-only Apple events to the
  date field instead of always using dateTime
- Manual refresh button now sends forceRefresh=true which makes
  the sync endpoint wait for live data instead of returning stale cache
- Automatic background syncs still use fire-and-forget for performance

v1.2.2

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-24 00:26:04 +01:00
1f202eb8c9 fix: move undo/redo buttons to right section, left of add event button
v1.2.1

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-24 00:16:30 +01:00
83e2a99d78 feat: add undo/redo, fix Outlook OAuth session loss, fix Microsoft To-Do task import
Undo/Redo:
- Add undo/redo stacks tracking task and someday list state snapshots
- Undo/redo buttons appear on hover in header center section
- Keyboard shortcuts: Ctrl+Z (undo), Ctrl+Y / Ctrl+Shift+Z (redo)
- Snapshots taken before addTask, toggleTask, updateTask, deleteTask, toggleTaskRolling

Outlook OAuth fix:
- Redirect through /auth/oauth-complete client-side page instead of directly to /tasks
- Client page calls session.update() to refresh JWT before navigating
- Prevents session loss caused by SameSite cookie policy during cross-origin redirect

Microsoft To-Do import fix:
- Set externalId and externalProvider on SomedayList during import
- Link existing lists missing external metadata on re-import
- Enables pull-sync to find and update tasks in subsequent syncs

v1.2.0

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-24 00:07:59 +01:00
535f343790 fix: show sync spinner during task fetching, keep completed tasks visible, inject version into settings
- Add isSyncing state to fetchTasks() so spinner shows during task/list loading
- Remove !task.completed filter from getTasksForDate — completed tasks now stay
  visible with strikethrough instead of vanishing
- Inject package.json version into NEXT_PUBLIC_APP_VERSION via next.config.js
  so the Settings > About tab always shows the current version

v1.1.1

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-23 23:41:46 +01:00
c82572935c feat: dark mode color adjustment, multi-source quotes, UI text wrapping, and versioning rules
- Add dark mode color adjustment helper for category colors
- Support multiple motivational quote source URLs
- Fix text wrapping for tasks/events to prevent horizontal overflow
- Improve someday list item layout for long text
- Add CLAUDE.md with semantic versioning and git workflow rules
- Update test/doc URLs and planning docs

v1.1.0

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-23 23:33:25 +01:00
02a8c2a0b4 chore: Production Dockerfile, deploy script, dev port 3001
- Multi-stage Dockerfile: build stage + slim production runner
- Runs `next build` + `next start` instead of `npm run dev`
- Dev server on port 3001 to avoid conflict with production on 3000
- Deploy script with version bumping and health checks
- Explicit .env.production for docker-compose
- Updated .gitignore and .dockerignore

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-21 22:07:46 +01:00
798bcfe44a feat: Add Google Tasks, Apple Reminders, task import/sync, holidays, and UI enhancements
- Add Google Tasks integration and Apple Reminders support
- Add task import/export with list management APIs
- Add goal API for weekly goals
- Add German holidays library
- Add ImportListModal component
- Enhance WeeklyView with major UI improvements
- Enhance CalendarSettings with new connection options
- Add external task fields to database schema
- Add Playwright test suites for auth and tasks
- Add iCloud reminders Python scripts

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-20 16:56:14 +01:00
46dbf2ac02 Configure app for HTTPS reverse proxy on custom domain 2026-02-18 01:48:33 +01:00
64955ad07b Refactor Apple Calendar integration and sync logic 2026-02-17 15:30:42 +01:00
e9a0a706b7 Fix header layout, add day/night switch, refine night mode styling 2026-02-12 20:14:12 +01:00
d054144939 feat: localize app to German and add configurable day hours 2026-02-09 12:11:52 +01:00
d92a8c7210 feat: add task actions (notes/delete) and refine animation logic
- Added 'onDelete' and 'onNotes' support to TaskItem.
- Implemented hover actions (Delete and Notes icons) for tasks.
- Added Notes Modal for editing task markdown content.
- Simplified navigation animation to remove blank flash (single-phase slide-in).
- Fixed syntax error in updateTask function.
- Updated styles for modal and task actions.
2026-02-01 12:25:53 +01:00