refactor(admin) : sélecteur de catégorie workflow en MalioSelect

MalioSelect supporte value: string | number | null (vérifié dans la
source @malio/layer-ui). Migration du <select> natif de WorkflowDrawer
vers MalioSelect + correction de la note obsolète dans CLAUDE.md.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
Matthieu
2026-05-21 09:10:03 +02:00
parent e33322e793
commit 276abf5ccf
2 changed files with 7 additions and 9 deletions

View File

@@ -101,7 +101,7 @@ Exemples : `feat : add login page`, `fix(auth) : prevent null token crash`
- Middleware global `auth.global.ts` protège les routes - Middleware global `auth.global.ts` protège les routes
- Traductions dans `frontend/i18n/locales/` (le module résout `langDir` depuis `i18n/`) - Traductions dans `frontend/i18n/locales/` (le module résout `langDir` depuis `i18n/`)
- 4 espaces d'indentation - 4 espaces d'indentation
- MalioSelect : options `{ label: string, value: number | null }` uniquement — pas de string values, utiliser `<select>` natif pour les enums string - MalioSelect : options `{ label: string, value: string | number | null }` — supporte les valeurs `string` (donc les enums string comme `StatusCategory`), pas seulement `number`. Vérifié dans la source `@malio/layer-ui` (`Select.vue` : `modelValue: string | number | null`). L'option vide `null` n'est ajoutée que si `empty-option-label` est passé (ne pas le passer pour un champ requis)
- Portal client : pages sous `/portal/`, layout `portal.vue`, middleware redirige `ROLE_CLIENT` (sans `ROLE_ADMIN`) vers `/portal` - Portal client : pages sous `/portal/`, layout `portal.vue`, middleware redirige `ROLE_CLIENT` (sans `ROLE_ADMIN`) vers `/portal`
- Users admin+client : ne pas bloquer — vérifier `ROLE_CLIENT && !ROLE_ADMIN` pour les restrictions - Users admin+client : ne pas bloquer — vérifier `ROLE_CLIENT && !ROLE_ADMIN` pour les restrictions

View File

@@ -46,15 +46,13 @@
label="Libellé" label="Libellé"
input-class="w-full" input-class="w-full"
/> />
<select <MalioSelect
v-model="s.category" v-model="s.category"
class="h-10 rounded border border-neutral-300 px-2 text-sm" :options="categoryOptions"
aria-label="Catégorie" label="Catégorie"
> min-width="w-44"
<option v-for="c in categoryOptions" :key="c.value" :value="c.value"> group-class="shrink-0"
{{ c.label }} />
</option>
</select>
<button <button
type="button" type="button"
class="h-10 px-2 text-red-600 hover:text-red-800" class="h-10 px-2 text-red-600 hover:text-red-800"