From 98266497c3aed60031a5ed968e1c8e92140db0a7 Mon Sep 17 00:00:00 2001 From: BatLeDev Date: Tue, 30 Jun 2026 17:21:56 +0200 Subject: [PATCH 1/4] fix(portal): drop logo left padding when nav bar is not full width The v-container already adds px-4 when fluid is false, so the logo's own pl-4 produced a double left padding. Keep pl-4 only in full-width mode where the container has no padding. --- portal/app/components/layout/layout-nav-bar.vue | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/portal/app/components/layout/layout-nav-bar.vue b/portal/app/components/layout/layout-nav-bar.vue index 32a23087..4462d088 100644 --- a/portal/app/components/layout/layout-nav-bar.vue +++ b/portal/app/components/layout/layout-nav-bar.vue @@ -22,7 +22,7 @@ :height="(appBarHeight || 64) - 10" :link="navBarConfig.logoLink" :logo="logo" - class="pl-4" + :class="navBarConfig.fluid !== false ? 'pl-4' : undefined" /> Date: Tue, 30 Jun 2026 17:22:14 +0200 Subject: [PATCH 2/4] fix(portal): bring key metrics block closer to v1 styling Match the v1 kpi component: bold uppercase title, value and label sized like v1, and add horizontal padding so the cards no longer hug their content. --- .../page-element/basic/page-element-metrics.vue | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/portal/app/components/page-element/basic/page-element-metrics.vue b/portal/app/components/page-element/basic/page-element-metrics.vue index c0e559a4..17c654cc 100644 --- a/portal/app/components/page-element/basic/page-element-metrics.vue +++ b/portal/app/components/page-element/basic/page-element-metrics.vue @@ -12,9 +12,9 @@ :class="[element.mb !== 0 && `mb-${element.mb ?? 4}`, 'text-center']" :color="element.color" > - -
{{ metrics[key] }}
-
{{ t('title.' + key) }}
+ +
{{ metrics[key].toLocaleString(locale) }}
+
{{ t('title.' + key) }}
@@ -29,7 +29,7 @@ const { element } = defineProps({ }) const { preview, portal } = usePortalStore() -const { t } = useI18n() +const { t, locale } = useI18n() let metrics: { datasets: number, records: number, applications: number } | ComputedRef<{ datasets: number, records: number, applications: number }> if (!preview) { From 19ee7bf4b428c9ff98fd228668ae5d10299c6f54 Mon Sep 17 00:00:00 2001 From: BatLeDev Date: Tue, 30 Jun 2026 17:22:31 +0200 Subject: [PATCH 3/4] fix(portal): make contact phone link accessible and let info text wrap A tel: link does not open a new window, so drop target=_blank and the misleading 'new window' title, and add an explicit aria-label. Render the phone label in the list item default slot so it wraps instead of being truncated by Vuetify's v-list-item-title. --- .../basic/page-element-contact.vue | 18 ++++++------------ 1 file changed, 6 insertions(+), 12 deletions(-) diff --git a/portal/app/components/page-element/basic/page-element-contact.vue b/portal/app/components/page-element/basic/page-element-contact.vue index 8eb83d18..9f45d62d 100644 --- a/portal/app/components/page-element/basic/page-element-contact.vue +++ b/portal/app/components/page-element/basic/page-element-contact.vue @@ -137,13 +137,12 @@ + > + {{ portalConfig.contactInformations.phoneLabel || portalConfig.contactInformations.phone }} + { - const el = phoneItem.value?.$el - if (!el) return - const title = (portalConfig.value.contactInformations.phoneLabel || portalConfig.value.contactInformations.phone) + ' - ' + t('newWindow') - el.setAttribute('title', title) -}) const websiteItem = useTemplateRef('websiteItem') watchEffect(() => { const el = websiteItem.value?.$el @@ -377,6 +369,7 @@ const sendMessage = useAsyncAction(async () => { messageSent: 'Message sent!' messageBody: 'Message body:' newWindow: 'New window' + phoneAriaLabel: 'Phone: {value}' send: 'Send' socialMedia: 'Find us on social media' subject: 'Subject' @@ -390,6 +383,7 @@ const sendMessage = useAsyncAction(async () => { messageSent: 'Message envoyé !' messageBody: 'Corps du message :' newWindow: 'Nouvelle fenêtre' + phoneAriaLabel: 'Téléphone : {value}' send: 'Envoyer' socialMedia: 'Retrouvez-nous sur les réseaux sociaux' subject: 'Sujet' From bc7078ff7dd802bc3e8fc918e6fe3ad31e24b5c4 Mon Sep 17 00:00:00 2001 From: BatLeDev Date: Tue, 30 Jun 2026 17:22:48 +0200 Subject: [PATCH 4/4] fix(portal): align reuse card footer padding with dataset and app cards The reuse card footer used a bare v-list-item while dataset and application cards use a no-gutters px-4 py-2 row. Use the same row so the author/date block is spaced consistently. --- portal/app/components/reuse/reuse-card.vue | 27 +++++++++++++--------- 1 file changed, 16 insertions(+), 11 deletions(-) diff --git a/portal/app/components/reuse/reuse-card.vue b/portal/app/components/reuse/reuse-card.vue index c9e7ba07..5d06ada7 100644 --- a/portal/app/components/reuse/reuse-card.vue +++ b/portal/app/components/reuse/reuse-card.vue @@ -90,17 +90,22 @@ - -

- {{ t('publishedBy', { author: reuse.config.author }) }} -

-

- {{ t('updatedAt') }} {{ dayjs(reuse.updatedAt).format('L') }} -

-
+ + +

+ {{ t('publishedBy', { author: reuse.config.author }) }} +

+

+ {{ t('updatedAt') }} {{ dayjs(reuse.updatedAt).format('L') }} +

+
+