From 90cc7a94af423e5f75fdd6cd39764c0758bcf779 Mon Sep 17 00:00:00 2001 From: Claude Integration Date: Tue, 2 Jun 2026 03:31:22 +0000 Subject: [PATCH] fix(rental): extract category labels en fichier neutre (importable client) --- .../rental-items/_components/ItemForm.tsx | 13 ++---------- src/lib/admin/rental-items.ts | 20 +----------------- src/lib/rental-category-labels.ts | 21 +++++++++++++++++++ 3 files changed, 24 insertions(+), 30 deletions(-) create mode 100644 src/lib/rental-category-labels.ts diff --git a/src/app/admin/rental-items/_components/ItemForm.tsx b/src/app/admin/rental-items/_components/ItemForm.tsx index 523dabc..27ad4b2 100644 --- a/src/app/admin/rental-items/_components/ItemForm.tsx +++ b/src/app/admin/rental-items/_components/ItemForm.tsx @@ -2,8 +2,7 @@ import { useState, useTransition } from "react"; import { FormField, inputCls, selectCls, textareaCls } from "@/components/admin/FormField"; -import { RENTAL_CATEGORY_LABEL } from "@/lib/admin/rental-items"; -import { RentalCategory } from "@/generated/prisma/enums"; +import { RENTAL_CATEGORY_LABEL, RENTAL_CATEGORIES } from "@/lib/rental-category-labels"; type Props = { providers: { id: string; name: string; isSystemD: boolean }[]; @@ -26,14 +25,6 @@ type Props = { submitLabel?: string; }; -const CATEGORIES: RentalCategory[] = [ - RentalCategory.SLEEP, - RentalCategory.NAVIGATION, - RentalCategory.FISHING, - RentalCategory.COOKING, - RentalCategory.SAFETY, -]; - export function ItemForm({ providers, initial = {}, action, submitLabel = "Enregistrer" }: Props) { const [pending, startTransition] = useTransition(); const [error, setError] = useState(null); @@ -66,7 +57,7 @@ export function ItemForm({ providers, initial = {}, action, submitLabel = "Enreg diff --git a/src/lib/admin/rental-items.ts b/src/lib/admin/rental-items.ts index d5c1bb0..01dd655 100644 --- a/src/lib/admin/rental-items.ts +++ b/src/lib/admin/rental-items.ts @@ -4,13 +4,7 @@ import { Prisma } from "@/generated/prisma/client"; import { RentalCategory } from "@/generated/prisma/enums"; import { prisma } from "@/lib/prisma"; -export const RENTAL_CATEGORY_LABEL: Record = { - SLEEP: "💤 Couchage", - NAVIGATION: "🛶 Navigation", - FISHING: "🎣 Pêche", - COOKING: "🍳 Cuisine", - SAFETY: "🦺 Sécurité", -}; +export { RENTAL_CATEGORY_LABEL, RENTAL_CATEGORIES, isRentalCategory } from "@/lib/rental-category-labels"; export type AdminRentalItemFilters = { q?: string; @@ -38,18 +32,6 @@ export type AdminRentalItemListItem = { updatedAt: Date; }; -const CATEGORY_VALUES: RentalCategory[] = [ - RentalCategory.SLEEP, - RentalCategory.NAVIGATION, - RentalCategory.FISHING, - RentalCategory.COOKING, - RentalCategory.SAFETY, -]; - -export function isRentalCategory(v: string): v is RentalCategory { - return (CATEGORY_VALUES as string[]).includes(v); -} - export async function listRentalItemsAdmin( filters: AdminRentalItemFilters = {}, ): Promise { diff --git a/src/lib/rental-category-labels.ts b/src/lib/rental-category-labels.ts new file mode 100644 index 0000000..63f14a1 --- /dev/null +++ b/src/lib/rental-category-labels.ts @@ -0,0 +1,21 @@ +import { RentalCategory } from "@/generated/prisma/enums"; + +export const RENTAL_CATEGORY_LABEL: Record = { + SLEEP: "💤 Couchage", + NAVIGATION: "🛶 Navigation", + FISHING: "🎣 Pêche", + COOKING: "🍳 Cuisine", + SAFETY: "🦺 Sécurité", +}; + +export const RENTAL_CATEGORIES: RentalCategory[] = [ + RentalCategory.SLEEP, + RentalCategory.NAVIGATION, + RentalCategory.FISHING, + RentalCategory.COOKING, + RentalCategory.SAFETY, +]; + +export function isRentalCategory(v: string): v is RentalCategory { + return (RENTAL_CATEGORIES as string[]).includes(v); +}