From 96451e20d9dae40324b7fa86e1ddcebb823e2f7e Mon Sep 17 00:00:00 2001 From: Marlon May Date: Thu, 25 Jun 2026 22:48:40 +0200 Subject: [PATCH] feat(planner): task creation, navigation, sorting, and display improvements --- frontend/src/i18n/lang/en.json | 7 +- frontend/src/router/index.ts | 3 + .../views/planner/PlannerCreateTaskModal.vue | 53 +++++++ .../src/views/planner/PlannerSettings.vue | 38 ++++- frontend/src/views/planner/PlannerSidebar.vue | 132 +++++++++++++++--- frontend/src/views/planner/PlannerView.vue | 105 ++++++++++++-- .../src/views/planner/grid/CalendarBlock.vue | 94 ++++++++++++- .../views/planner/grid/CalendarDayColumn.vue | 112 ++++++++++++++- .../src/views/planner/grid/CalendarGrid.vue | 132 ++++++++++++++++-- .../src/views/planner/helpers/dayLayout.ts | 25 +++- .../planner/helpers/expandOccurrences.ts | 41 ++++++ .../planner/helpers/useCalendarSettings.ts | 5 +- .../views/planner/helpers/usePlannerTasks.ts | 83 ++++++++++- frontend/tests/e2e/planner/planner.spec.ts | 57 ++++++++ 14 files changed, 816 insertions(+), 71 deletions(-) create mode 100644 frontend/src/views/planner/PlannerCreateTaskModal.vue diff --git a/frontend/src/i18n/lang/en.json b/frontend/src/i18n/lang/en.json index 3d5b53141..ccaa684b6 100644 --- a/frontend/src/i18n/lang/en.json +++ b/frontend/src/i18n/lang/en.json @@ -763,13 +763,18 @@ "allDay": "All day", "saved": "Saved", "saveError": "Something went wrong saving the task", + "createTitle": "New task", + "createAllDay": "All day · {date}", + "sortDefault": "Default order", + "sortRandom": "Random", "settings": { "title": "View settings", "dayStart": "Day starts at", "dayEnd": "Day ends at", "defaultDuration": "Default duration (minutes)", "slotDuration": "Slot size (minutes)", - "fullWeek": "Show full week (off: next 7 days)", + "fullWeek": "Show full week (off: rolling days)", + "daysToShow": "Days to show", "showDone": "Show done tasks" } }, diff --git a/frontend/src/router/index.ts b/frontend/src/router/index.ts index fed0382b9..cbc88de9e 100644 --- a/frontend/src/router/index.ts +++ b/frontend/src/router/index.ts @@ -229,6 +229,9 @@ const router = createRouter({ path: '/planner', name: 'planner.index', component: () => import('@/views/planner/PlannerView.vue'), + meta: { + title: 'planner.title', + }, }, { // Redirect old list routes to the respective project routes diff --git a/frontend/src/views/planner/PlannerCreateTaskModal.vue b/frontend/src/views/planner/PlannerCreateTaskModal.vue new file mode 100644 index 000000000..b1e6e9fb4 --- /dev/null +++ b/frontend/src/views/planner/PlannerCreateTaskModal.vue @@ -0,0 +1,53 @@ + + + + + diff --git a/frontend/src/views/planner/PlannerSettings.vue b/frontend/src/views/planner/PlannerSettings.vue index 6c6b43801..989b6b156 100644 --- a/frontend/src/views/planner/PlannerSettings.vue +++ b/frontend/src/views/planner/PlannerSettings.vue @@ -8,14 +8,20 @@ {{ $t('planner.settings.dayStart') }}