From 353bbea0939098d6f27b2fd25787b1fd8c8f6198 Mon Sep 17 00:00:00 2001 From: Paul Spenke Date: Wed, 4 Mar 2026 10:41:23 +0100 Subject: [PATCH] Refactor task components, add mobile-friendly enhancements, and improve settings management - Introduced `TodoItemTouch`, a responsive task item optimized for mobile interaction with swipe actions. - Added `MobileActions` for streamlined task creation and settings access on smaller screens. - Refactored `App.vue` to adapt layouts dynamically for mobile and desktop users. - Implemented collapsible, categorized task lists with improved handling in `TodoList` and `TodoListTouch`. - Improved task swipe actions with `useSwipe` for smoother UI interactions. - Updated styling with DaisyUI theme customization and multi-theme support. - Enhanced `useSettings` with a `todayShown` toggle for quick agenda visibility. --- src/App.vue | 14 ++- src/components/CreateModal.vue | 68 -------------- src/components/MobileActions.vue | 69 ++++++++++++++ src/components/SettingsModal.vue | 22 +---- src/components/TodoItemTouch.vue | 129 ++++++++++++++++---------- src/components/TodoList.vue | 45 +++++++++ src/components/TodoListTouch.vue | 45 +++++++++ src/components/forms/CreateForm.vue | 47 ++++++++++ src/components/forms/EditForm.vue | 47 ++++++++++ src/components/forms/SettingsForm.vue | 22 +++++ src/composables/useActions.ts | 16 ++-- src/composables/useHistory.ts | 7 +- src/composables/useSettings.ts | 60 ++++++------ src/composables/useTasks.ts | 1 - src/main.ts | 8 +- src/router.ts | 2 - src/screens/ListScreen.vue | 36 ++++--- src/screens/SettingsScreen.vue | 11 --- src/styles/main.css | 91 ++++++++++++------ src/utils/actions.ts | 1 - 20 files changed, 500 insertions(+), 241 deletions(-) delete mode 100644 src/components/CreateModal.vue create mode 100644 src/components/MobileActions.vue create mode 100644 src/components/TodoList.vue create mode 100644 src/components/TodoListTouch.vue create mode 100644 src/components/forms/CreateForm.vue create mode 100644 src/components/forms/EditForm.vue create mode 100644 src/components/forms/SettingsForm.vue delete mode 100644 src/screens/SettingsScreen.vue diff --git a/src/App.vue b/src/App.vue index a9a2d1e..339736f 100644 --- a/src/App.vue +++ b/src/App.vue @@ -3,8 +3,8 @@ import { useMediaQuery } from '@vueuse/core' import { computed, onMounted } from 'vue' import { useRouter } from 'vue-router' import CreateInput from './components/CreateInput.vue' -import CreateModal from './components/CreateModal.vue' +import MobileActions from './components/MobileActions.vue' import SettingsModal from './components/SettingsModal.vue' import { useTasks } from './composables/useTasks.ts' @@ -18,13 +18,17 @@ onMounted(fetchTasks) diff --git a/src/components/CreateModal.vue b/src/components/CreateModal.vue deleted file mode 100644 index 0a6cc6b..0000000 --- a/src/components/CreateModal.vue +++ /dev/null @@ -1,68 +0,0 @@ - - - - - diff --git a/src/components/MobileActions.vue b/src/components/MobileActions.vue new file mode 100644 index 0000000..1c01b27 --- /dev/null +++ b/src/components/MobileActions.vue @@ -0,0 +1,69 @@ + + + + + diff --git a/src/components/SettingsModal.vue b/src/components/SettingsModal.vue index c7b431d..6a86a33 100644 --- a/src/components/SettingsModal.vue +++ b/src/components/SettingsModal.vue @@ -3,9 +3,7 @@ import { PhX } from '@phosphor-icons/vue' import { onKeyStroke, useMagicKeys, whenever } from '@vueuse/core' import { useTemplateRef } from 'vue' -import { useSettings } from '../composables/useSettings.ts' - -const { settings } = useSettings() +import SettingsForm from './forms/SettingsForm.vue' const settingsModal = useTemplateRef('settingsModal') @@ -26,26 +24,16 @@ onKeyStroke('Escape', (e) => {