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.
This commit is contained in:
2026-03-04 10:41:23 +01:00
parent 2fea267ce9
commit 353bbea093
20 changed files with 500 additions and 241 deletions

View File

@@ -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)
<template>
<div>
<main class="h-screen overflow-y-auto">
<main class="h-screen overflow-y-auto overflow-x-none w-screen max-w-screen border-t-2 border-primary">
<RouterView />
</main>
<template v-if="currentPath === '/'">
<CreateModal v-if="isMobile" />
<CreateInput v-else />
<template v-if="isMobile">
<MobileActions />
</template>
<template v-else>
<CreateInput />
<SettingsModal />
</template>
</template>
<SettingsModal />
</div>
</template>