fix(frontend) : svelte-check a 0 erreur / 0 warning et accessibilite du modal #28

Merged
foXaCe merged 1 commit from fix/svelte-check-a11y-clean into main 2026-10-17 12:41:06 +02:00
Owner

Corrections

  • KpiMetricCard : remplace les <slot> dépréciés par des snippets Svelte 5 (props icon et footer typées Snippet).
  • Switch Skeleton : utilise <Switch> (le composant est la racine), plus <Switch.Root> inexistant.
  • Modal : role="dialog" + aria-modal + aria-labelledby/describedby + tabindex="-1", fermeture par Echap, handlers clavier.
  • App : types stricts ($state<T>), statut via $derived pour les températures, crossorigin="anonymous" sur le preconnect.
  • Images : onerror utilise currentTarget typé explicitement (plus de any).

Remplace la PR #18

La PR #18 visait l'ancien App.svelte monolithique et était en conflit après la refonte en composants. Cette PR applique les mêmes corrections sur le code actuel.

Rust

cpu, mem, maxmem sur EntreeLxc (consommation réelle des LXC) ; test et fixture du contrat mis à jour.

Vérifications

  • svelte-check : 0 erreur / 0 warning
  • cargo fmt --check : propre
  • cargo clippy --all-targets -- -D warnings : muet
  • cargo test --locked : 110 tests verts
## Corrections - **KpiMetricCard** : remplace les `<slot>` dépréciés par des snippets Svelte 5 (props `icon` et `footer` typées `Snippet`). - **Switch Skeleton** : utilise `<Switch>` (le composant *est* la racine), plus `<Switch.Root>` inexistant. - **Modal** : `role="dialog"` + `aria-modal` + `aria-labelledby`/`describedby` + `tabindex="-1"`, fermeture par `Echap`, handlers clavier. - **App** : types stricts (`$state<T>`), `statut` via `$derived` pour les températures, `crossorigin="anonymous"` sur le preconnect. - **Images** : `onerror` utilise `currentTarget` typé explicitement (plus de `any`). ## Remplace la PR #18 La PR #18 visait l'ancien `App.svelte` monolithique et était en conflit après la refonte en composants. Cette PR applique les mêmes corrections sur le code actuel. ## Rust `cpu`, `mem`, `maxmem` sur `EntreeLxc` (consommation réelle des LXC) ; test et fixture du contrat mis à jour. ## Vérifications - `svelte-check` : **0 erreur / 0 warning** - `cargo fmt --check` : propre - `cargo clippy --all-targets -- -D warnings` : muet - `cargo test --locked` : **110 tests verts**
fix(frontend) : svelte-check a 0 erreur / 0 warning et accessibilite du modal
Some checks failed
CI (backend Rust) / Rust (backend) (pull_request) Failing after 4s
27e36e7dbd
- KpiMetricCard : remplace les <slot> deprecies par des snippets Svelte 5
  (props icon et footer typees Snippet)
- Switch Skeleton : utilise <Switch> (le composant est la racine), plus <Switch.Root>
- Modal : role=dialog + aria-modal + aria-labelledby/describedby + tabindex=-1,
  fermeture par Echap, handlers clavier
- App : types stricts ($state<T>), statut via $derived pour les temperatures,
  crossorigin="anonymous" sur le preconnect
- onerror des images : currentTarget type explicitement

Corrige aussi la PR #18 (qui visait l'ancien App.svelte monolithique).
Rust : cpu/mem/maxmem sur EntreeLxc, tests et fixture du contrat mis a jour.

Verifie : svelte-check 0 erreur / 0 warning, cargo fmt, clippy -D warnings muet,
110 tests Rust verts.
foXaCe merged commit fde732aa07 into main 2026-10-17 12:41:06 +02:00
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
foXaCe/pve-control!28
No description provided.