Correctifs UI workflow — specs + implémentation (8 chantiers) #6

Merged
matthieu merged 16 commits from docs/workflow-ui-fixes-specs into develop 2026-05-21 08:48:32 +00:00
2 changed files with 7 additions and 9 deletions
Showing only changes of commit 276abf5ccf - Show all commits

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
- Traductions dans `frontend/i18n/locales/` (le module résout `langDir` depuis `i18n/`)
- 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`
- Users admin+client : ne pas bloquer — vérifier `ROLE_CLIENT && !ROLE_ADMIN` pour les restrictions

View File

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