Commit Graph

111 Commits

Author SHA1 Message Date
Julien Froidefond
339661aa13 feat: metrics on Manager page 2025-09-19 17:05:13 +02:00
Julien Froidefond
9d0b6da3a0 refactor: remove deprecated weekly summary components and related services
- Deleted `WeeklySummaryClient`, `VelocityMetrics`, `PeriodSelector`, and associated services to streamline the codebase.
- Removed the `weekly-summary` API route and related PDF export functionality, as these features are no longer in use.
- Updated `TODO.md` to reflect the removal of these components and their functionalities.
2025-09-19 15:26:20 +02:00
Julien Froidefond
888e81d15d feat: add 'Manager' link to Header component
- Introduced a new navigation link for the 'Manager' page in the Header component, improving user access to management features.
2025-09-19 15:07:04 +02:00
Julien Froidefond
c4d8bacd97 feat: enhance GeneralSettingsPage with tag management
- Added tag management functionality to the `GeneralSettingsPageClient`, including filtering, sorting, and CRUD operations for tags.
- Integrated a modal for creating and editing tags, improving user experience in managing task labels.
- Updated the `Header` component to replace the 'Tags' link with 'Manager'.
- Removed the deprecated `TagsPage` and `TagsPageClient` components to streamline the codebase.
- Adjusted data fetching in `page.tsx` to include initial tags alongside user preferences.
2025-09-19 13:34:15 +02:00
Julien Froidefond
d6722e90d1 fix: correct date formatting in VelocityMetrics component
- Updated date formatting in the `VelocityMetrics` component to ensure proper conversion of `week.weekStart` to a Date object before calling `toLocaleDateString`. This change improves the reliability of date display in the dashboard.
2025-09-19 12:37:15 +02:00
Julien Froidefond
fded7d0078 feat: add weekly summary features and components
- Introduced `CategoryBreakdown`, `JiraWeeklyMetrics`, `PeriodSelector`, and `VelocityMetrics` components to enhance the weekly summary dashboard.
- Updated `WeeklySummaryClient` to manage period selection and PDF export functionality.
- Enhanced `WeeklySummaryService` to support period comparisons and activity categorization.
- Added new API route for fetching weekly summary data based on selected period.
- Updated `package.json` and `package-lock.json` to include `jspdf` and related types for PDF generation.
- Marked several tasks as complete in `TODO.md` to reflect progress on summary features.
2025-09-19 12:28:11 +02:00
Julien Froidefond
978bb4d380 feat: add weekly summary link to Header component
- Introduced a new navigation link for the weekly summary in the Header component, enhancing user access to summary insights.
2025-09-19 10:28:33 +02:00
Julien Froidefond
3dd6e0fd1c feat: enhance Jira dashboard with advanced filtering and sprint details
- Updated `TODO.md` to mark several tasks as complete, including anomaly detection and sprint detail integration.
- Enhanced `VelocityChart` to support click events for sprint details, improving user interaction.
- Added `FilterBar` and `AnomalyDetectionPanel` components to `JiraDashboardPageClient` for advanced filtering capabilities.
- Implemented state management for selected sprints and modal display for detailed sprint information.
- Introduced new types for advanced filtering in `types.ts`, expanding the filtering options available in the analytics.
2025-09-19 10:13:48 +02:00
Julien Froidefond
b7707d7651 feat: reintroduce TaskStats to HomePageClient and TasksProvider
- Added `initialStats` prop to `HomePageClient` and `TasksProvider` to enhance task management capabilities.
- Updated data fetching in `page.tsx` to include task statistics, improving overall functionality.
- Adjusted `useTasks` hook to utilize the new `stats` parameter, ensuring comprehensive task data handling.
2025-09-19 09:05:11 +02:00
Julien Froidefond
013b3d4d40 feat: remove TaskStats from HomePageClient and Header components
- Eliminated `initialStats` prop from `HomePageClient` and `KanbanPageClient` to streamline data handling.
- Updated `Header` and `HeaderContainer` components to remove references to `stats`, enhancing clarity and reducing unnecessary complexity.
- Adjusted `useTasks` hook to make `stats` optional, ensuring compatibility with the updated components.
2025-09-19 08:57:51 +02:00
Julien Froidefond
c2681f9399 feat: enhance JiraConfigForm with conditional display and instructions
- Added state management for form visibility with `showForm` to toggle display based on Jira configuration.
- Implemented instructions for configuration, detailing base URL, email, and API token setup.
- Updated UI to improve user interaction with a button to show/hide the form.
2025-09-19 08:44:25 +02:00
Julien Froidefond
5a6d907006 feat: integrate Jira configuration into Header and layout
- Added `JiraConfigProvider` to `layout.tsx` for server-side Jira configuration retrieval.
- Updated `Header.tsx` to conditionally display a link to the Jira dashboard with the project key if Jira is configured.
- Enhanced user experience by integrating Jira settings into the main application layout.
2025-09-19 08:36:55 +02:00
Julien Froidefond
2008cc3382 feat: update Jira components with improved color schemes and UI enhancements
- Refined color schemes in `BurndownChart`, `CollaborationMatrix`, `ThroughputChart`, and `TeamActivityHeatmap` for better visibility and consistency.
- Adjusted opacity handling in `TeamActivityHeatmap` for improved visual clarity.
- Cleaned up imports in `CollaborationMatrix` and `SprintComparison` for better code organization.
- Enhanced `JiraSync` component with updated color for the sync status indicator.
- Updated `jira-period-filter` to remove unused imports, streamlining the codebase.
2025-09-19 08:30:49 +02:00
Julien Froidefond
0acc54025b feat: enhance Jira dashboard with export functionality and sprint comparison
- Added export options for CSV and JSON in `JiraDashboardPageClient`, allowing users to download metrics easily.
- Integrated `SprintComparison` component to visualize inter-sprint trends and predictions.
- Updated TODO.md to reflect completion of export metrics and sprint comparison features.
2025-09-18 22:43:11 +02:00
Julien Froidefond
10de6d25f7 feat: add predictability and collaboration metrics to Jira dashboard
- Marked predictability and collaboration tasks as complete in TODO.md.
- Integrated `PredictabilityMetrics` and `CollaborationMatrix` components into `JiraDashboardPageClient` for enhanced analytics visualization.
- Updated UI layout to include new metrics cards, improving dashboard functionality.
2025-09-18 22:37:43 +02:00
Julien Froidefond
5d73a6c279 feat: add advanced metrics to Jira dashboard
- Marked advanced metrics in TODO.md as complete, including Velocity, Burndown Chart, Cycle Time, Throughput, Work in Progress, and Quality Metrics.
- Integrated BurndownChart, ThroughputChart, and QualityMetrics components into JiraDashboardPageClient for enhanced analytics visualization.
- Updated UI layout to accommodate new metrics cards, improving dashboard functionality.
2025-09-18 22:22:36 +02:00
Julien Froidefond
78a96b9c92 feat: add project key support for Jira analytics
- Introduced `projectKey` and `ignoredProjects` fields in Jira configuration to enhance analytics capabilities.
- Implemented project validation logic in `JiraConfigClient` and integrated it into the `JiraConfigForm` for user input.
- Updated `IntegrationsSettingsPageClient` to display analytics dashboard link based on the configured project key.
- Enhanced API routes to handle project key in Jira sync and user preferences.
- Marked related tasks as complete in `TODO.md`.
2025-09-18 22:08:29 +02:00
Julien Froidefond
4f9cff94f3 feat: integrate Jira ticket information in EditTaskForm
- Added functionality to display Jira ticket details in the `EditTaskForm` when the task source is 'jira'.
- Implemented a helper function to construct the Jira ticket URL based on user preferences.
- Included badges for Jira key, project, and type, enhancing task visibility and user interaction.
- Utilized `useUserPreferences` to fetch Jira configuration dynamically.
2025-09-18 21:13:09 +02:00
Julien Froidefond
b12dd4f8dc feat: migrate tag management to server actions
- Completed migration of tag management to server actions by creating `actions/tags.ts` for CRUD operations.
- Removed obsolete API routes for tags (`/api/tags`, `/api/tags/[id]`) and updated related components to utilize new server actions.
- Updated `TagForm` and `useTags` hook to handle tag creation, updating, and deletion through server actions, improving performance and simplifying client-side logic.
- Cleaned up `tags-client.ts` by removing unused types and methods, focusing on validation only.
- Marked related TODO items as complete in `TODO.md`.
2025-09-18 21:00:28 +02:00
Julien Froidefond
9c2c719384 feat: enhance backup management in AdvancedSettingsPage
- Added backup management functionality to `AdvancedSettingsPageClient`, including creating and verifying backups.
- Updated `package.json` with new backup-related scripts.
- Improved UI to display backup status and next scheduled backup time.
- Updated `.gitignore` to exclude backup files.
- Enhanced server-side data fetching to include backup data and database statistics.
2025-09-18 17:19:37 +02:00
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
02f59caf08 feat: add related todos functionality in task editing
- Implemented `RelatedTodos` component in `EditTaskForm` to display and manage related todos for a task.
- Updated `TasksClient` to fetch daily checkboxes related to a task.
- Enhanced `TasksService` with a method to retrieve related daily checkboxes from the database.
- Added functionality to create new todos linked to tasks in the daily actions.
- Marked the task for displaying related todos in the task editing interface as complete in TODO.md.
2025-09-18 15:26:07 +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
25e934170d feat: update GeneralSettingsPageClient and useDaily hook
- Removed unused `CardHeader` import from `GeneralSettingsPageClient.tsx` for cleaner code.
- Refactored `useDaily.ts` to replace `dailyClient.updateCheckbox` calls with `updateCheckboxAction`, improving consistency with action usage.
- Added `reorderCheckboxesAction` to handle checkbox reordering, including error handling for better user feedback.
- Updated database schema in `dev.db` to reflect recent changes.
2025-09-18 13:59:08 +02:00
Julien Froidefond
8ce1eef6ae feat: update settings page and theme context for user preferences
- Replaced `SettingsPageClient` with `SettingsIndexPageClient` to fetch and display user preferences on the settings page.
- Integrated `userPreferencesService` to retrieve all preferences asynchronously, enhancing data handling.
- Refactored theme management in `ThemeContext` to use `updateViewPreferences` for saving theme changes, improving error handling and user feedback.
- Marked the task for creating dedicated config sub-pages as complete in TODO.md.
2025-09-18 13:50:49 +02:00
Julien Froidefond
23e3c30126 feat: refactor color management in charts and dashboard
- Replaced hardcoded priority colors in `PriorityDistributionChart` and `DashboardStats` with centralized configuration functions for better maintainability.
- Updated `RecentTasks` to utilize new status badge classes and labels from the centralized configuration.
- Enhanced `status-config.ts` with new functions for retrieving colors and styles, ensuring consistency across components.
- Marked the task for refactoring priority colors in TODO.md as complete.
2025-09-18 13:36:07 +02:00
Julien Froidefond
a98bde86d3 feat: implement project ignore list for Jira synchronization
- Updated `JiraConfigForm` to include an input for ignored projects, allowing users to specify projects to exclude from synchronization.
- Enhanced `JiraService` with a method to filter out tasks from ignored projects, improving task management.
- Modified user preferences to store ignored projects, ensuring persistence across sessions.
- Updated API routes to handle ignored projects in configuration, enhancing overall functionality.
- Marked the corresponding task as complete in TODO.md.
2025-09-18 13:29:15 +02:00
Julien Froidefond
cece09d150 feat: enhance Header component with active link styling
- Added `usePathname` hook to determine the current route.
- Implemented `isActiveLink` and `getLinkClasses` functions for dynamic link styling based on active state.
- Adjusted navigation links in the Header to utilize the new styling functions for improved user experience.
- Updated KanbanPageClient subtitle for consistency.
2025-09-18 12:57:10 +02:00
Julien Froidefond
3c7f5ca2fa feat: update package dependencies and integrate Recharts
- Changed project name from "towercontrol-temp" to "towercontrol" in package-lock.json and package.json.
- Added Recharts library for data visualization in the dashboard.
- Updated TODO.md to reflect completion of analytics and metrics integration tasks.
- Enhanced RecentTasks component to utilize TaskPriority type for better type safety.
- Minor layout adjustments in RecentTasks for improved UI.
2025-09-18 12:48:06 +02:00
Julien Froidefond
d38053b4dc feat: revamp HomePageClient and dashboard layout
- Updated HomePageClient to replace Kanban board with a modern dashboard layout.
- Integrated DashboardStats, QuickActions, and RecentTasks components for enhanced user experience.
- Marked several tasks as complete in TODO.md, including the creation of a new dashboard and quick action features.
- Added navigation link for the new dashboard in the Header component.
2025-09-18 11:52:10 +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
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
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
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
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