refactor: revew all design of services, clients, deadcode, ...
This commit is contained in:
@@ -6,8 +6,8 @@ import { Button } from "@/components/ui/button";
|
||||
import { Card, CardContent, CardHeader, CardTitle } from "@/components/ui/card";
|
||||
import { Badge } from "@/components/ui/badge";
|
||||
import { Skeleton } from "@/components/ui/skeleton";
|
||||
import { TeamMember } from "@/services/admin-management-service";
|
||||
import { AdminManagementService } from "@/services/admin-management-service";
|
||||
import { TeamMember } from "@/clients/domains/admin-client";
|
||||
import { adminClient } from "@/clients";
|
||||
import { useToast } from "@/hooks/use-toast";
|
||||
|
||||
interface TeamMembersModalProps {
|
||||
@@ -41,7 +41,7 @@ export function TeamMembersModal({
|
||||
setIsLoading(true);
|
||||
setError(null);
|
||||
try {
|
||||
const membersData = await AdminManagementService.getTeamMembers(teamId);
|
||||
const membersData = await adminClient.getTeamMembers(teamId);
|
||||
setMembers(membersData);
|
||||
} catch (err: any) {
|
||||
setError(err.message || "Erreur lors du chargement des membres");
|
||||
@@ -59,7 +59,7 @@ export function TeamMembersModal({
|
||||
|
||||
setDeletingMemberId(memberId);
|
||||
try {
|
||||
await AdminManagementService.removeTeamMember(teamId, memberId);
|
||||
await adminClient.removeTeamMember(teamId, memberId);
|
||||
|
||||
// Mettre à jour la liste locale
|
||||
setMembers((prev) => prev.filter((member) => member.id !== memberId));
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
import { useState } from "react";
|
||||
import { Team, SkillCategory } from "@/lib/types";
|
||||
import { TeamStats, DirectionStats } from "@/services/admin-service";
|
||||
import { TeamStats, DirectionStats } from "@/lib/admin-types";
|
||||
import { TeamDetailModal } from "../team-detail/team-detail-modal";
|
||||
import { AdminHeader } from "../utils/admin-header";
|
||||
import { AdminOverviewCards } from "./admin-overview-cards";
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
import { Tabs, TabsContent, TabsList, TabsTrigger } from "@/components/ui/tabs";
|
||||
import { Users, Building2 } from "lucide-react";
|
||||
import { TeamStats, DirectionStats } from "@/services/admin-service";
|
||||
import { TeamStats, DirectionStats } from "@/lib/admin-types";
|
||||
import { DirectionOverview, TeamStatsCard } from "@/components/admin";
|
||||
|
||||
interface AdminContentTabsProps {
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
import { Users, Target, Building2, UserCheck } from "lucide-react";
|
||||
import { Team, SkillCategory } from "@/lib/types";
|
||||
import { TeamStats, DirectionStats } from "@/services/admin-service";
|
||||
import { TeamStats, DirectionStats } from "@/lib/admin-types";
|
||||
|
||||
interface AdminOverviewCardsProps {
|
||||
teams: Team[];
|
||||
|
||||
@@ -11,7 +11,7 @@ import {
|
||||
} from "lucide-react";
|
||||
import { TreeCategoryHeader, TreeItemRow } from "@/components/admin";
|
||||
import { TechIcon } from "@/components/icons/tech-icon";
|
||||
import { Skill } from "@/services/admin-management-service";
|
||||
import { Skill } from "@/clients/domains/admin-client";
|
||||
|
||||
interface SkillsListProps {
|
||||
filteredSkillsByCategory: Record<string, Skill[]>;
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
"use client";
|
||||
|
||||
import React, { useState, useEffect } from "react";
|
||||
import { TeamStats, TeamMember } from "@/services/admin-service";
|
||||
import { TeamStats, TeamMember } from "@/lib/admin-types";
|
||||
import { TeamDetailHeader } from "./team-detail-header";
|
||||
import { TeamMetricsCards } from "./team-metrics-cards";
|
||||
import { TeamDetailTabs } from "./team-detail-tabs";
|
||||
|
||||
@@ -13,7 +13,7 @@ import { Button } from "@/components/ui/button";
|
||||
import { Badge } from "@/components/ui/badge";
|
||||
import { Users, ExternalLink, Download, Eye } from "lucide-react";
|
||||
|
||||
import { TeamMember } from "@/services/admin-service";
|
||||
import { TeamMember } from "@/lib/admin-types";
|
||||
|
||||
interface TeamDetailModalProps {
|
||||
isOpen: boolean;
|
||||
|
||||
@@ -5,7 +5,7 @@ import { TeamOverviewTab } from "./team-overview-tab";
|
||||
import { TeamSkillsTab } from "./team-skills-tab";
|
||||
import { TeamMembersTab } from "./team-members-tab";
|
||||
import { TeamInsightsTab } from "./team-insights-tab";
|
||||
import { TeamStats, TeamMember } from "@/services/admin-service";
|
||||
import { TeamStats, TeamMember } from "@/lib/admin-types";
|
||||
|
||||
interface SkillAnalysis {
|
||||
skillName: string;
|
||||
|
||||
@@ -9,7 +9,7 @@ import {
|
||||
import { Button } from "@/components/ui/button";
|
||||
import { Badge } from "@/components/ui/badge";
|
||||
import { User, Award, BookOpen, X } from "lucide-react";
|
||||
import { TeamMember } from "@/services/admin-service";
|
||||
import { TeamMember } from "@/lib/admin-types";
|
||||
|
||||
interface TeamMemberModalProps {
|
||||
isOpen: boolean;
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
"use client";
|
||||
|
||||
import { User, Award, BookOpen } from "lucide-react";
|
||||
import { TeamMember } from "@/services/admin-service";
|
||||
import { TeamMember } from "@/lib/admin-types";
|
||||
|
||||
interface TeamMembersTabProps {
|
||||
members: TeamMember[];
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
"use client";
|
||||
|
||||
import { BarChart3, Target, Star } from "lucide-react";
|
||||
import { TeamStats } from "@/services/admin-service";
|
||||
import { TeamStats } from "@/lib/admin-types";
|
||||
import { TechIcon } from "@/components/icons/tech-icon";
|
||||
|
||||
interface SkillAnalysis {
|
||||
|
||||
@@ -1,9 +1,13 @@
|
||||
"use client";
|
||||
|
||||
import { Users, Building2 } from "lucide-react";
|
||||
import { TreeCategoryHeader, TreeItemRow, TeamMetrics } from "@/components/admin";
|
||||
import {
|
||||
TreeCategoryHeader,
|
||||
TreeItemRow,
|
||||
TeamMetrics,
|
||||
} from "@/components/admin";
|
||||
import { Team as TeamType } from "@/lib/types";
|
||||
import { TeamStats } from "@/services/admin-service";
|
||||
import { TeamStats } from "@/lib/admin-types";
|
||||
|
||||
interface TeamsListProps {
|
||||
filteredTeamsByDirection: Record<string, TeamType[]>;
|
||||
|
||||
@@ -4,7 +4,7 @@ import { useState } from "react";
|
||||
import { Plus, Building2 } from "lucide-react";
|
||||
import { Button } from "@/components/ui/button";
|
||||
import { SkillCategory, Team as TeamType } from "@/lib/types";
|
||||
import { TeamStats } from "@/services/admin-service";
|
||||
import { TeamStats } from "@/lib/admin-types";
|
||||
import { TreeViewPage } from "../management/tree-view-page";
|
||||
import { useTreeView } from "@/hooks/use-tree-view";
|
||||
import { useFormDialog } from "@/hooks/use-form-dialog";
|
||||
@@ -27,9 +27,16 @@ export function TeamsManagementPage({
|
||||
const [searchTerm, setSearchTerm] = useState("");
|
||||
const [isMembersModalOpen, setIsMembersModalOpen] = useState(false);
|
||||
const [selectedTeam, setSelectedTeam] = useState<TeamType | null>(null);
|
||||
|
||||
const { isCreateDialogOpen, isEditDialogOpen, openCreateDialog, closeCreateDialog, openEditDialog, closeEditDialog } = useFormDialog();
|
||||
|
||||
|
||||
const {
|
||||
isCreateDialogOpen,
|
||||
isEditDialogOpen,
|
||||
openCreateDialog,
|
||||
closeCreateDialog,
|
||||
openEditDialog,
|
||||
closeEditDialog,
|
||||
} = useFormDialog();
|
||||
|
||||
const {
|
||||
teams: localTeams,
|
||||
teamStats: localTeamStats,
|
||||
|
||||
@@ -16,7 +16,7 @@ import {
|
||||
DialogHeader,
|
||||
DialogTitle,
|
||||
} from "@/components/ui/dialog";
|
||||
import { Team } from "@/services/admin-management-service";
|
||||
import { Team } from "@/clients/domains/admin-client";
|
||||
|
||||
interface UserFormData {
|
||||
firstName: string;
|
||||
@@ -98,7 +98,11 @@ export function UserFormDialog({
|
||||
Annuler
|
||||
</Button>
|
||||
<Button onClick={onSubmit} disabled={isSubmitting}>
|
||||
{isSubmitting ? "En cours..." : title.includes("Créer") ? "Créer" : "Mettre à jour"}
|
||||
{isSubmitting
|
||||
? "En cours..."
|
||||
: title.includes("Créer")
|
||||
? "Créer"
|
||||
: "Mettre à jour"}
|
||||
</Button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
import { useState } from "react";
|
||||
import { Users, Building2 } from "lucide-react";
|
||||
import { Button } from "@/components/ui/button";
|
||||
import { Team } from "@/services/admin-management-service";
|
||||
import { Team } from "@/clients/domains/admin-client";
|
||||
import { TreeViewPage } from "../management/tree-view-page";
|
||||
import { useTreeView } from "@/hooks/use-tree-view";
|
||||
import { useFormDialog } from "@/hooks/use-form-dialog";
|
||||
@@ -17,9 +17,10 @@ interface UsersManagementPageProps {
|
||||
|
||||
export function UsersManagementPage({ teams }: UsersManagementPageProps) {
|
||||
const [searchTerm, setSearchTerm] = useState("");
|
||||
|
||||
const { isCreateDialogOpen, openCreateDialog, closeCreateDialog } = useFormDialog();
|
||||
|
||||
|
||||
const { isCreateDialogOpen, openCreateDialog, closeCreateDialog } =
|
||||
useFormDialog();
|
||||
|
||||
const {
|
||||
users,
|
||||
isLoading,
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
import { Button } from "@/components/ui/button";
|
||||
import { Users, Target, Building2, Filter } from "lucide-react";
|
||||
import { Team } from "@/lib/types";
|
||||
import { TeamStats } from "@/services/admin-service";
|
||||
import { TeamStats } from "@/lib/admin-types";
|
||||
import { MultiSelectFilter } from "./multi-select-filter";
|
||||
|
||||
interface AdminFiltersProps {
|
||||
|
||||
Reference in New Issue
Block a user