Commit Graph

64 Commits

Author SHA1 Message Date
Julien Froidefond
2fbfab1b9e feat: update swimlane column titles with status colors
- Marked the TODO item for swimlane column title colors as complete.
- Enhanced `SwimlanesBase` component to apply dynamic styles based on status colors using `getTechStyle`.
- Updated `dev.db` to reflect changes in the database schema.
2025-09-18 15:58:09 +02:00
Julien Froidefond
523a7f00cc fix: improve QuickAddTask and TagInput components
- Added `min-w-0` class to the title input in `QuickAddTask` for better layout handling.
- Updated priority select to use `flex-shrink-0` and `w-10` for consistent sizing and added title tooltip for better UX.
- Enhanced `TagInput` to support `compactSuggestions` prop, adjusting suggestion display based on available space.
- Modified suggestion container to conditionally apply grid classes based on `compactSuggestions`, improving responsiveness.
2025-09-18 15:44:06 +02:00
Julien Froidefond
8c88322823 fix: lint and types 2025-09-18 11:30:19 +02:00
Julien Froidefond
fefcc91a03 feat: remove Filters 2025-09-18 09:56:46 +02:00
Julien Froidefond
7394b16999 feat: add font size toggle functionality
- Implemented a FontSizeToggle component in HomePageClient for adjusting task font sizes in kanban views.
- Updated TaskCard to apply dynamic font size classes based on user preferences.
- Enhanced user preferences to include font size settings, defaulting to 'medium'.
- Modified TODO.md to mark the font size toggle task as complete.
2025-09-18 09:51:40 +02:00
Julien Froidefond
4a4eb9c8ad refacto: passing by server actions on taskCard 2025-09-18 09:37:46 +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
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
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
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
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
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
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
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
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
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
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
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
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