Commit Graph

18 Commits

Author SHA1 Message Date
Julien Froidefond
b5d53ef0f1 feat: add "Move to Today" functionality for pending tasks
- Implemented a new button in the `PendingTasksSection` to move unchecked tasks to today's date.
- Created `moveCheckboxToToday` action in `daily.ts` to handle the logic for moving tasks.
- Updated `DailyPageClient` and `PendingTasksSection` to integrate the new functionality and refresh the daily view after moving tasks.
- Marked the feature as completed in `TODO.md`.
2025-09-22 08:51:59 +02:00
Julien Froidefond
361fc0eaac feat: enhance mobile and desktop layouts in Daily and Kanban pages
- Refactored `DailyPageClient` to prioritize mobile layout with today's section first and calendar at the bottom for better usability.
- Updated `KanbanPageClient` to include responsive controls for mobile, improving task management experience.
- Adjusted `DailyCheckboxItem` and `DailySection` for better touch targets and responsive design.
- Cleaned up `TODO.md` to reflect changes in mobile interface considerations and task management features.
2025-09-21 21:37:30 +02:00
Julien Froidefond
3cfed60f43 feat: refactor daily task management with new pending tasks section
- Added `PendingTasksSection` to `DailyPageClient` for displaying uncompleted tasks.
- Implemented `getPendingCheckboxes` method in `DailyClient` and `DailyService` to fetch pending tasks.
- Introduced `getDaysAgo` utility function for calculating elapsed days since a date.
- Updated `TODO.md` to reflect the new task management features and adjustments.
- Cleaned up and organized folder structure to align with Next.js 13+ best practices.
2025-09-21 19:55:04 +02:00
Julien Froidefond
4ba6ba2c0b refactor: unify date handling with utility functions
- Replaced direct date manipulations with utility functions like `getToday`, `parseDate`, and `createDateFromParts` across various components and services for consistency.
- Updated date initialization in `JiraAnalyticsService`, `BackupService`, and `DailyClient` to improve clarity and maintainability.
- Enhanced date parsing in forms and API routes to ensure proper handling of date strings.
2025-09-21 13:04:34 +02:00
Julien Froidefond
557cdebc13 refactor: date utils and all calls 2025-09-21 11:41:17 +02:00
Julien Froidefond
a0e2a78372 feat: update Daily and Jira dashboard pages with dynamic titles and improved UI
- Implemented `getTodayTitle` and `getYesterdayTitle` functions in `DailyPageClient` to dynamically set section titles based on the current date.
- Updated `TODO.md` to mark completed tasks related to the Jira dashboard UI consistency.
- Enhanced card content in `JiraDashboardPageClient` to ensure charts are responsive and maintain consistent styling.
- Removed unused date formatting function in `DailySection` for cleaner code.
2025-09-21 10:49:39 +02:00
Julien Froidefond
dfa8d34855 feat: add workday utility functions
- Introduced utility functions for workday calculations in `workday-utils.ts`, including `getPreviousWorkday`, `getNextWorkday`, `isWorkday`, and `getDayName`.
- Updated `DailyService` and `DailyPageClient` to utilize `getPreviousWorkday` for accurate date handling instead of simple date subtraction.
2025-09-20 15:43:38 +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
625e8dba4b feat: jira and synchro 2025-09-17 13:56:42 +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