Initial local backup snapshot
This commit is contained in:
commit
acd9e14ba5
367 changed files with 118038 additions and 0 deletions
44
shared/associationCommunes.ts
Normal file
44
shared/associationCommunes.ts
Normal file
|
|
@ -0,0 +1,44 @@
|
|||
export const associationCommuneOptions = [
|
||||
{ value: "all", label: "Toutes" },
|
||||
{ value: "kourou", label: "Kourou" },
|
||||
{ value: "sinnamary", label: "Sinnamary" },
|
||||
{ value: "iracoubo", label: "Iracoubo" },
|
||||
{ value: "saint_elie", label: "Saint-Élie" },
|
||||
] as const;
|
||||
|
||||
export type AssociationCommuneFilter = (typeof associationCommuneOptions)[number]["value"];
|
||||
|
||||
const communeVariantMap: Record<Exclude<AssociationCommuneFilter, "all">, string[]> = {
|
||||
kourou: ["Kourou"],
|
||||
sinnamary: ["Sinnamary"],
|
||||
iracoubo: ["Iracoubo"],
|
||||
saint_elie: ["Saint-Élie", "Saint Elie", "ST ELIE", "St Elie", "St-Élie", "Saint-Elie"],
|
||||
};
|
||||
|
||||
export function getAssociationCommuneLabel(value: AssociationCommuneFilter) {
|
||||
return associationCommuneOptions.find(option => option.value === value)?.label ?? "Toutes";
|
||||
}
|
||||
|
||||
export function normalizeAssociationCommune(value: string | null | undefined): AssociationCommuneFilter {
|
||||
const normalized = (value || "")
|
||||
.normalize("NFD")
|
||||
.replace(/[\u0300-\u036f]/g, "")
|
||||
.replace(/[-_]/g, " ")
|
||||
.replace(/\s+/g, " ")
|
||||
.trim()
|
||||
.toLowerCase();
|
||||
|
||||
if (normalized.includes("saint elie") || normalized.includes("st elie")) return "saint_elie";
|
||||
if (normalized.includes("kourou")) return "kourou";
|
||||
if (normalized.includes("sinnamary")) return "sinnamary";
|
||||
if (normalized.includes("iracoubo")) return "iracoubo";
|
||||
return "all";
|
||||
}
|
||||
|
||||
export function getAssociationCommuneVariants(value?: string | null) {
|
||||
if (!value || value === "all") {
|
||||
return [];
|
||||
}
|
||||
|
||||
return communeVariantMap[value as Exclude<AssociationCommuneFilter, "all">] || [];
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue