Commit Graph

151 Commits

Author SHA1 Message Date
Julien Froidefond
1bfcce3736 feat: expand Jira analytics and monitoring features
- Updated TODO.md to include detailed tasks for Jira project configuration, analytics service, and dashboard page.
- Added advanced metrics and monitoring functionalities, including velocity calculations, cycle time analysis, and automated anomaly detection.
- Introduced new API routes and components for enhanced data handling and visualization.
2025-09-18 08:51:27 +02:00
Julien Froidefond
8d2652f4d8 feat: migrate API routes to server actions
- Replaced API routes with server actions for task management, daily checkboxes, user preferences, and tags to streamline operations.
- Implemented immediate cleanup of obsolete routes and code, enhancing performance and reducing complexity.
- Established a hybrid architecture to maintain complex endpoints while optimizing simple actions.
2025-09-18 08:48:28 +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
24421e00e7 fix: integrate JiraQuickFilter into HomePageClient
- Added JiraQuickFilter component to HomePageClient for enhanced task filtering.
- Updated useTasksContext to include kanbanFilters and setKanbanFilters for managing filter state.
2025-09-17 17:16:32 +02:00
Julien Froidefond
d427b88756 fix: enhance priority handling in sort-config and JiraService
- Added a fallback mechanism in getPriorityValue to default to 'medium' when an unknown priority is encountered, improving robustness.
- Updated priority mapping in JiraService to change 'Highest' to 'urgent', aligning with new priority definitions.
2025-09-17 16:57:36 +02:00
Julien Froidefond
ff5f887c6a fix: improve JiraService pagination handling
- Updated JiraService to use `nextPageToken` for pagination instead of `startAt`, aligning with the latest API documentation.
- Enhanced logging for better visibility during ticket retrieval, including page number and pagination status.
- Implemented safety checks to prevent infinite loops and added a limit for ticket retrieval.
2025-09-17 16:51:35 +02:00
Julien Froidefond
97a938c46a fix: simplify KanbanFilters by removing unnecessary undefined checks
- Updated `jiraProjects` and `jiraTypes` assignments to always set values directly, improving clarity and consistency in filter updates.
2025-09-17 16:40:22 +02:00
Julien Froidefond
107154a4b8 fix: update JiraService to preserve local task title and priority
- Removed unnecessary checks for local updates, ensuring Jira data is always updated.
- Preserved local task title and priority during updates to maintain user modifications.
- Updated logging to reflect changes in task update behavior.
2025-09-17 16:30:57 +02:00
Julien Froidefond
b25e4ec7b4 fix: update Badge variant in SyncActionsList for better UI consistency
- Changed Badge variant from "secondary" to "outline" in SyncActionsList component to enhance visual clarity and align with design standards.
2025-09-17 16:22:46 +02:00
Julien Froidefond
e34e898e84 feat: enhance JiraSync with detailed sync actions
- Added `JiraSyncAction` interface to track individual task actions (created, updated, skipped, deleted) during synchronization.
- Updated `JiraSyncResult` to include actions for better visibility of sync outcomes.
- Implemented a modal to display detailed sync results, improving user feedback on synchronization processes.
- Enhanced task deletion logic to provide reasons and changes for each action, ensuring clarity in task management.
2025-09-17 16:14:21 +02:00
Julien Froidefond
7c139e4ce0 feat: enhance JiraService with task deletion logic
- Added `tasksDeleted` to `JiraSyncResult` to track deleted tasks.
- Implemented `cleanupUnassignedTasks` method to remove Jira tasks no longer assigned to the user, improving data accuracy and synchronization.
- Updated logging for better visibility during task cleanup process.
2025-09-17 15:55:40 +02:00
Julien Froidefond
95ac4617d6 fix: filter priorities with tasks in PrioritySwimlanesBoard
- Updated PrioritySwimlanesBoard to filter out priorities that have no associated tasks, ensuring only relevant priorities are displayed. This improves the clarity and usability of the swimlanes.
2025-09-17 15:51:49 +02:00
Julien Froidefond
7e7be6a890 fix: update KanbanFilters to always include tags and priorities
- Modified KanbanFilters to set tags and priorities directly, removing the conditional checks for empty arrays. This ensures that the filters are always updated with the latest values, improving consistency in filter application.
2025-09-17 14:52:59 +02:00
Julien Froidefond
21500269e1 feat: integrate Jira ticket linking in TaskCard
- Added functionality to generate Jira ticket URLs based on user preferences, enhancing task interactivity.
- Updated UserPreferences to include Jira configuration, ensuring seamless integration with Jira settings.
- Refactored TaskCard to conditionally render Jira links, improving user experience when interacting with Jira tasks.
2025-09-17 14:50:32 +02:00
Julien Froidefond
b0dc1bec11 fix: add active filters count to context and components
- Integrated activeFiltersCount into useTasksContext for HomePageContent and KanbanFilters.
- Removed redundant activeFiltersCount calculation from KanbanFilters, leveraging the context instead for better performance and consistency.
2025-09-17 14:46:27 +02:00
Julien Froidefond
8394f78fc7 fix: update Next.js configuration for turbopack rules
- Replaced experimental turbo configuration with turbopack for SQL file handling, ensuring compatibility with the latest Next.js features.
2025-09-17 14:46:13 +02:00
Julien Froidefond
95df2ad257 fix: update JiraService tag assignment and status mapping
- Changed comments to singular form for clarity regarding Jira tag assignment.
- Removed unused assignProjectTag method to streamline the JiraService.
- Enhanced status mapping with additional French translations for better localization.
2025-09-17 14:13:44 +02:00
Julien Froidefond
c8119faead fix: improve JiraService pagination and cleanup logic
- Updated pagination logging to include total issues retrieved.
- Increased safety limit for pagination from 5000 to 10000 tickets to prevent infinite loops.
- Removed deprecated cleanupEpics method to streamline synchronization process.
- Added check for actual changes before updating tasks to avoid unnecessary database operations.
2025-09-17 14:06:27 +02:00
Julien Froidefond
625e8dba4b feat: jira and synchro 2025-09-17 13:56:42 +02:00
Julien Froidefond
2f104109db fix: ensure tooltip hides during title editing in TaskCard
- Updated TaskCard to hide the tooltip when entering title editing mode, improving user experience by preventing distractions while editing the title.
2025-09-17 11:53:55 +02:00
Julien Froidefond
d3e7d171e4 fix: hide action buttons in TaskCard during title editing
- Updated TaskCard to conditionally render edit and delete buttons only when not in editing mode, improving user experience by preventing accidental actions while editing.
2025-09-17 11:52:20 +02:00
Julien Froidefond
aa80580e8a chore: update binary database file
- Updated the binary database file to reflect recent changes in the schema and data structure.
2025-09-17 11:50:51 +02:00
Julien Froidefond
b3052f34f2 feat: enhance TaskCard with tooltip functionality
- Added tooltip to TaskCard title for improved user interaction, displaying the title on hover.
- Introduced cleanup for timeout on component unmount to prevent memory leaks.
- Refactored title rendering to use a new TitleWithTooltip component for better code organization.
2025-09-17 11:49:01 +02:00
Julien Froidefond
60a9d0807e feat: add compact view and swimlanes toggle to HomePageContent
- Introduced toggle buttons for compact view and swimlanes by tags in HomePageContent, enhancing user preferences management.
- Removed redundant compact view toggle from KanbanFilters to streamline functionality.
2025-09-17 11:39:48 +02:00
Julien Froidefond
ed001ea74a style: update DailyAddForm and EditCheckboxModal for consistent theme
- Changed default selected type in DailyAddForm from 'task' to 'meeting'.
- Updated class names in DailyAddForm and EditCheckboxModal for improved visual consistency and user experience, ensuring better color contrast and hover effects.
2025-09-17 09:14:59 +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
122a47f232 feat: implement drag-and-drop functionality in ObjectivesBoard
- Added DnD context and handlers for task reordering and status updates.
- Introduced DroppableColumn component for better task organization by status.
- Enhanced task card interaction with visual feedback during drag events.
- Updated KanbanBoardContainer to support new status update prop.
2025-09-16 09:59:27 +02:00
Julien Froidefond
d6a19544d2 style: update TaskCard for visual feedback on task status
- Added opacity adjustment for completed tasks in TaskCard to enhance visual distinction.
- Improved hover effects and interaction feedback for better user experience.
2025-09-16 09:50:20 +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
65abbc1454 style: update project structure documentation for clarity
- Added clarification to the components section, specifying that React components are organized by domain for better understanding of project structure.
2025-09-16 09:08:00 +02:00
Julien Froidefond
470f3bfafd style: update SwimlanesBase and TaskCard for improved layout and interaction
- Changed the class names in SwimlanesBase to enhance hover effects and spacing.
- Adjusted QuickAddTask visibility and styling for better user experience.
- Increased font size and opacity in TaskCard for improved readability.
- Minor spacing adjustments in SwimlanesBase to maintain visual consistency.
2025-09-16 08:44:14 +02:00
Julien Froidefond
845d12f098 style: adjust spacing and sizing in DailyCheckboxItem and DailySection
- Reduced padding and margin in DailyCheckboxItem for a more compact layout.
- Updated checkbox sizes for consistency and improved visual hierarchy.
- Adjusted the scrollable area in DailySection to enhance user experience.
2025-09-16 08:15:45 +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
c2f949325a feat: enhance DailyCheckboxItem and EditCheckboxModal for task management
- Updated DailyCheckboxItem to display task title instead of ID, improving user clarity.
- Refactored EditCheckboxModal to load tasks dynamically, allowing for task selection with search functionality.
- Removed TaskSelector component to streamline task selection process within the modal.
- Added loading and filtering logic for tasks, enhancing user experience during task selection.
2025-09-15 22:39:58 +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
08d344652f style: refine layout and theming in ObjectivesBoard
- Changed Card component to use 'column' variant for better layout consistency.
- Adjusted padding in task columns to improve spacing and visual hierarchy.
- Minor tweaks to border styles for enhanced clarity and alignment with theming.
2025-09-15 21:45:00 +02:00
Julien Froidefond
c6a9e87329 feat: integrate task creation functionality in HomePageClient and Kanban components
- Added task creation modal in HomePageClient with state management for visibility.
- Implemented `handleCreateTask` function to handle task submissions.
- Updated Kanban components to accept `onCreateTask` prop for task creation, ensuring consistent task management across the application.
- Removed unused task creation UI elements from Kanban components to streamline the interface.
2025-09-15 21:39:56 +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
74ef79eb70 feat: expand TODO list with new features for Daily management and Jira integration
- Added tasks for creating a Daily management service and data model, including interactive checkboxes and navigation.
- Introduced tasks for integrating with Jira Cloud, covering API connection, authentication, ticket retrieval, and synchronization.
- Updated section titles for clarity and organization in the TODO structure.
2025-09-15 17:31:58 +02:00
Julien Froidefond
83cf4ce06b fix: improve emoji extraction and display logic in TaskCard
- Updated emoji regex to capture more emoji variations, including ZWJ sequences.
- Refactored emoji handling to display the first emoji from tags if no title emojis are found, enhancing visual representation.
- Adjusted rendering logic to use the new displayEmojis array for consistent emoji display in the TaskCard component.
2025-09-15 16:49:07 +02:00
Julien Froidefond
addd57cd50 feat: add backlog status and update task stats
- Introduced 'backlog' status in TaskStatus type and STATUS_CONFIG for better task categorization.
- Updated TaskStats interface to include backlog count.
- Enhanced getTaskStats method to fetch backlog statistics and display in Header component.
- Added backlog stat card in Header for improved visibility of task status.
2025-09-15 16:40:15 +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