Commit Graph

386 Commits

Author SHA1 Message Date
Julien Froidefond
714f8ccd5e feat: integrate emoji-mart and refactor emoji usage
- Added @emoji-mart/data and @emoji-mart/react dependencies for enhanced emoji support.
- Replaced static emoji characters with Emoji component in various UI components for consistency and improved rendering.
- Updated generateDateTitle function to return an object with emoji and text for better structure.
- Marked the task for removing emojis from the UI as complete in TODO.md.
2025-10-05 20:29:46 +02:00
Julien Froidefond
7490c38d55 feat: update profile and dashboard components
- Simplified avatar rendering logic in ProfilePage by removing unnecessary eslint-disable comments.
- Added primaryTagId and availableTags props to RecentTasks for better task management.
- Cleaned up imports in TagDistributionChart by removing unused PieLabelRenderProps.
- Removed redundant mobile link class function in HeaderMobile for improved readability.
2025-10-04 11:52:33 +02:00
Julien Froidefond
b2a8c961a8 feat: enhance Jira sync and update TODO.md
- Added handling for unknown statuses in Jira sync, logging them for better debugging and mapping to "todo" by default.
- Updated sync result structure to include unknown statuses and reflected this in the UI for visibility.
- Adjusted JQL to include recently resolved tasks for better status updates during sync.
- Marked the integration of unknown status handling as complete in TODO.md.
2025-10-04 11:49:41 +02:00
Julien Froidefond
ffd3eb998a feat: enhance avatar handling and update TODO.md
- Added Avatar component with support for custom URLs and Gravatar integration, improving user profile visuals.
- Implemented logic to determine avatar source based on user preferences in profile actions.
- Updated ProfilePage to utilize the new Avatar component for better consistency.
- Marked the integration of Gravatar and custom avatar handling as complete in TODO.md.
2025-10-04 11:35:08 +02:00
Julien Froidefond
ad0b723e00 feat: update TODO.md and refactor Header component
- Removed redundant theme handling code from Header component, improving readability and maintainability.
- Integrated HeaderMobile and HeaderDesktop components for better responsive design.
- Marked the task for repositioning the theme icon in the header as complete in TODO.md.
2025-10-04 11:06:49 +02:00
Julien Froidefond
89af1fc597 feat: refactor theme handling and update TODO.md
- Replaced references from theme-config to ui-config for better organization and clarity in theme management.
- Updated Solarized icon in ui-config to a pill emoji for improved visual representation.
- Marked the Solarized icon correction task as complete in TODO.md.
- Deleted the now redundant theme-config file to streamline the codebase.
2025-10-04 10:53:57 +02:00
Julien Froidefond
052b2c2c66 feat: conditionally render refresh button in ManagerWeeklySummary component
- Wrapped the refresh button in a conditional check to only display when the active view is not 'metrics', improving UI clarity and preventing unnecessary actions in the metrics view.
2025-10-04 10:48:20 +02:00
Julien Froidefond
34f1a62435 feat: replace Input with DateTimeInput component in forms and modals
- Updated CreateTaskForm, TaskBasicFields, and EditCheckboxModal to use DateTimeInput for date selection, enhancing consistency and user experience.
- Improved UI by integrating lucide-react Calendar icon in DateTimeInput for better visual feedback.
- Marked EditModal task color issue as complete in TODO.md.
2025-10-04 10:47:27 +02:00
Julien Froidefond
35bda37599 feat: enhance Calendar component legend styling
- Updated the legend in the Calendar component for improved visual clarity.
- Adjusted spacing, added borders, and modified item sizes for better alignment and readability.
- Ensured consistent text styling for legend items.
2025-10-04 10:41:31 +02:00
Julien Froidefond
94145c1ffd feat: integrate lucide-react icons in DailyAddForm and DailySection
- Replaced text icons with lucide-react icons for 'task' and 'meeting' options in DailyAddForm and DailySection for improved visual consistency.
- Updated DailyAddForm to use ToggleButton for better UI interaction and added default icons for options.
- Enhanced FormsSection to reflect these changes in the DailyAddForm usage.
2025-10-04 10:38:37 +02:00
Julien Froidefond
eac9e9a0bb feat: update TODO.md and enhance dashboard components
- Marked several UI/UX tasks as complete in TODO.md, including improvements for Kanban icons, tag visibility, recent tasks display, and header responsiveness.
- Updated PriorityDistributionChart to adjust height for better layout.
- Refined IntegrationFilter to improve filter display and added new trigger class for dropdowns.
- Replaced RecentTaskTimeline with TaskCard in RecentTasks for better consistency.
- Enhanced TagDistributionChart with improved tooltip and legend styling.
- Updated DesktopControls and MobileControls to use lucide-react icons for filters and search functionality.
- Removed RecentTaskTimeline component for cleaner codebase.
2025-10-04 07:17:39 +02:00
Julien Froidefond
c7ad1c0416 feat: replace SVGs with lucide-react icons across components
- Updated ProfilePage, AuthButton, RecentTasks, WelcomeSection, DesktopControls, MobileControls, and various Kanban components to use lucide-react icons instead of SVGs for improved consistency and maintainability.
- Icons replaced include Check, User, Mail, Calendar, Shield, Save, X, Loader2, Filter, Target, List, Grid3X3, ChevronDown, ChevronRight, Edit, Trash2, and Plus.
2025-10-04 06:25:04 +02:00
Julien Froidefond
e14b428e12 feat: add lucide-react icons to QuickActions component
- Integrated lucide-react icons for QuickActions, replacing SVGs with Plus, LayoutGrid, Calendar, and Settings icons for improved UI consistency.
- Updated package.json and package-lock.json to include lucide-react dependency.
- Marked the Gravatar task as complete in TODO.md for better tracking of UI/UX improvements.
2025-10-03 17:32:34 +02:00
Julien Froidefond
0658b8ff93 feat: update Card components to use variant="glass"
- Changed Card components in various charts and dashboard sections to use the "glass" variant for a consistent UI enhancement.
- This update affects CompletionTrendChart, PriorityDistributionChart, VelocityChart, WeeklyStatsCard, DashboardStats, ProductivityAnalytics, RecentTasks, TagDistributionChart, MetricsDistributionCharts, MetricsMainCharts, CriticalDeadlinesCard, DeadlineRiskCard, DeadlineSummaryCard, and StatCard.
2025-10-03 17:29:46 +02:00
Julien Froidefond
9fb374fb23 feat: update TODO.md with UI/UX issues and feature requests
- Added a comprehensive list of UI/UX problems identified in meetings, including design improvements for homepage cards, Gravatar integration, and various icon enhancements.
- Included feature requests for Jira/TFS integration and activity logging.
- Organized issues into categories for better clarity and tracking.
2025-10-03 17:24:50 +02:00
Julien Froidefond
48e3822696 feat: enhance login page with random theme and background features
- Added RandomThemeApplier to apply a random theme on login.
- Introduced RandomBackground component for setting a random background from presets.
- Updated GlobalKeyboardShortcuts import in RootLayout for consistent keyboard shortcut handling.
- Refactored BackgroundContext to include cycleBackground functionality for dynamic background changes.
- Removed deprecated useBackgroundCycle hook to streamline background management.
2025-10-03 17:11:02 +02:00
Julien Froidefond
aae35aa811 feat: add alignRight prop to IntegrationFilter and update HomePageClient
- Introduced alignRight prop in IntegrationFilter for dropdown alignment control.
- Updated HomePageClient to pass alignRight as true, ensuring consistent dropdown positioning.
2025-10-03 09:21:20 +02:00
Julien Froidefond
943d14cfc1 feat: add discreet info on story points calculation in Jira dashboard
- Included a new info banner in the overview tab explaining the use of story points in Jira.
- The banner provides default values for different task types when story points are not defined.
2025-10-03 09:11:24 +02:00
Julien Froidefond
c84ee86ed4 feat: add maxSyncPeriod configuration to TFS settings
- Introduced maxSyncPeriod option in TfsConfigForm for user-defined synchronization duration.
- Updated TfsService to filter pull requests based on the configured maxSyncPeriod.
- Enhanced TfsPullRequest type to include 'rejected' status for better PR management.
- Set default maxSyncPeriod to '90d' in user preferences and TFS configuration.
2025-10-03 09:06:24 +02:00
Julien Froidefond
7900ba3b73 feat: optimize task handling in PendingTasksSection
- Implemented optimistic UI updates for task archiving and deletion to enhance user experience.
- Added error handling to reload pending tasks in case of failures during task operations.
- Streamlined task state management by filtering out archived or deleted tasks immediately.
2025-10-03 08:45:46 +02:00
Julien Froidefond
1a670cb392 feat: update CriticalDeadlinesCard to use TaskCard and add disableHover prop
- Replaced custom task rendering with TaskCard component for better consistency and maintainability.
- Introduced disableHover prop to control hover effects on task cards.
- Updated DeadlineOverview to pass disableHover prop as true.
2025-10-03 08:44:14 +02:00
Julien Froidefond
1dfb8f8ac1 feat: enhance HomePage with tag metrics and analytics integration
- Added TagAnalyticsService to fetch tag distribution metrics for the HomePage.
- Updated HomePageClient and ProductivityAnalytics components to utilize new tag metrics.
- Refactored TagsClient to use utility functions for color validation and generation.
- Simplified TagForm to use centralized tag colors from TAG_COLORS.
2025-10-03 08:37:43 +02:00
Julien Froidefond
735070dd6f feat: refactor IntegrationFilter for Kanban and Dashboard compatibility
- Updated IntegrationFilter to support both Kanban and Dashboard modes with new filters for manual tasks.
- Replaced SourceQuickFilter with IntegrationFilter in Desktop and Mobile controls for consistency.
- Removed deprecated SourceQuickFilter component to streamline codebase.
- Enhanced task filtering logic to include pinned tasks and manual task visibility.
2025-10-03 08:30:40 +02:00
Julien Froidefond
2137da2ac2 feat: refine TFS scheduler and user-specific configurations
- Enhanced TFS scheduler logic to better manage user-specific settings and preferences.
- Updated API routes for improved handling of user-specific configurations in TFS operations.
- Cleaned up related components to streamline user interactions and ensure accurate task synchronization.
2025-10-03 08:17:48 +02:00
Julien Froidefond
c1de8cd064 feat: update TODO_ARCHIVE and TODO with new features and refactoring notes
- Added completed tasks for background image customization and TFS scheduler integration in TODO_ARCHIVE.
- Cleaned up TODO list by removing completed items related to dark mode and background image features.
- Documented new functionalities and architectural changes for better clarity and tracking.
2025-10-03 08:17:13 +02:00
Julien Froidefond
a1f82a4c9b feat: refactor TFS integration structure and add scheduler functionality
- Updated TFS service imports to a new directory structure for better organization.
- Introduced new API routes for TFS scheduler configuration and status retrieval.
- Implemented TFS scheduler logic to manage automatic synchronization based on user preferences.
- Added components for TFS configuration and scheduler management, enhancing user interaction with TFS settings.
- Removed deprecated TfsSync component, consolidating functionality into the new structure.
2025-10-03 08:15:12 +02:00
Julien Froidefond
f4c6b1181f feat: enhance TFS and Jira field tests with user-specific configurations
- Updated `testJiraFields` and `testStoryPoints` to accept a `userId` from command line arguments, allowing for user-specific Jira configurations.
- Modified TFS sync and test routes to include user authentication checks and pass the logged-in user's ID for task synchronization and connection testing.
- Refactored `TfsService` methods to utilize user-specific configurations, improving flexibility and accuracy in TFS operations.
2025-10-03 07:51:57 +02:00
Julien Froidefond
39936f5d06 feat: enhance Jira scheduler with user-specific handling
- Updated `jiraScheduler` methods to accept a `userId` parameter, allowing for user-specific configurations and status retrieval.
- Modified the `POST` and `GET` routes to pass the current user's ID, ensuring accurate scheduler status and actions based on the logged-in user.
- Adjusted the `JiraSchedulerConfig` component to reflect changes in scheduler activation logic from `isEnabled` to `isRunning`, improving clarity in the UI.
- Enhanced synchronization response structure to provide detailed task statistics for better client-side handling.
2025-10-03 07:48:21 +02:00
Julien Froidefond
775788fdb5 feat: ensure user existence in getOrCreateUserPreferences
- Added upsert logic to check and create a user if they don't exist before fetching user preferences.
- This prevents duplicates and ensures a default user setup with a temporary password.
2025-10-03 07:39:21 +02:00
Julien Froidefond
10c1f811ce feat: integrate ToastProvider and enhance theme management
- Added `ToastProvider` to `RootLayout` for improved user feedback on theme changes.
- Updated `ThemeProvider` to display toast notifications with theme names and icons upon theme changes.
- Refactored theme-related imports to streamline code and improve maintainability.
- Simplified background cycling logic in `useBackgroundCycle` to utilize centralized background definitions.
- Cleaned up unused background definitions in `BackgroundContext` for better clarity and performance.
2025-10-02 17:24:37 +02:00
Julien Froidefond
99377ee38d feat: enhance BackgroundImageSelector with custom image management
- Removed preserved custom URL handling and replaced it with a custom images array for better management of user-added backgrounds.
- Updated the component to allow adding, selecting, and removing custom images, improving user experience and flexibility.
- Adjusted background cycling logic to include custom images, ensuring a seamless integration with existing backgrounds.
2025-10-02 14:40:50 +02:00
Julien Froidefond
fbb9311f9e feat: update background gradients and presets in BackgroundImageSelector
- Adjusted gradient definitions for various themes to enhance visual appeal and consistency.
- Added new gradient presets (sunset, ocean, forest, galaxy) to the BackgroundContext for broader customization options.
- Cleaned up unused console logs in useBackgroundCycle for better performance and readability.
2025-10-02 14:14:06 +02:00
Julien Froidefond
9094aca1ff feat: enhance keyboard shortcuts and background image handling
- Added `GlobalKeyboardShortcuts` component to manage global keyboard shortcuts.
- Introduced new keyboard shortcut (Shift + B) for changing the background.
- Updated `BackgroundImageSelector` to preserve custom background URLs and allow restoration of previously set backgrounds.
- Improved local storage handling for custom backgrounds to enhance user experience.
2025-10-02 13:52:18 +02:00
Julien Froidefond
d4e8dc144b style: update Kanban components for improved background effects
- Adjusted background opacity in `Board` and `SwimlanesBase` components to enhance visual layering.
- Modified `Card` component to support a new `background` prop for better customization of column cards.
- Updated styles for `Card` variants to include new gradient effects and backdrop blur adjustments, improving overall aesthetics.
2025-10-02 13:38:31 +02:00
Julien Froidefond
46c1c5e9a1 feat: add integration filtering to dashboard components
- Introduced `IntegrationFilter` to allow users to filter tasks by selected and hidden sources.
- Updated `DashboardStats`, `ProductivityAnalytics`, `RecentTasks`, and `HomePageContent` to utilize the new filtering logic, enhancing data presentation based on user preferences.
- Implemented filtering logic in `AnalyticsService` and `DeadlineAnalyticsService` to support source-based metrics calculations.
- Enhanced UI components to reflect filtered task data, improving user experience and data relevance.
2025-10-02 13:15:10 +02:00
Julien Froidefond
2e3e8bb222 feat: optimize UserPreferencesContext with debounce and local storage
- Added debounce functionality for kanban filters, view preferences, and column visibility updates to reduce server load.
- Implemented local storage synchronization for immediate updates, ensuring user preferences persist across sessions.
- Removed unnecessary startTransition calls to streamline state updates and improve UI responsiveness.
2025-10-02 12:31:29 +02:00
Julien Froidefond
63ef861360 feat: add isArchived property to DailyCheckbox and related components
- Introduced `isArchived` property to `DailyCheckbox` to track archived tasks.
- Updated `DailyCheckboxItem`, `CheckboxItem`, and `DailySection` components to reflect archived state in UI.
- Adjusted checkbox behavior to disable interactions for archived tasks and visually indicate their status.
- Enhanced task management services to include archived status during task creation and updates.
2025-10-02 11:02:29 +02:00
Julien Froidefond
e0b5afb437 refactor: simplify KanbanFilters and SourceQuickFilter components
- Removed unused imports and state management for dropdowns, enhancing performance and readability.
- Replaced custom dropdown implementation with a reusable `Dropdown` component for better consistency across the UI.
- Updated button styles and logic for clearer user interaction in the filters.
- Integrated dropdowns into the `SourceQuickFilter` for improved functionality and user experience.
2025-10-02 08:32:10 +02:00
Julien Froidefond
7e79dbe49c feat: enhance BackgroundImageSelector with new gradients and custom URL input
- Added new gradient options for background selection, including sunset, ocean, forest, and galaxy themes.
- Updated existing gradient descriptions and previews for clarity.
- Improved custom URL input with enhanced styling and performance tips for better user guidance.
- Reset advanced options when the background image changes to streamline user experience.
2025-10-01 22:54:06 +02:00
Julien Froidefond
ead02e0aaa fix: add pointer-events-none to Card variants
- Updated Card component styles to include `pointer-events-none` for all variants, preventing interaction during background effects. This enhances user experience by ensuring visual elements do not interfere with user actions.
2025-10-01 22:50:49 +02:00
Julien Froidefond
133a09f995 feat: enhance Card and StyledCard components with new shadow and gradient effects
- Added new shadow variables for light, medium, and heavy effects in `globals.css` to improve card depth.
- Updated `Card` and `StyledCard` components to utilize these shadows and introduced gradient backgrounds for a more dynamic appearance.
- Enhanced hover effects in `TaskCard` for improved user interaction with scaling and opacity transitions.
2025-10-01 22:23:29 +02:00
Julien Froidefond
e73e46893f feat: implement personalized background image feature
- Added functionality for users to select and customize background images in settings, including predefined options and URL uploads.
- Updated `ViewPreferences` to store background image settings and modified `userPreferencesService` to handle updates.
- Enhanced global styles for improved readability with background images, including blur and transparency effects.
- Integrated `BackgroundImageSelector` component into settings for intuitive user experience.
- Refactored `Card` components across the app to use a new 'glass' variant for better aesthetics.
2025-10-01 22:15:11 +02:00
Julien Froidefond
988ffbf774 refactor: remove automatic theme synchronization in UserPreferencesContext
- Eliminated automatic synchronization of user preferences with the theme from ThemeContext, simplifying the logic.
- Updated related useEffect hooks to reflect this change, ensuring that ThemeContext remains the source of truth for theme management.
2025-10-01 21:48:54 +02:00
Julien Froidefond
0d20d602cb feat: enhance Card and TaskCard components with gradient backgrounds and hover effects
- Updated `Card` component to include gradient backgrounds for different variants, improving visual depth.
- Modified `TaskCard` hover effects to include scaling and translation for a more dynamic user interaction experience.
2025-10-01 21:43:18 +02:00
Julien Froidefond
a034e265fd feat: update task statistics calculation
- Renamed variables in `getTaskStats` for clarity, changing `completed` to `done` and ensuring `archived` is counted separately.
- Added logic to calculate `completed` tasks as the sum of `done` and `archived`, improving task status reporting.
2025-10-01 21:28:24 +02:00
Julien Froidefond
c104fc0e11 feat: enhance WelcomeSection with animations and particle effects
- Added animation states for welcome message, time message, and greeting to improve user engagement.
- Introduced particle effects for a dynamic background experience.
- Refactored button to trigger message refresh with animations, enhancing interactivity.
- Updated styles for improved visual appeal and responsiveness.
2025-10-01 21:24:45 +02:00
Julien Froidefond
e2527ca88a feat: add primary tag functionality to tasks
- Introduced `primaryTagId` to `Task` model and updated related components to support selecting a primary tag.
- Enhanced `TaskCard`, `EditTaskForm`, and `TagInput` to handle primary tag selection and display.
- Updated `TasksService` to manage primary tag data during task creation and updates.
- Added `emoji-regex` dependency for improved emoji handling in task titles.
2025-10-01 21:11:50 +02:00
Julien Froidefond
014b0269dc fix: nextauth env in docker compose 2025-10-01 14:41:44 +02:00
Julien Froidefond
5b3f705689 feat: update AuthButton and Header for improved user experience
- Increased avatar and icon sizes in `AuthButton` for better visibility.
- Integrated session handling in `Header` to display user profile link and sign-out button when authenticated, enhancing mobile menu functionality.
- Refactored mobile menu overlay to a modal for improved usability.
2025-10-01 13:56:15 +02:00
Julien Froidefond
f13ed5b8d9 feat: integrate ConfirmModal for delete confirmations across components
- Added `ConfirmModal` to `TaskCard`, `JiraConfigForm`, `TfsConfigForm`, and `TagsManagement` for improved user experience during delete actions.
- Replaced direct confirmation prompts with modals, enhancing UI consistency and usability.
- Updated state management to handle modal visibility and confirmation logic effectively.
2025-10-01 13:47:57 +02:00