feat: replace SVG icons with BIIcon component in Footer, Header, and index pages

This commit is contained in:
2026-06-07 21:28:03 +02:00 Unverified
parent 1ea448beb3
commit 3066eacc2f
4 changed files with 22 additions and 25 deletions
+2 -1
View File
@@ -1,5 +1,6 @@
<script setup lang="ts"> <script setup lang="ts">
import MemberDot from "~/components/MemberDot.vue"; import MemberDot from "~/components/MemberDot.vue";
import BIIcon from "~/components/BIIcon.vue";
import { useMembers } from "~/composables/useMembers"; import { useMembers } from "~/composables/useMembers";
const { sortedMembers } = useMembers(); const { sortedMembers } = useMembers();
@@ -14,7 +15,7 @@ const { sortedMembers } = useMembers();
<div class="col-sm-12"> <div class="col-sm-12">
<div class="it-brand-wrapper"> <div class="it-brand-wrapper">
<a href="#" data-focus-mouse="false"> <a href="#" data-focus-mouse="false">
<svg class="icon"><use xlink:href="https://italia.github.io/bootstrap-italia/dist/svg/sprites.svg#it-code-circle"></use></svg> <BIIcon name="it-code-circle" />
<div class="it-brand-text"> <div class="it-brand-text">
<h2>Visione</h2> <h2>Visione</h2>
<h3 class="d-none d-md-block">Segnalazioni anonime e sicure</h3> <h3 class="d-none d-md-block">Segnalazioni anonime e sicure</h3>
+4 -3
View File
@@ -1,6 +1,7 @@
<script setup lang="ts"> <script setup lang="ts">
import { ref, computed } from 'vue' import { ref } from 'vue'
import { useRoute } from 'vue-router' import { useRoute } from 'vue-router'
import BIIcon from "~/components/BIIcon.vue";
const route = useRoute() const route = useRoute()
@@ -27,10 +28,10 @@ const isAuthenticated = ref(false) // Replace with: const token = useCookie('aut
<div class="row"> <div class="row">
<div class="col-12"> <div class="col-12">
<div class="it-header-slim-wrapper-content"> <div class="it-header-slim-wrapper-content">
<a class="d-none d-lg-block navbar-brand" href="#">Dipartimento della Pubblica Sicurezza</a> <a class="d-none d-lg-block navbar-brand" href="https://www.interno.gov.it/it/ministero/dipartimenti/dipartimento-pubblica-sicurezza">Dipartimento della Pubblica Sicurezza</a>
<div class="nav-mobile"> <div class="nav-mobile">
<nav aria-label="Navigazione secondaria"> <nav aria-label="Navigazione secondaria">
<a class="it-opener d-lg-none" data-bs-toggle="collapse" href="#menuC2" role="button" aria-expanded="false" aria-controls="menuC2"> <a class="it-opener d-lg-none" data-bs-toggle="collapse" href="https://www.interno.gov.it/it/ministero/dipartimenti/dipartimento-pubblica-sicurezza" role="button" aria-expanded="false" >
<span>Dipartmento della Pubblica Sicureazza</span> <span>Dipartmento della Pubblica Sicureazza</span>
<BIIcon name="it-expand" /> <BIIcon name="it-expand" />
</a> </a>
+15 -21
View File
@@ -1,4 +1,6 @@
<script setup lang="ts"> <script setup lang="ts">
import BIIcon from "~/components/BIIcon.vue";
const { getOpenDataReports } = usePublic() const { getOpenDataReports } = usePublic()
const stats = { const stats = {
@@ -42,24 +44,24 @@ const { data: openDataResponse } = await useAsyncData('recent-fixes', () =>
<h2 class="text-center mb-5 font-weight-bold">Come funziona</h2> <h2 class="text-center mb-5 font-weight-bold">Come funziona</h2>
<div class="row text-center"> <div class="row text-center">
<div class="col-12 col-md-4 mb-4"> <div class="col-12 col-md-4 mb-4">
<svg class="icon icon-xl icon-primary mb-3"> <div class="mb-3">
<use href="#it-camera"></use> <BIIcon name="it-camera" size="xl" color="primary" />
</svg> </div>
<h3 class="h5 font-weight-semibold">1. Segnala</h3> <h3 class="h5 font-weight-semibold">1. Segnala</h3>
<p class="text-muted">Usa lo smartphone per fotografare il problema stradale e inviare la posizione <p class="text-muted">Usa lo smartphone per fotografare il problema stradale e inviare la posizione
esatta.</p> esatta.</p>
</div> </div>
<div class="col-12 col-md-4 mb-4"> <div class="col-12 col-md-4 mb-4">
<svg class="icon icon-xl icon-primary mb-3"> <div class="mb-3">
<use href="#it-tool"></use> <BIIcon name="it-tool" size="xl" color="primary" />
</svg> </div>
<h3 class="h5 font-weight-semibold">2. Intervento</h3> <h3 class="h5 font-weight-semibold">2. Intervento</h3>
<p class="text-muted">Le squadre comunali prendono in carico la tua segnalazione e avviano i lavori.</p> <p class="text-muted">Le squadre comunali prendono in carico la tua segnalazione e avviano i lavori.</p>
</div> </div>
<div class="col-12 col-md-4 mb-4"> <div class="col-12 col-md-4 mb-4">
<svg class="icon icon-xl icon-primary mb-3"> <div class="mb-3">
<use href="#it-star-outline"></use> <BIIcon name="it-star-outline" size="xl" color="primary" />
</svg> </div>
<h3 class="h5 font-weight-semibold">3. Punti e Feedback</h3> <h3 class="h5 font-weight-semibold">3. Punti e Feedback</h3>
<p class="text-muted">Problema risolto! Ottieni Punti Cittadino e lascia un feedback sull'intervento.</p> <p class="text-muted">Problema risolto! Ottieni Punti Cittadino e lascia un feedback sull'intervento.</p>
</div> </div>
@@ -94,9 +96,7 @@ const { data: openDataResponse } = await useAsyncData('recent-fixes', () =>
<h2 class="font-weight-bold">Ultimi interventi risolti</h2> <h2 class="font-weight-bold">Ultimi interventi risolti</h2>
<NuxtLink to="/open-data" class="read-more"> <NuxtLink to="/open-data" class="read-more">
<span class="text">Vedi tutti</span> <span class="text">Vedi tutti</span>
<svg class="icon"> <BIIcon name="it-arrow-right" />
<use href="#it-arrow-right"></use>
</svg>
</NuxtLink> </NuxtLink>
</div> </div>
@@ -106,17 +106,13 @@ const { data: openDataResponse } = await useAsyncData('recent-fixes', () =>
<div class="card card-bg card-big"> <div class="card card-bg card-big">
<div class="card-body"> <div class="card-body">
<div class="category-top"> <div class="category-top">
<svg class="icon icon-sm text-success"> <BIIcon name="it-check-circle" size="sm" color="success" />
<use href="#it-check-circle"></use>
</svg>
<span class="category text-success font-weight-semibold">Risolto</span> <span class="category text-success font-weight-semibold">Risolto</span>
</div> </div>
<h3 class="card-title h5 mt-2">{{ report.category_name }}</h3> <h3 class="card-title h5 mt-2">{{ report.category_name }}</h3>
<p class="card-text text-muted"> <p class="card-text text-muted">
<svg class="icon icon-xs me-1"> <span class="me-1"><BIIcon name="it-map-marker-circle" size="xs" /></span>
<use href="#it-map-marker-circle"></use>
</svg>
{{ report.area_name || 'Area comunale' }} {{ report.area_name || 'Area comunale' }}
</p> </p>
@@ -139,9 +135,7 @@ const { data: openDataResponse } = await useAsyncData('recent-fixes', () =>
<div class="container my-5 pb-5"> <div class="container my-5 pb-5">
<div class="callout callout-highlight callout-primary"> <div class="callout callout-highlight callout-primary">
<div class="callout-title"> <div class="callout-title">
<svg class="icon"> <BIIcon name="it-info-circle" />
<use href="#it-info-circle"></use>
</svg>
Partecipa alla cura della tua città Partecipa alla cura della tua città
</div> </div>
<p> <p>
+1
View File
@@ -28,6 +28,7 @@ export default defineNuxtConfig({
fonts: { fonts: {
families: [ families: [
{ name: 'Lora', provider: 'google' },
{ name: 'Roboto Mono', provider: 'google' }, { name: 'Roboto Mono', provider: 'google' },
{ name: 'Titillium Web', provider: 'google' } { name: 'Titillium Web', provider: 'google' }
] ]