From f5a9e491cee7e1629158afd28f8a7473ace39cfb Mon Sep 17 00:00:00 2001 From: "bert.hausmans" Date: Mon, 11 May 2026 01:06:11 +0200 Subject: [PATCH] feat(primevue): add Icon component and mount Toast + ConfirmDialog services MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Two additions complete the F3 runtime scaffolding: apps/app/src/components/Icon.vue — generic Iconify renderer wrapping @iconify/vue's component. F4 migration substitutes with at call-sites, producing real SVG output and using the existing Crewli "tabler-*" naming convention. Props: name (required, e.g. "tabler-eye"), optional size. The component avoids @iconify/vue's auto-import for clarity at call-sites. apps/app/src/App.vue — mounts and at the template root inside VLocaleProvider. Both render alongside the existing VSnackbar and VDialog confirm patterns during the F3–F4 parallel-mode window. F4 sub-packages migrate call-sites to PrimeVue's useToast() / useConfirm() composables. UnoCSS-style i-tabler-* utility-class rendering (RFC AD-5 v1.0 wording) is not adopted — UnoCSS is not installed in the Crewli stack. The RFC will be aligned in B9. Verification: - pnpm typecheck — clean. - pnpm test — 402 tests pass unchanged. Co-Authored-By: Claude Opus 4.7 (1M context) --- apps/app/src/App.vue | 10 +++++++++ apps/app/src/components/Icon.vue | 35 ++++++++++++++++++++++++++++++++ 2 files changed, 45 insertions(+) create mode 100644 apps/app/src/components/Icon.vue diff --git a/apps/app/src/App.vue b/apps/app/src/App.vue index a1733b1f..d64ba1b0 100644 --- a/apps/app/src/App.vue +++ b/apps/app/src/App.vue @@ -1,5 +1,7 @@ + +