website: add homepage example pages
This commit is contained in:
81
website/src/components/HomepageExample.astro
Normal file
81
website/src/components/HomepageExample.astro
Normal file
@@ -0,0 +1,81 @@
|
|||||||
|
---
|
||||||
|
import "@gouvfr-lasuite/integration/dist/css/homepage-full.css"
|
||||||
|
import { jsx as _jsx } from "react/jsx-runtime"
|
||||||
|
import { renderToStaticMarkup } from "react-dom/server"
|
||||||
|
import { Homepage, HomepageProconnect } from "@gouvfr-lasuite/integration"
|
||||||
|
import logo from "@/assets/logos/equipes.svg"
|
||||||
|
|
||||||
|
const { title, props } = Astro.props
|
||||||
|
|
||||||
|
const DefaultHomepage = _jsx(Homepage, {
|
||||||
|
lasuiteApiUrl: import.meta.env.PUBLIC_LASUITE_API_URL,
|
||||||
|
entity: "Gouvernement",
|
||||||
|
tagline:
|
||||||
|
"**Mon service de La Suite**, <br>un outil sécurisé et centralisé <br>pour les agents publics",
|
||||||
|
logo: logo.src,
|
||||||
|
serviceName: "Mon service de La Suite",
|
||||||
|
serviceId: "equipes",
|
||||||
|
homepageUrl: "/",
|
||||||
|
footerOptions: {
|
||||||
|
description: "Un service de la Direction interministérielle du numérique",
|
||||||
|
sitemapUrl: "~~replace~~",
|
||||||
|
a11yUrl: "~~replace~~",
|
||||||
|
a11yLevel: "~~replace~~",
|
||||||
|
termsUrl: "~~replace~~",
|
||||||
|
privacyUrl: "~~replace~~",
|
||||||
|
},
|
||||||
|
children: _jsx(HomepageProconnect, { url: "~~replace~~" }),
|
||||||
|
...props,
|
||||||
|
})
|
||||||
|
const html = renderToStaticMarkup(DefaultHomepage)
|
||||||
|
---
|
||||||
|
|
||||||
|
<!doctype html>
|
||||||
|
<html lang="fr">
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8" />
|
||||||
|
<title>Exemple page d'accueil {title} - La Suite numérique</title>
|
||||||
|
<style>
|
||||||
|
body {
|
||||||
|
margin: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
#example-info {
|
||||||
|
font-family: sans-serif;
|
||||||
|
margin: 1rem;
|
||||||
|
padding: 0.5rem;
|
||||||
|
background-color: #f0f0f0;
|
||||||
|
border: 1px solid #ccc;
|
||||||
|
}
|
||||||
|
|
||||||
|
#example-info p {
|
||||||
|
margin: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
#example-info ul {
|
||||||
|
margin: 0 0 0.5rem;
|
||||||
|
padding: 0 0 0 2rem;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
<script
|
||||||
|
is:inline
|
||||||
|
id="lasuite-gaufre-script"
|
||||||
|
async
|
||||||
|
defer
|
||||||
|
src="https://integration.lasuite.numerique.gouv.fr/api/v1/gaufre.js"></script>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<div id="example-info">
|
||||||
|
<p>Notes :</p>
|
||||||
|
<ul>
|
||||||
|
<li>n'oubliez pas de remplacer toutes les occurences de `~~replace~~` dans le code,</li>
|
||||||
|
<li>
|
||||||
|
remplacez le chemin de la photo dans `.lasuite-homepage__bg` avec l'id de votre service
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
<p><a href="/guides/homepage#exemples">Retour à la documentation</a></p>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div set:html={html} />
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
@@ -173,3 +173,10 @@ Vous pouvez récupérer le logo de votre service au format svg dans le paquet np
|
|||||||
`@gouvfr-lasuite/integration/dist/logos`.
|
`@gouvfr-lasuite/integration/dist/logos`.
|
||||||
|
|
||||||
:::
|
:::
|
||||||
|
|
||||||
|
## Exemples
|
||||||
|
|
||||||
|
- [Page d'accueil classique](/examples/homepage/default),
|
||||||
|
- [Avec connexion e-mail uniquement](/examples/homepage/email),
|
||||||
|
- [Avec connexion e-mail + proconnect](/examples/homepage/email-proconnect),
|
||||||
|
- [Avec contenus additionnels/personnalisés](/examples/homepage/custom).
|
||||||
|
|||||||
34
website/src/pages/examples/homepage/custom.astro
Normal file
34
website/src/pages/examples/homepage/custom.astro
Normal file
@@ -0,0 +1,34 @@
|
|||||||
|
---
|
||||||
|
import { jsx as _jsx } from "react/jsx-runtime"
|
||||||
|
import HomepageExample from "@/components/HomepageExample.astro"
|
||||||
|
---
|
||||||
|
|
||||||
|
<HomepageExample
|
||||||
|
title="contenu additionnel"
|
||||||
|
props={{
|
||||||
|
description: _jsx("div", {
|
||||||
|
children: [
|
||||||
|
_jsx("p", {
|
||||||
|
children: "Il est possible d'ajouter une description en dessous de la tagline.",
|
||||||
|
style: { marginBottom: "0.5rem" },
|
||||||
|
}),
|
||||||
|
_jsx("a", {
|
||||||
|
href: "#",
|
||||||
|
className: "fr-btn fr-btn--secondary",
|
||||||
|
children: "Comment utiliser ce service ?",
|
||||||
|
}),
|
||||||
|
],
|
||||||
|
}),
|
||||||
|
children: _jsx("div", {
|
||||||
|
children: [
|
||||||
|
_jsx("h2", {
|
||||||
|
children: "Contenu personnalisé",
|
||||||
|
}),
|
||||||
|
_jsx("p", {
|
||||||
|
children:
|
||||||
|
"Lorem ipsum dolor sit amet consectetur adipisicing elit. Perferendis beatae, quia eius voluptatem repudiandae quisquam a magnam obcaecati labore dolor ad vitae, omnis iusto deleniti error eveniet maxime! Consectetur, sint?",
|
||||||
|
}),
|
||||||
|
],
|
||||||
|
}),
|
||||||
|
}}
|
||||||
|
/>
|
||||||
6
website/src/pages/examples/homepage/default.astro
Normal file
6
website/src/pages/examples/homepage/default.astro
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
---
|
||||||
|
import { jsx as _jsx } from "react/jsx-runtime"
|
||||||
|
import HomepageExample from "@/components/HomepageExample.astro"
|
||||||
|
---
|
||||||
|
|
||||||
|
<HomepageExample title="par défaut" />
|
||||||
15
website/src/pages/examples/homepage/email-proconnect.astro
Normal file
15
website/src/pages/examples/homepage/email-proconnect.astro
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
---
|
||||||
|
import { jsx as _jsx } from "react/jsx-runtime"
|
||||||
|
import { HomepageEmailOrProconnect } from "@gouvfr-lasuite/integration"
|
||||||
|
import HomepageExample from "@/components/HomepageExample.astro"
|
||||||
|
---
|
||||||
|
|
||||||
|
<HomepageExample
|
||||||
|
title="connexion email + proconnect"
|
||||||
|
props={{
|
||||||
|
children: _jsx(HomepageEmailOrProconnect, {
|
||||||
|
proconnectUrl: "~~replace~~",
|
||||||
|
emailForm: { action: "~~replace~~" },
|
||||||
|
}),
|
||||||
|
}}
|
||||||
|
/>
|
||||||
14
website/src/pages/examples/homepage/email.astro
Normal file
14
website/src/pages/examples/homepage/email.astro
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
---
|
||||||
|
import { jsx as _jsx } from "react/jsx-runtime"
|
||||||
|
import { HomepageEmail } from "@gouvfr-lasuite/integration"
|
||||||
|
import HomepageExample from "@/components/HomepageExample.astro"
|
||||||
|
---
|
||||||
|
|
||||||
|
<HomepageExample
|
||||||
|
title="connexion email"
|
||||||
|
props={{
|
||||||
|
children: _jsx(HomepageEmail, {
|
||||||
|
action: "~~replace~~",
|
||||||
|
}),
|
||||||
|
}}
|
||||||
|
/>
|
||||||
Reference in New Issue
Block a user