feat: enhance metrics dashboard with new components and data handling

- Introduced `MetricsOverview`, `MetricsMainCharts`, `MetricsDistributionCharts`, `MetricsVelocitySection`, and `MetricsProductivitySection` for improved metrics visualization.
- Updated `MetricsTab` to integrate new components and streamline data presentation.
- Added compatibility fields in `JiraTask` and `AssigneeDistribution` for better data handling.
- Refactored `calculateAssigneeDistribution` to include a count for total issues.
- Enhanced `JiraAnalyticsService` and `JiraAdvancedFiltersService` to support new metrics calculations.
- Cleaned up unused imports and components for a more maintainable codebase.
This commit is contained in:
Julien Froidefond
2025-09-21 15:55:11 +02:00
parent c650c67627
commit 0a03e40469
43 changed files with 2781 additions and 1805 deletions

View File

@@ -39,11 +39,38 @@ const UserPreferencesContext = createContext<UserPreferencesContextType | null>(
interface UserPreferencesProviderProps {
children: ReactNode;
initialPreferences: UserPreferences;
initialPreferences?: UserPreferences;
}
const defaultPreferences: UserPreferences = {
kanbanFilters: {
search: '',
tags: [],
priorities: [],
showCompleted: false,
sortBy: 'priority'
},
viewPreferences: {
compactView: false,
swimlanesByTags: false,
showObjectives: true,
showFilters: true,
objectivesCollapsed: false,
theme: 'light',
fontSize: 'medium'
},
columnVisibility: {
hiddenStatuses: []
},
jiraConfig: {
enabled: false
},
jiraAutoSync: false,
jiraSyncInterval: 'daily'
};
export function UserPreferencesProvider({ children, initialPreferences }: UserPreferencesProviderProps) {
const [preferences, setPreferences] = useState<UserPreferences>(initialPreferences);
const [preferences, setPreferences] = useState<UserPreferences>(initialPreferences || defaultPreferences);
const [isPending, startTransition] = useTransition();
// Synchroniser le thème avec le ThemeProvider global (si disponible)