Checkpoint: Ajout d'un filtre par public cible sur la page de gestion des séquences pour faciliter la recherche des séquences destinées à un profil spécifique (Directeurs, Chefs de service, Autre)
This commit is contained in:
@@ -27,6 +27,7 @@ export default function AdminSequences() {
|
||||
const [searchTerm, setSearchTerm] = useState("");
|
||||
const [filterLieu, setFilterLieu] = useState<string>("all");
|
||||
const [filterStatut, setFilterStatut] = useState<string>("all");
|
||||
const [filterPublicCible, setFilterPublicCible] = useState<string>("all");
|
||||
const [sortBy, setSortBy] = useState<"date" | "lieu" | "capacite">("date");
|
||||
|
||||
const [formData, setFormData] = useState({
|
||||
@@ -219,7 +220,8 @@ export default function AdminSequences() {
|
||||
const matchSearch = seq.nom.toLowerCase().includes(searchTerm.toLowerCase());
|
||||
const matchLieu = filterLieu === "all" || seq.lieu === filterLieu;
|
||||
const matchStatut = filterStatut === "all" || seq.statut === filterStatut;
|
||||
return matchSearch && matchLieu && matchStatut;
|
||||
const matchPublicCible = filterPublicCible === "all" || seq.publicCible === filterPublicCible;
|
||||
return matchSearch && matchLieu && matchStatut && matchPublicCible;
|
||||
});
|
||||
|
||||
filtered.sort((a, b) => {
|
||||
@@ -235,7 +237,7 @@ export default function AdminSequences() {
|
||||
});
|
||||
|
||||
return filtered;
|
||||
}, [sequences, searchTerm, filterLieu, filterStatut, sortBy]);
|
||||
}, [sequences, searchTerm, filterLieu, filterStatut, filterPublicCible, sortBy]);
|
||||
|
||||
const uniqueLieux = useMemo(() => {
|
||||
if (!sequences) return [];
|
||||
@@ -534,6 +536,21 @@ export default function AdminSequences() {
|
||||
</Select>
|
||||
</div>
|
||||
|
||||
<div className="space-y-2">
|
||||
<Label>Public cible</Label>
|
||||
<Select value={filterPublicCible} onValueChange={setFilterPublicCible}>
|
||||
<SelectTrigger>
|
||||
<SelectValue />
|
||||
</SelectTrigger>
|
||||
<SelectContent>
|
||||
<SelectItem value="all">Tous les publics</SelectItem>
|
||||
<SelectItem value="directeur">Directeurs</SelectItem>
|
||||
<SelectItem value="chef_service">Chefs de service</SelectItem>
|
||||
<SelectItem value="autre">Autre</SelectItem>
|
||||
</SelectContent>
|
||||
</Select>
|
||||
</div>
|
||||
|
||||
<div className="space-y-2">
|
||||
<Label>Trier par</Label>
|
||||
<Select value={sortBy} onValueChange={(v: any) => setSortBy(v)}>
|
||||
|
||||
Reference in New Issue
Block a user