refacto: dialogs
This commit is contained in:
@@ -61,7 +61,14 @@ export function TeamsManagement({
|
|||||||
direction: "",
|
direction: "",
|
||||||
});
|
});
|
||||||
const { toast } = useToast();
|
const { toast } = useToast();
|
||||||
const { isCreateDialogOpen, isEditDialogOpen, openCreateDialog, closeCreateDialog, openEditDialog, closeEditDialog } = useFormDialog();
|
const {
|
||||||
|
isCreateDialogOpen,
|
||||||
|
isEditDialogOpen,
|
||||||
|
openCreateDialog,
|
||||||
|
closeCreateDialog,
|
||||||
|
openEditDialog,
|
||||||
|
closeEditDialog,
|
||||||
|
} = useFormDialog();
|
||||||
|
|
||||||
// État local pour les équipes et leurs stats
|
// État local pour les équipes et leurs stats
|
||||||
const [localTeams, setLocalTeams] = useState<TeamType[]>(teams);
|
const [localTeams, setLocalTeams] = useState<TeamType[]>(teams);
|
||||||
@@ -76,7 +83,7 @@ export function TeamsManagement({
|
|||||||
collapseAll,
|
collapseAll,
|
||||||
} = useTreeView({
|
} = useTreeView({
|
||||||
data: localTeams,
|
data: localTeams,
|
||||||
searchFields: ['name'],
|
searchFields: ["name"],
|
||||||
groupBy: (team) => team.direction,
|
groupBy: (team) => team.direction,
|
||||||
searchTerm,
|
searchTerm,
|
||||||
onSearchChange: setSearchTerm,
|
onSearchChange: setSearchTerm,
|
||||||
@@ -335,7 +342,12 @@ export function TeamsManagement({
|
|||||||
const headerActions = (
|
const headerActions = (
|
||||||
<Dialog open={isCreateDialogOpen} onOpenChange={closeCreateDialog}>
|
<Dialog open={isCreateDialogOpen} onOpenChange={closeCreateDialog}>
|
||||||
<DialogTrigger asChild>
|
<DialogTrigger asChild>
|
||||||
<Button onClick={() => { resetForm(); openCreateDialog(); }}>
|
<Button
|
||||||
|
onClick={() => {
|
||||||
|
resetForm();
|
||||||
|
openCreateDialog();
|
||||||
|
}}
|
||||||
|
>
|
||||||
<Plus className="w-4 h-4 mr-2" />
|
<Plus className="w-4 h-4 mr-2" />
|
||||||
Nouvelle Équipe
|
Nouvelle Équipe
|
||||||
</Button>
|
</Button>
|
||||||
@@ -377,10 +389,7 @@ export function TeamsManagement({
|
|||||||
</Select>
|
</Select>
|
||||||
</div>
|
</div>
|
||||||
<div className="flex justify-end gap-2 pt-4">
|
<div className="flex justify-end gap-2 pt-4">
|
||||||
<Button
|
<Button variant="outline" onClick={closeCreateDialog}>
|
||||||
variant="outline"
|
|
||||||
onClick={closeCreateDialog}
|
|
||||||
>
|
|
||||||
Annuler
|
Annuler
|
||||||
</Button>
|
</Button>
|
||||||
<Button onClick={handleCreateTeam}>Créer</Button>
|
<Button onClick={handleCreateTeam}>Créer</Button>
|
||||||
@@ -523,10 +532,7 @@ export function TeamsManagement({
|
|||||||
</Select>
|
</Select>
|
||||||
</div>
|
</div>
|
||||||
<div className="flex justify-end gap-2 pt-4">
|
<div className="flex justify-end gap-2 pt-4">
|
||||||
<Button
|
<Button variant="outline" onClick={closeEditDialog}>
|
||||||
variant="outline"
|
|
||||||
onClick={closeEditDialog}
|
|
||||||
>
|
|
||||||
Annuler
|
Annuler
|
||||||
</Button>
|
</Button>
|
||||||
<Button onClick={handleUpdateTeam}>Mettre à jour</Button>
|
<Button onClick={handleUpdateTeam}>Mettre à jour</Button>
|
||||||
|
|||||||
@@ -24,10 +24,7 @@ import {
|
|||||||
AdminManagementService,
|
AdminManagementService,
|
||||||
Team,
|
Team,
|
||||||
} from "@/services/admin-management-service";
|
} from "@/services/admin-management-service";
|
||||||
import {
|
import { TreeCategoryHeader, TreeItemRow } from "@/components/admin";
|
||||||
TreeCategoryHeader,
|
|
||||||
TreeItemRow,
|
|
||||||
} from "@/components/admin";
|
|
||||||
import { TreeViewPage } from "../tree-view-page";
|
import { TreeViewPage } from "../tree-view-page";
|
||||||
import { useTreeView } from "@/hooks/use-tree-view";
|
import { useTreeView } from "@/hooks/use-tree-view";
|
||||||
import { useFormDialog } from "@/hooks/use-form-dialog";
|
import { useFormDialog } from "@/hooks/use-form-dialog";
|
||||||
@@ -59,7 +56,8 @@ export function UsersManagement() {
|
|||||||
teamId: "",
|
teamId: "",
|
||||||
});
|
});
|
||||||
const { toast } = useToast();
|
const { toast } = useToast();
|
||||||
const { isCreateDialogOpen, openCreateDialog, closeCreateDialog } = useFormDialog();
|
const { isCreateDialogOpen, openCreateDialog, closeCreateDialog } =
|
||||||
|
useFormDialog();
|
||||||
|
|
||||||
// Utilisation du hook factorisé
|
// Utilisation du hook factorisé
|
||||||
const {
|
const {
|
||||||
@@ -70,7 +68,7 @@ export function UsersManagement() {
|
|||||||
collapseAll,
|
collapseAll,
|
||||||
} = useTreeView({
|
} = useTreeView({
|
||||||
data: users,
|
data: users,
|
||||||
searchFields: ['firstName', 'lastName'],
|
searchFields: ["firstName", "lastName"],
|
||||||
groupBy: (user) => user.teamName || "Sans équipe",
|
groupBy: (user) => user.teamName || "Sans équipe",
|
||||||
searchTerm,
|
searchTerm,
|
||||||
onSearchChange: setSearchTerm,
|
onSearchChange: setSearchTerm,
|
||||||
@@ -293,10 +291,7 @@ export function UsersManagement() {
|
|||||||
</Select>
|
</Select>
|
||||||
</div>
|
</div>
|
||||||
<div className="flex justify-end gap-2 pt-4">
|
<div className="flex justify-end gap-2 pt-4">
|
||||||
<Button
|
<Button variant="outline" onClick={closeCreateDialog}>
|
||||||
variant="outline"
|
|
||||||
onClick={closeCreateDialog}
|
|
||||||
>
|
|
||||||
Annuler
|
Annuler
|
||||||
</Button>
|
</Button>
|
||||||
<Button onClick={handleCreateUser}>Créer</Button>
|
<Button onClick={handleCreateUser}>Créer</Button>
|
||||||
|
|||||||
Reference in New Issue
Block a user