adding services to the gaufre button

hiding audioconf for now as i dont have any logo
This commit is contained in:
Emmanuel Pelletier
2024-05-02 12:07:25 +02:00
parent 73beeaf9ec
commit ab7cf18638
7 changed files with 117 additions and 30 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.7 KiB

View File

@@ -0,0 +1,7 @@
<svg width="31" height="30" viewBox="0 0 31 30" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M28.4916 16.5252L30.0112 15.0055L28.4916 13.486L29.6348 11.6666L27.8153 10.5233L28.5251 8.4949L26.4969 7.78524L26.7374 5.64982L24.6021 5.40927L24.3614 3.27377L22.2261 3.51432L21.5162 1.48595L19.4882 2.19566L18.3446 0.376192L16.525 1.51951L15.0056 0L13.4861 1.51959L11.6666 0.376373L10.5234 2.19576L8.49506 1.48595L7.7854 3.51424L5.6499 3.27361L5.40935 5.40893L3.27401 5.6495L3.51466 7.78482L1.48611 8.49463L2.19582 10.5229L0.376353 11.6661L1.51975 13.4859L0 15.0055L1.51959 16.5252L0.376353 18.3448L2.19582 19.488L1.48611 21.5163L3.51458 22.2261L3.27401 24.3612L5.40935 24.6019L5.6499 26.7372L7.7854 26.4967L8.49506 28.5248L10.5233 27.8154L11.6666 29.6348L13.486 28.4915L15.0056 29.9969L16.5252 28.4919L18.3446 29.635L19.4878 27.8154L21.5162 28.5252L22.2259 26.4969L24.3614 26.7374L24.6019 24.6019L26.7374 24.3614L26.4967 22.2261L28.5251 21.5163L27.8153 19.4878L29.6348 18.3446L28.4916 16.5252Z" fill="#000091"/>
<path d="M25.4146 17.4077C25.4146 14.4708 23.0337 12.0898 20.0968 12.0898C18.6379 12.0898 17.3165 12.6777 16.3558 13.6291L16.3551 13.6284L15.0002 14.9834L13.8923 13.8756C12.9176 12.7635 11.4878 12.0605 9.89309 12.0605C6.95605 12.0605 4.5752 14.4415 4.5752 17.3784C4.5752 18.9132 5.22604 20.295 6.26585 21.2655L15.0053 30.0004L23.5517 21.4485C24.6196 20.4434 25.4146 19.0252 25.4146 17.4077Z" fill="white"/>
<path d="M16.5242 28.4907C16.1349 28.0999 15.597 27.8584 15.0031 27.8584C14.4091 27.8584 13.8713 28.0999 13.4819 28.4907C13.4882 29.3255 14.1667 30.0004 15.003 30.0004C15.8394 30.0004 16.518 29.3253 16.5242 28.4907Z" fill="#000091"/>
<path d="M13.2263 19.2934C13.2263 19.9356 12.7059 20.456 12.0637 20.456C11.4218 20.456 10.9014 19.9356 10.9014 19.2934C10.9014 18.6513 11.4218 18.1309 12.0637 18.1309C12.7059 18.1309 13.2263 18.6513 13.2263 19.2934Z" fill="#000091"/>
<path d="M19.1214 19.2934C19.1214 19.9356 18.6011 20.456 17.9589 20.456C17.3169 20.456 16.7964 19.9356 16.7964 19.2934C16.7964 18.6513 17.3169 18.1309 17.9589 18.1309C18.6011 18.1309 19.1214 18.6513 19.1214 19.2934Z" fill="#000091"/>
</svg>

After

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.5 KiB

View File

@@ -0,0 +1,4 @@
<svg width="35" height="28" viewBox="0 0 35 28" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M34.3348 -0.0078125H-0.000976562V24.8811H10.924V27.9922H23.4098V24.8811H34.3192L34.3348 -0.0078125ZM31.2134 21.77H3.12046V3.1033H31.2134V21.77Z" fill="#000091"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M23.1201 19.439H11.2148C10.7432 19.439 10.3574 19.0545 10.3574 18.5845V17.73C10.3574 15.609 14.339 14.4563 16.8219 14.3281C16.8202 14.3247 16.8194 14.3221 16.8185 14.3204C16.93 14.3161 17.0466 14.3153 17.1674 14.317C17.2892 14.3153 17.4058 14.3161 17.5164 14.3204C17.5155 14.3221 17.5147 14.3247 17.513 14.3281C19.9959 14.4563 23.9775 15.609 23.9775 17.73V18.5845C23.9775 19.0545 23.5917 19.439 23.1201 19.439ZM17.2163 5.7666C19.1094 5.7666 20.6458 7.29791 20.6458 9.18471C20.6458 11.0715 19.1094 12.6028 17.2163 12.6028C15.3233 12.6028 13.7869 11.0715 13.7869 9.18471C13.7869 7.29791 15.3233 5.7666 17.2163 5.7666Z" fill="#000091"/>
</svg>

After

Width:  |  Height:  |  Size: 957 B

View File

@@ -0,0 +1,3 @@
<svg width="35" height="29" viewBox="0 0 35 29" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M34.3367 0.988281H0.000976562V25.8772H10.926V28.9883H23.4117V25.8772H34.3211L34.3367 0.988281ZM31.2153 22.7661H3.12241V4.09939H31.2153V22.7661ZM23.4117 13.4327L12.4867 19.6549V7.2105L23.4117 13.4327Z" fill="#000091"/>
</svg>

After

Width:  |  Height:  |  Size: 330 B

View File

@@ -1,11 +1,30 @@
[
{
"id": "audioconf",
"name": "AudioConf",
"url": "https://audioconf.numerique.gouv.fr",
"tagline": "**AudioConf**, conférences téléphoneiques <br>pour les agents de l'État",
"homepageType": "custom",
"entity": "Gouvernement",
"enabled": false
},
{
"id": "demarches",
"name": "Démarches simplifiées",
"url": "https://www.demarches-simplifiees.fr/",
"tagline": "",
"homepageType": "proconnect",
"entity": "Gouvernement",
"enabled": true
},
{
"id": "equipes",
"name": "Equipes",
"url": "https://desk-staging.beta.numerique.gouv.fr/",
"tagline": "**Equipes**, la gestion de groupes <br>centralisée pour tous vos projets",
"homepageType": "proconnect",
"entity": "Gouvernement"
"entity": "Gouvernement",
"enabled": false
},
{
"id": "france-transfert",
@@ -13,7 +32,16 @@
"url": "https://francetransfert.numerique.gouv.fr/upload",
"tagline": "**France Transfert** permet denvoyer des fichiers <br>volumineux non sensibles de manière sécurisée <br>à un agent de lEtat ou entre agents",
"homepageType": "custom",
"entity": "Gouvernement"
"entity": "Gouvernement",
"enabled": true
},
{
"id": "grist",
"name": "Grist",
"url": "https://grist.incubateur.net/",
"tagline": "**Grist**, une feuille de calcul simple, <br>flexible, moderne et open source <br>qui va au-delà de la grille.",
"homepageType": "proconnect",
"enabled": true
},
{
"id": "messagerie",
@@ -21,7 +49,26 @@
"url": "https://webmail.numerique.gouv.fr/appsuite/",
"tagline": "**Messagerie** de l'État <br>le mail simple, centralisé et sécurisé",
"homepageType": "email",
"entity": "Gouvernement"
"entity": "Gouvernement",
"enabled": true
},
{
"id": "pad",
"name": "Notepad de l'État",
"url": "https://pad.numerique.gouv.fr/",
"tagline": "**Notepad de lÉtat** <br>Le meilleur moyen décrire <br> et partager votre savoir <br>en markdown",
"homepageType": "proconnect",
"entity": "Gouvernement",
"enabled": true
},
{
"id": "rdv",
"name": "RDV Service Public",
"url": "https://rdv.anct.gouv.fr/",
"tagline": "**RDV Service Public** <br>facilitez la gestion <br>et la prise de rendez-vous en ligne",
"homepageType": "email",
"entity": "Gouvernement",
"enabled": true
},
{
"id": "resana",
@@ -29,7 +76,8 @@
"url": "https://resana.numerique.gouv.fr/public/",
"tagline": "**Resana** <br>groupes de travail <br>et suite collaborative en ligne",
"homepageType": "email-or-proconnect",
"entity": "Gouvernement"
"entity": "Gouvernement",
"enabled": true
},
{
"id": "tchap",
@@ -37,6 +85,25 @@
"url": "https://www.tchap.gouv.fr/",
"tagline": "**Tchap** <br>la messagerie <br>instantanée du Secteur Public",
"homepageType": "email",
"entity": "Gouvernement"
"entity": "Gouvernement",
"enabled": true
},
{
"id": "webconf",
"name": "WebConférence de l'État",
"url": "https://webconf.numerique.gouv.fr",
"tagline": "**Webconférence** de lÉtat, <br>Audio, vidéo, chat, partage décran <br>et de documents",
"homepageType": "custom",
"entity": "Gouvernement",
"enabled": true
},
{
"id": "webinaire",
"name": "Webinaire de l'État",
"url": "https://webinaire.numerique.gouv.fr/welcome",
"tagline": "**Webinaire**. Vous organisez régulièrement <br>des séminaires, vous êtes agent de lÉtat, <br>créez un compte pour organiser <br>et conserver vos séminaires.",
"homepageType": "custom",
"entity": "Gouvernement",
"enabled": true
}
]

View File

@@ -1,7 +1,7 @@
---
import services from "@/data/services.json"
import { Image } from "astro:assets"
const logos = import.meta.glob<{ default: ImageMetadata }>("/src/assets/logos/*.svg")
const logos = import.meta.glob<{ default: ImageMetadata }>("/src/assets/logos/*.{svg,png,jpg}")
---
<!doctype html>
@@ -133,6 +133,8 @@ const logos = import.meta.glob<{ default: ImageMetadata }>("/src/assets/logos/*.
.lasuite-Service-icon {
display: flex;
align-items: center;
width: 40px;
height: 40px;
}
.lasuite-Service-name {
@@ -179,30 +181,34 @@ const logos = import.meta.glob<{ default: ImageMetadata }>("/src/assets/logos/*.
<h1 class="fr-sr-only">Liste des services de La Suite numérique</h1>
<ul class="lasuite-Services-inner scrollbars">
{
services.map(({ id, name, url }, i) => (
<li>
<div class="lasuite-Services-item lasuite-Service fr-enlarge-link">
<div class="lasuite-Service-icon">
<Image
src={logos[`/src/assets/logos/${id}.svg`]()}
width="40"
height="40"
alt=""
loading="eager"
/>
</div>
<a
target="_parent"
class="lasuite-Service-name"
href={url}
id={`lasuite-service-${id}`}
{...((i === 0 && { autofocus: true }) || {})}
>
{name}
</a>
</div>
</li>
))
services
.filter(({ enabled }) => !!enabled)
.map(({ id, name, url }, i) => {
const logo =
logos[`/src/assets/logos/${id}.svg`] ||
logos[`/src/assets/logos/${id}.jpg`] ||
logos[`/src/assets/logos/${id}.png`]
return (
<li>
<div class="lasuite-Services-item lasuite-Service fr-enlarge-link">
<div class="lasuite-Service-icon">
{!!logo ? (
<Image src={logo()} width="40" height="40" alt="" loading="eager" />
) : null}
</div>
<a
target="_parent"
class="lasuite-Service-name"
href={url}
id={`lasuite-service-${id}`}
{...((i === 0 && { autofocus: true }) || {})}
>
{name}
</a>
</div>
</li>
)
})
}
</ul>
</div>