Commit Graph

170 Commits

Author SHA1 Message Date
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
Julien Froidefond
c062fcd592 style: update ObjectivesBoard and SwimlanesBase for improved theming
- Replaced hardcoded colors with CSS variables in ObjectivesBoard for better theme consistency.
- Updated background color in SwimlanesBase to use new CSS variable for card columns.
- Enhanced button hover effects to align with the new theming approach.
- Minor adjustments to border colors for better visual coherence.
2025-09-15 11:59:31 +02:00
Julien Froidefond
fa82a67000 style: update button styles in TaskCard for improved theming
- Increased button size from 3x3 to 5x5 for better accessibility.
- Replaced hardcoded colors with CSS variables for primary and destructive actions, enhancing theme consistency.
2025-09-15 11:55:33 +02:00
Julien Froidefond
c627d1abd3 feat: enhance Kanban components with swimlane context support
- Added `context` prop to `PrioritySwimlanesBoard`, `SwimlanesBoard`, and `DroppableColumn` to provide swimlane context for task creation.
- Updated `QuickAddTask` to pre-fill form data based on the swimlane context, improving user experience during task addition.
- Enhanced task handling in `SwimlanesBoard` to include context for tags, ensuring better organization and task management.
2025-09-15 11:53:47 +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
dce11e0569 feat: add task creation functionality to Kanban components
- Integrated `onCreateTask` prop into `PrioritySwimlanesBoard`, `SwimlanesBoard`, and `SwimlanesBase` for task creation support.
- Implemented quick add feature in `DroppableColumn` for streamlined task addition.
- Added modal for complete task creation in `SwimlanesBase`, enhancing user experience.
- Updated relevant components to handle loading state during task creation.
2025-09-15 11:16:32 +02:00
Julien Froidefond
1a21f9b88b feat: enhance Kanban components with visibleStatuses prop
- Added `visibleStatuses` prop to `KanbanBoard`, `PrioritySwimlanesBoard`, `SwimlanesBase`, and `SwimlanesBoard` for improved column visibility control.
- Updated `KanbanBoardContainer` to derive `visibleStatuses` from `useColumnVisibility`, allowing dynamic filtering of displayed statuses.
- Refactored `KanbanFilters` to accept `hiddenStatuses` and `onToggleStatusVisibility` props, enabling better integration with column visibility management.
- Cleaned up visibility logic across components to ensure consistent behavior and user experience.
2025-09-15 11:05:11 +02:00
Julien Froidefond
2f18c08b55 feat: reintroduce ColumnVisibilityToggle in KanbanFilters
- Moved `ColumnVisibilityToggle` from `Board` and `SwimlanesBase` to `KanbanFilters` for better accessibility.
- Updated `KanbanFilters` to manage column visibility, enhancing user control over displayed statuses.
- Cleaned up unused imports and adjusted layout for improved UI consistency.
2025-09-15 10:33:49 +02:00
Julien Froidefond
363e739b5c feat: adding status archived and refacto type in one place only 2025-09-15 10:24:49 +02:00
Julien Froidefond
05cd099cf4 feat: add swimlane mode selection to KanbanFilters and BoardContainer
- Introduced `swimlanesMode` in `KanbanFilters` to toggle between 'tags' and 'priority' swimlanes.
- Updated `KanbanBoardContainer` to conditionally render `PrioritySwimlanesBoard` based on the selected mode.
- Enhanced UI to include dropdown for swimlane mode selection, improving user experience in task organization.
- Adjusted `TasksContext` to persist swimlane mode preferences, ensuring consistent behavior across sessions.
2025-09-15 10:17:36 +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
fc20154ef6 feat: sort tasks by count in SwimlanesBoard
- Updated sorting logic in `SwimlanesBoard` to prioritize tags based on the number of associated tasks in descending order.
- Ensured "Sans tag" is always displayed last for better organization.
2025-09-15 09:21:40 +02:00
Julien Froidefond
20e53f69ea style: enhance emoji rendering in TaskCard
- Updated emoji display in TaskCard to use a specific font family for better visual consistency.
- Added `font-emoji` class and inline styles to ensure proper rendering of emojis across different platforms.
2025-09-15 09:18:40 +02:00
Julien Froidefond
1b97323279 refactor: improve layout and structure of KanbanFilters
- Updated the layout of the expanded filters section to use a grid system for better responsiveness.
- Enhanced the priority filter display with improved button styling and spacing.
- Maintained tag filter functionality while ensuring consistent styling and layout adjustments.
2025-09-15 09:15:10 +02:00
Julien Froidefond
b8b35547aa feat: add cancelled and freeze stats to Header component
- Introduced `cancelled` and `freeze` properties to `HeaderProps` for enhanced task tracking.
- Updated rendering logic to conditionally display `StatCard` components for `FREEZE` and `CANCEL` statuses based on their values, improving user feedback on task distribution.
2025-09-15 08:49:02 +02:00
Julien Froidefond
6d2226f243 fix: mark task sorting as complete in TODO
- Updated TODO.md to reflect that task sorting (by date, priority, and alphabetical order) is now complete.
- Ensured clarity in project progress tracking.
2025-09-15 08:47:15 +02:00
Julien Froidefond
e6efccc3d1 feat: sort tags in KanbanFilters by usage count
- Added sorting functionality to `KanbanFilters` to display tags in descending order based on their usage count.
- Introduced `sortedTags` using `useMemo` for performance optimization, ensuring efficient re-calculation when `availableTags` or `tagCounts` change.
- Updated the rendering logic to utilize `sortedTags` instead of `availableTags`, enhancing the user experience by prioritizing frequently used tags.
2025-09-15 08:45:42 +02:00
Julien Froidefond
bfe542bf10 fix: update KanbanFilters to use regularTasks instead of tasks
- Changed `tasks` to `regularTasks` in `KanbanFilters` for accurate task counting.
- Updated priority and tag count calculations to reflect the new `regularTasks` prop, ensuring filters work with non-pinned tasks.
- Adjusted `TasksContext` to provide `regularTasks`, enhancing task management clarity.
2025-09-15 08:44:23 +02:00
Julien Froidefond
165d414fef feat: enhance column visibility toggle with task counts
- Added `tasks` prop to `ColumnVisibilityToggle` for displaying task counts per status.
- Updated `KanbanFilters` to calculate and show counts for priorities and tags, improving filter visibility.
- Integrated task counts into UI elements for better user feedback on task distribution across statuses, priorities, and tags.
2025-09-15 08:35:55 +02:00
Julien Froidefond
c8cacf1714 feat: add sorting functionality to KanbanFilters
- Enhanced `KanbanFilters` to include sorting options, allowing users to sort tasks dynamically.
- Implemented dropdown for sorting with options rendered via portal to manage z-index issues.
- Updated `TasksContext` to handle sorting preferences and apply sorting logic to both pinned and regular tasks.
- Added `sortBy` property to `KanbanFilters` and user preferences for persistent sorting settings.
2025-09-15 08:32:01 +02:00
Julien Froidefond
d681a6c127 feat: enhance task forms and Kanban components with dynamic priority loading
- Updated `CreateTaskForm` and `EditTaskForm` to load priority options dynamically using `getAllPriorities`, improving maintainability.
- Refactored `KanbanFilters` to utilize dynamic priority options, enhancing filter functionality.
- Modified `QuickAddTask` and `TaskCard` to display priorities using centralized configuration, ensuring consistency across the application.
- Introduced new utility functions in `status-config.ts` for managing priority configurations, streamlining the task management process.
2025-09-15 08:17:45 +02:00
Julien Froidefond
e6d24f2693 feat: extend task management with new statuses and centralized configuration
- Added `cancelled` and `freeze` statuses to `TasksResponse`, `HomePageClientProps`, and `useTasks` for comprehensive task tracking.
- Updated task forms to dynamically load statuses using `getAllStatuses`, enhancing maintainability and reducing hardcoded values.
- Refactored Kanban components to utilize centralized status configuration, improving consistency across the application.
- Adjusted visibility toggle and swimlanes to reflect new status options, ensuring a seamless user experience.
2025-09-14 23:06:50 +02:00
Julien Froidefond
2df64262ab feat: optimize active filters display in KanbanFilters
- Replaced `hasActiveFilters` with `activeFiltersCount` for clearer filter count logic.
- Updated UI to show the count of active filters instead of a boolean check, enhancing user feedback on active filters.
2025-09-14 22:47:23 +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
da64221407 feat: refactor ObjectivesBoard and enhance column visibility management
- Replaced local state management in `ObjectivesBoard` with `useObjectivesCollapse` hook for better state handling.
- Updated collapse button logic to use the new hook's toggle function, improving code clarity.
- Refactored `useColumnVisibility` to load user preferences on mount and persist visibility changes, enhancing user experience.
- Integrated user preferences for Kanban filters in `TasksContext`, allowing for persistent filter settings across sessions.
2025-09-14 22:42:22 +02:00
Julien Froidefond
1597f0fea1 feat: add column visibility toggle to Kanban and Swimlanes boards
- Integrated `useColumnVisibility` hook for managing column visibility states.
- Added `ColumnVisibilityToggle` component to both `KanbanBoard` and `SwimlanesBoard` for user control over visible columns.
- Updated rendering logic to filter and display only visible columns, enhancing user experience and task organization.
2025-09-14 22:34:51 +02:00
Julien Froidefond
86920d1056 feat: implement drag-and-drop functionality in SwimlanesBoard
- Added DnD context and sensors for task reordering within swimlanes.
- Introduced DroppableColumn component for handling droppable areas for tasks.
- Implemented drag start and end handlers to manage task status updates.
- Enhanced UI with collapsible swimlanes and drag overlay for active tasks.
- Adjusted layout for better task organization and user interaction.
2025-09-14 22:30:38 +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
c4f68bb00c feat: add swimlanes view toggle to Kanban board
- Introduced `swimlanesByTags` filter in `KanbanFilters` to toggle between swimlanes and standard Kanban view.
- Updated `BoardContainer` to conditionally render `SwimlanesBoard` or `KanbanBoard` based on the selected filter.
- Enhanced UI with a button to switch views, improving task organization and user experience.
2025-09-14 21:53:42 +02:00
Julien Froidefond
7927b0aec2 feat: enhance TagInput component with popular tags loading
- Added `loadPopularTags` function to fetch and display popular tags when the input is empty.
- Updated `TagInput` to show suggestions based on input focus and improved suggestion display with a grid layout.
- Adjusted styles for better visual clarity and user experience.
2025-09-14 21:49:52 +02:00
Julien Froidefond
3cca0fe1dc fix: update task fetching logic in useTasks hook
- Modified the getTasks call to include limit as undefined, ensuring all tasks are fetched without restriction.
- Adjusted the dev.db file, reflecting changes in the database schema or data.
2025-09-14 21:46:02 +02:00
Julien Froidefond
249f3a750f feat: enhance KanbanColumn and TaskCard styles for better responsiveness
- Updated KanbanColumn to adjust width for medium screens, improving layout flexibility.
- Modified TaskCard title font size for better readability and increased line clamp for title overflow.
- Adjusted margin for task tags based on task status, enhancing visual clarity.
2025-09-14 21:42:39 +02:00