- Replaced direct usage of `teams` with `localTeams` for better state handling. - Added `getLocalTeam` function to retrieve teams from local state. - Updated team stats management to avoid unnecessary page reloads, enhancing user experience. - Streamlined team addition and deletion processes by directly manipulating local state. - Removed unused `mergeTeamStats` function to simplify codebase.
Composants Admin
Cette section contient tous les composants liés à l'administration de l'application.
Structure des dossiers
📁 overview/
Composants pour la vue d'ensemble de l'administration :
AdminClientWrapper: Wrapper principal pour la vue d'ensembleAdminContentTabs: Onglets "Vue par Direction" et "Vue par Équipe"AdminOverviewCards: Cartes de statistiques généralesDirectionOverview: Vue détaillée par direction
📁 layout/
Composants de layout et navigation pour la gestion :
ManageAdminClientWrapper: Wrapper principal pour les pages de gestionManageContentTabs: Onglets "Gestion des Skills" et "Gestion des Teams"
📁 management/
Composants pour la gestion des entités :
management/pages/
Pages de gestion spécifiques :
SkillsManagement: Gestion des skills avec vue arborescenteTeamsManagement: Gestion des teams avec vue arborescente
management/ (composants réutilisables)
Composants génériques pour la vue arborescente :
TreeViewContainer: Conteneur principal avec états de chargementTreeCategoryHeader: Header des catégories avec actionsTreeItemRow: Ligne d'item générique avec actionsTreeSearchControls: Contrôles de recherche et expansionTeamMetrics: Affichage des métriques des équipes
📁 team-detail/
Composants pour le détail des équipes :
TeamDetailClientWrapper: Wrapper pour les pages de détailTeamDetailHeader: Header avec informations de l'équipeTeamDetailTabs: Onglets de détail (Overview, Skills, Members, Insights)TeamDetailModal: Modal de détail de l'équipeTeamOverviewTab: Onglet de vue d'ensembleTeamSkillsTab: Onglet des skills de l'équipeTeamMembersTab: Onglet des membres de l'équipeTeamInsightsTab: Onglet des insights de l'équipeTeamMemberModal: Modal de gestion des membresTeamMetricsCards: Cartes de métriques de l'équipeTeamStatsCard: Carte de statistiques de l'équipe
📁 utils/
Composants utilitaires réutilisables :
AdminHeader: Header avec navigation entre "Vue d'ensemble" et "Gestion"AdminFilters: Filtres génériques pour l'administrationMultiSelectFilter: Filtre multi-sélection
Utilisation
Import des composants
// Import depuis l'index principal
import {
SkillsManagement,
TeamsManagement,
TreeViewContainer,
AdminHeader,
} from "@/components/admin";
// Import direct depuis un dossier spécifique
import { SkillsManagement } from "@/components/admin/management/pages";
import { TreeViewContainer } from "@/components/admin/management";
Hiérarchie des composants
AdminClientWrapper (overview)
├── AdminContentTabs
│ ├── DirectionOverview
│ └── TeamDetailClientWrapper (team-detail)
│ └── TeamDetailTabs
│ ├── TeamOverviewTab
│ ├── TeamSkillsTab
│ ├── TeamMembersTab
│ └── TeamInsightsTab
ManageAdminClientWrapper (layout)
├── ManageContentTabs
│ ├── SkillsManagement (management/pages)
│ │ └── TreeViewContainer (management)
│ │ ├── TreeCategoryHeader
│ │ └── TreeItemRow
│ └── TeamsManagement (management/pages)
│ └── TreeViewContainer (management)
│ ├── TreeCategoryHeader
│ └── TreeItemRow
Avantages de cette structure
- Organisation logique : Séparation claire des responsabilités
- Réutilisabilité : Composants génériques dans
management/ - Maintenabilité : Fichiers regroupés par fonctionnalité
- Scalabilité : Facile d'ajouter de nouveaux composants
- Import simplifié : Un seul point d'entrée via l'index principal