Refactor task management, UI interactions, and theme support

- Added task editing functionality with `EditForm` and integrated it with `TodoItemTouch`.
- Switched `dueDate` fields to `due_date` for consistency with API.
- Updated `useTasks` to handle dynamic task updates, deletions, and periodic refresh.
- Enhanced `useApi` with a dedicated delete method.
- Improved UI responsiveness and styling with multi-theme support in DaisyUI.
- Simplified modal handling for task interactions (`EditForm`, `CreateForm`).
- Improved `useSettings` with a `theme` field to support theme switching.
- Extended task commands for tagging, text, and due date updates.
- Optimized `parser` for extended edit command parsing.
- Updated helpers and actions to use `luxon` for date manipulations.
- Streamlined task and view logic for improved usability and extensibility.
This commit is contained in:
2026-03-08 19:54:30 +01:00
parent 25fd10a325
commit 09b4af9a6e
17 changed files with 469 additions and 104 deletions

View File

@@ -6,9 +6,11 @@ import CreateInput from './components/CreateInput.vue'
import MobileActions from './components/MobileActions.vue'
import SettingsModal from './components/SettingsModal.vue'
import { useSettings } from './composables/useSettings.ts'
import { useTasks } from './composables/useTasks.ts'
const isMobile = useMediaQuery('(pointer: coarse)')
const { settings } = useSettings()
const { fetchTasks } = useTasks()
const router = useRouter()
@@ -17,7 +19,7 @@ onMounted(fetchTasks)
</script>
<template>
<div>
<div :data-theme="settings.theme ?? 'default'" class="flex flex-col">
<main class="h-screen overflow-y-auto overflow-x-none w-screen max-w-screen border-t-2 border-primary">
<RouterView />
</main>