Commit Graph

90 Commits

Author SHA1 Message Date
Julien Froidefond
9c2c719384 feat: enhance backup management in AdvancedSettingsPage
- Added backup management functionality to `AdvancedSettingsPageClient`, including creating and verifying backups.
- Updated `package.json` with new backup-related scripts.
- Improved UI to display backup status and next scheduled backup time.
- Updated `.gitignore` to exclude backup files.
- Enhanced server-side data fetching to include backup data and database statistics.
2025-09-18 17:19:37 +02:00
Julien Froidefond
02f59caf08 feat: add related todos functionality in task editing
- Implemented `RelatedTodos` component in `EditTaskForm` to display and manage related todos for a task.
- Updated `TasksClient` to fetch daily checkboxes related to a task.
- Enhanced `TasksService` with a method to retrieve related daily checkboxes from the database.
- Added functionality to create new todos linked to tasks in the daily actions.
- Marked the task for displaying related todos in the task editing interface as complete in TODO.md.
2025-09-18 15:26:07 +02:00
Julien Froidefond
618b2e9e5c feat: implement drag-and-drop reordering for daily checkboxes
- Added DnD functionality to `DailySection` for reordering checkboxes using `@dnd-kit/core` and `@dnd-kit/sortable`.
- Introduced `onReorderCheckboxes` prop to handle server updates after reordering.
- Updated `useDaily` hook to streamline error handling during reordering.
- Cleaned up `Header` component by removing unnecessary syncing text.
- Adjusted `DailyPageClient` to pass reorder function to `DailySection`.
2025-09-18 14:56:05 +02:00
Julien Froidefond
8ce1eef6ae feat: update settings page and theme context for user preferences
- Replaced `SettingsPageClient` with `SettingsIndexPageClient` to fetch and display user preferences on the settings page.
- Integrated `userPreferencesService` to retrieve all preferences asynchronously, enhancing data handling.
- Refactored theme management in `ThemeContext` to use `updateViewPreferences` for saving theme changes, improving error handling and user feedback.
- Marked the task for creating dedicated config sub-pages as complete in TODO.md.
2025-09-18 13:50:49 +02:00
Julien Froidefond
a98bde86d3 feat: implement project ignore list for Jira synchronization
- Updated `JiraConfigForm` to include an input for ignored projects, allowing users to specify projects to exclude from synchronization.
- Enhanced `JiraService` with a method to filter out tasks from ignored projects, improving task management.
- Modified user preferences to store ignored projects, ensuring persistence across sessions.
- Updated API routes to handle ignored projects in configuration, enhancing overall functionality.
- Marked the corresponding task as complete in TODO.md.
2025-09-18 13:29:15 +02:00
Julien Froidefond
3ce7af043c feat: complete daily checkbox actions and cleanup
- Marked all daily checkbox actions as complete in TODO.md.
- Removed outdated mutation methods from `daily-client.ts`, now managed by server actions in `actions/daily.ts`.
- Deleted unused API routes for checkbox management, streamlining the codebase.
- Updated `useDaily.ts` to utilize server actions with `useTransition`, enhancing performance and user experience.
2025-09-18 13:20:44 +02:00
Julien Froidefond
aeb4e17939 feat: refactor user preferences management
- Marked all user preferences actions as complete in TODO.md.
- Updated `user-preferences-client.ts` to remove outdated mutation methods, now handled by server actions.
- Deleted unused API routes for column visibility, kanban filters, and view preferences.
- Refactored `UserPreferencesContext.tsx` to utilize server actions for updates, improving performance with `useTransition`.
2025-09-18 13:10:04 +02:00
Julien Froidefond
cece09d150 feat: enhance Header component with active link styling
- Added `usePathname` hook to determine the current route.
- Implemented `isActiveLink` and `getLinkClasses` functions for dynamic link styling based on active state.
- Adjusted navigation links in the Header to utilize the new styling functions for improved user experience.
- Updated KanbanPageClient subtitle for consistency.
2025-09-18 12:57:10 +02:00
Julien Froidefond
d38053b4dc feat: revamp HomePageClient and dashboard layout
- Updated HomePageClient to replace Kanban board with a modern dashboard layout.
- Integrated DashboardStats, QuickActions, and RecentTasks components for enhanced user experience.
- Marked several tasks as complete in TODO.md, including the creation of a new dashboard and quick action features.
- Added navigation link for the new dashboard in the Header component.
2025-09-18 11:52:10 +02:00
Julien Froidefond
8c88322823 fix: lint and types 2025-09-18 11:30:19 +02:00
Julien Froidefond
4a4eb9c8ad refacto: passing by server actions on taskCard 2025-09-18 09:37:46 +02:00
Julien Froidefond
0223611b3f feat: jira config in database 2025-09-17 18:04:13 +02:00
Julien Froidefond
83e48d5972 fix: lint 2025-09-17 17:30:38 +02:00
Julien Froidefond
625e8dba4b feat: jira and synchro 2025-09-17 13:56:42 +02:00
Julien Froidefond
748888819b fix: theme in preferences and SSR GET 2025-09-17 08:49:41 +02:00
Julien Froidefond
fdaf47c1e5 feat: extend type definitions for KanbanFilters, ViewPreferences, and ColumnVisibility
- Added index signatures to allow for dynamic keys in KanbanFilters, ViewPreferences, and ColumnVisibility interfaces, enhancing flexibility in handling additional properties.
- Updated layout metadata to reflect new application title and description for better branding.
- Updated binary database file.
2025-09-17 08:39:46 +02:00
Julien Froidefond
14d300c682 refactor: userpreferences are now in the DB 2025-09-17 08:30:36 +02:00
Julien Froidefond
4f137455f4 fix: lint 2025-09-16 22:13:28 +02:00
Julien Froidefond
883ba67599 feat: update EditCheckboxModal and DailyPageClient for task linkage
- Changed the label in EditCheckboxModal to clarify task linkage applies to all types, not just tasks.
- Updated DailyPageClient to allow taskId linkage for all checkbox types, enhancing flexibility in task management.
2025-09-16 09:33:06 +02:00
Julien Froidefond
11200f85ac feat: add toggle all functionality for daily checkboxes
- Implemented `toggleAllToday` and `toggleAllYesterday` methods in `useDaily` for batch checkbox state management.
- Updated `DailySection` to include a button for toggling all checkboxes, enhancing user interaction.
- Integrated new toggle functions in `DailyPageClient` to support the updated checkbox handling.
2025-09-16 08:09:13 +02:00
Julien Froidefond
4b27047e63 feat: enhance DailyClient and useDaily hook for improved checkbox handling
- Added new API response types (`ApiCheckbox`, `ApiDailyView`, `ApiHistoryItem`) for better type safety.
- Updated `getTodaysDailyView`, `getDailyView`, and `getHistory` methods to utilize new types and transform date strings into Date objects.
- Refactored `addCheckbox` and `updateCheckbox` methods to handle checkbox creation and updates with improved error handling.
- Optimized `DailyAddForm` for better UX by removing unnecessary loading states and implementing optimistic UI updates.
- Enhanced `useDaily` hook to support checkbox type management and rollback on errors during updates.
- Updated `DailyPageClient` to leverage new checkbox handling methods for adding tasks.
2025-09-15 22:30:56 +02:00
Julien Froidefond
adfef551ab feat: enhance DailyCheckbox model and service for type management
- Added `DailyCheckboxType` to define checkbox types ('task' | 'meeting') in TypeScript.
- Updated `DailyCheckbox` model in Prisma schema to include `type` field with a default value of 'task'.
- Modified `DailyService` to handle checkbox type during creation and updates.
- Adjusted API route to accept checkbox type in requests.
- Refactored `DailyPageClient` to support type management in checkbox operations.
2025-09-15 22:16:34 +02:00
Julien Froidefond
44df8c89b8 feat: add user preferences for filter and objective visibility in HomePageClient
- Implemented state management for filter and objective visibility using `useState`.
- Integrated `userPreferencesService` to load and save user preferences on component mount and toggle actions.
- Updated `KanbanBoardContainer` to conditionally render filters and objectives based on user preferences.
- Enhanced UI with buttons for toggling visibility, improving user experience and customization.
2025-09-15 21:31:34 +02:00
Julien Froidefond
cb2e8e9c9f feat: enhance useDaily hook and DailyPageClient for improved data handling
- Added `refreshDailySilent` method to `useDaily` for silent data refresh without loading state.
- Updated `useDaily` to accept an optional `initialDailyView` parameter, improving initial state management.
- Modified `DailyPageClient` to utilize `refreshDailySilent` for smoother user experience during checkbox updates.
- Implemented server-side data fetching in `DailyPage` for better initial load performance.
- Enhanced UI to indicate refreshing state in `DailySectionComponent`.
2025-09-15 21:23:03 +02:00
Julien Froidefond
936e0306fc feat: update Daily management features and enhance date handling
- Marked the calendar/history view of dailies as completed in the TODO list.
- Improved date formatting in `formatDateForAPI` to avoid timezone issues.
- Added `getDailyDates` method in `DailyClient` and `DailyService` to retrieve all dates with dailies.
- Enhanced `POST` route to robustly parse date input for better error handling.
- Integrated daily dates loading in `DailyPageClient` for calendar display.
2025-09-15 18:21:48 +02:00
Julien Froidefond
cf2e360ce9 feat: implement Daily management features and update UI
- Marked tasks as completed in TODO for Daily management service, data model, and interactive checkboxes.
- Added a new link to the Daily page in the Header component for easy navigation.
- Introduced DailyCheckbox model in Prisma schema and corresponding TypeScript interfaces for better data handling.
- Updated database schema to include daily checkboxes, enhancing task management capabilities.
2025-09-15 18:04:46 +02:00
Julien Froidefond
49ab6f0ea4 style: update color theming in Kanban components
- Replaced hardcoded colors with CSS variables in ObjectivesBoard and TaskCard for improved theme consistency.
- Updated status icon in STATUS_CONFIG for better visual representation.
- Adjusted global CSS variables for enhanced contrast and clarity across components.
2025-09-15 16:35:16 +02:00
Julien Froidefond
07cd3bde3b feat: implement theme system and UI updates
- Added theme context and provider for light/dark mode support.
- Integrated theme toggle button in the Header component.
- Updated UI components to utilize CSS variables for consistent theming.
- Enhanced Kanban components and forms with new theme styles for better visual coherence.
- Adjusted global styles to define color variables for both themes, improving maintainability.
2025-09-15 11:49:54 +02:00
Julien Froidefond
631da57ea2 refactor: update tag data structure and improve tag handling
- Changed `TagsResponse` and `UseTagsState` to include `usage` count in the tag data structure for better tracking.
- Simplified tag initialization in `useTags` to directly use `initialData`.
- Enhanced `TagsPageClient` to filter and sort tags based on usage, improving user experience in tag management.
- Removed unused variables and streamlined the search functionality for better performance.
2025-09-15 09:29:38 +02:00
Julien Froidefond
95af83b0bc feat: integrate tags into HomePage and TasksContext
- Added `initialTags` prop to `HomePageClient` for passing tag data.
- Updated `TasksProvider` to accept and utilize `initialTags`, enhancing tag management.
- Modified `useTags` hook to initialize state with provided tags and conditionally refresh tags based on initial data.
- Updated server-side data fetching in `HomePage` to include tags from the `tagsService`.
2025-09-14 22:45:52 +02:00
Julien Froidefond
a589c0cc2f feat: add pinned tag functionality and UI enhancements
- Introduced `isPinned` property to the `Tag` model for marking main objectives.
- Updated `TagForm` to include a checkbox for setting tags as pinned, enhancing user interaction.
- Enhanced `KanbanBoardContainer` to display pinned tasks in a dedicated `ObjectivesBoard`, improving task visibility.
- Modified `KanbanFilters` to support filtering by pinned tags, streamlining task management.
- Adjusted `TasksContext` to separate pinned tasks from regular tasks for better organization.
2025-09-14 22:23:55 +02:00
Julien Froidefond
c1844cfb71 feat: improve TaskCard and TagList components, enhance task loading logic
- Updated TaskCard to conditionally render footer elements based on available data (due date, source, completion status).
- Enhanced TagList to visually indicate deleting tags and improved button styles for better UX.
- Modified useTasks hook to refresh tasks only if no initial data is present, optimizing loading behavior.
- Updated TagsPageClient to manage local tags and handle optimistic UI updates during tag deletion.
2025-09-14 17:22:06 +02:00
Julien Froidefond
c5a7d16425 feat: complete tag management and UI integration
- Marked multiple tasks as completed in TODO.md related to tag management features.
- Replaced manual tag input with `TagInput` component in `CreateTaskForm`, `EditTaskForm`, and `QuickAddTask` for better UX.
- Updated `TaskCard` to display tags using `TagDisplay` with color support.
- Enhanced `TasksService` to manage task-tag relationships with CRUD operations.
- Integrated tag management into the global context for better accessibility across components.
2025-09-14 16:44:22 +02:00
Julien Froidefond
edbd82e8ac refactor: simplify BoardContainer and update task management
- Removed initialTasks and initialStats props from KanbanBoardContainer, now using TasksContext for task management.
- Updated useTasks hook to include a simulated delay for sync indicator during task updates.
- Replaced KanbanBoardContainer with HomePageClient in the HomePage component for a cleaner structure.
2025-09-14 09:13:22 +02:00
Julien Froidefond
0b7e0edb2f feat: enhance Kanban functionality and update TODO.md
- Completed the creation and validation forms for tasks in the Kanban board, improving task management capabilities.
- Integrated new task creation and deletion functionalities in the `KanbanBoard` and `KanbanColumn` components.
- Added quick task addition feature in `Column` component for better user experience.
- Updated `TaskCard` to support task deletion with a new button.
- Marked several tasks as completed in `TODO.md` to reflect the progress on Kanban features.
- Updated TypeScript types to include 'manual' as a new task source.
2025-09-14 08:48:39 +02:00
Julien Froidefond
124e8baee8 feat: overhaul TODO.md and enhance Kanban components
- Updated TODO.md to reflect the new project structure and phases, marking several tasks as completed.
- Enhanced Kanban components with a tech-inspired design, including new styles for columns and task cards.
- Removed the obsolete reminders service and task processor, streamlining the codebase for better maintainability.
- Introduced a modern API for task management, including CRUD operations and improved error handling.
- Updated global styles for a cohesive dark theme and added custom scrollbar styles.
2025-09-14 08:15:22 +02:00
Julien Froidefond
54f105fe62 feat: add date-fns dependency and update HomePage component
- Added `date-fns` as a dependency in `package.json` and `package-lock.json`.
- Refactored `Home` component to `HomePage`, implementing server-side rendering for tasks and stats retrieval.
- Integrated `Header` and `KanbanBoard` components for improved UI structure.
- Marked Kanban components as completed in `TODO.md`.
2025-09-13 13:55:33 +02:00
Julien Froidefond
f751e5966e feat: complete integration of macOS reminders with filtering and logging
- Marked tasks in TODO.md as completed for macOS reminders integration.
- Enhanced RemindersService to filter reminders based on enabled lists and added detailed logging for better debugging.
- Implemented methods for retrieving reminders from specific lists and parsing output from AppleScript.
2025-09-13 13:49:35 +02:00
Julien Froidefond
c5f0a71e22 feat: services database, reminders, taskprocessor init 2025-09-13 09:15:31 +02:00
Julien Froidefond
ac689a0779 chore: init next prisma and file structure 2025-09-13 09:09:08 +02:00