From d9189c97c28afbcd58335f20be5ff4c7874ce1bf Mon Sep 17 00:00:00 2001 From: Lebaud Antoine Date: Tue, 12 Mar 2024 14:42:50 +0100 Subject: [PATCH] wip lint --- README.md | 9 +-- postcss.config.js | 2 +- src/components/Callout.tsx | 12 +-- src/components/Core/BreakLine.tsx | 12 +-- src/components/Core/Button.tsx | 18 ++--- src/components/Core/ExternalLink.tsx | 34 ++++----- src/components/Core/index.ts | 6 +- src/components/Layout/ContentPage.tsx | 10 +-- src/components/Layout/Footer.tsx | 38 +++++----- src/components/Layout/Layout.tsx | 22 +++--- src/components/Layout/MetaHeader.tsx | 11 ++- src/components/Layout/NavBar.tsx | 6 +- src/components/Layout/index.ts | 10 +-- src/components/Swiper.tsx | 18 ++--- src/components/sections/ANCT/index.tsx | 16 ++-- .../sections/CallForProjects/Card.tsx | 12 +-- .../sections/CallForProjects/Decorations.tsx | 24 +++--- .../sections/CallForProjects/Section.tsx | 20 ++--- .../sections/CallForProjects/data.ts | 12 +-- .../sections/CallForProjects/index.ts | 2 +- src/components/sections/ContentSection.tsx | 16 ++-- .../sections/DigitalCommons/Card.tsx | 12 +-- .../sections/DigitalCommons/Section.tsx | 14 ++-- .../sections/DigitalCommons/data.ts | 46 +++++------ .../sections/DigitalCommons/index.tsx | 2 +- src/components/sections/Hero/index.tsx | 18 ++--- src/components/sections/Newsletter/index.tsx | 6 +- src/components/sections/ProConnect/Card.tsx | 10 +-- .../sections/ProConnect/Section.tsx | 16 ++-- src/components/sections/ProConnect/data.ts | 18 ++--- src/components/sections/ProConnect/index.ts | 2 +- src/components/sections/Testimony/Card.tsx | 20 ++--- src/components/sections/Testimony/Section.tsx | 16 ++-- src/components/sections/Testimony/data.tsx | 40 +++++----- src/components/sections/Testimony/index.ts | 2 +- src/components/sections/index.tsx | 2 +- src/constant.ts | 12 +-- src/pages/_app.tsx | 70 ++++++++--------- src/pages/_document.tsx | 4 +- src/pages/accessibilite/index.tsx | 20 ++--- src/pages/apropos/index.tsx | 10 +-- src/pages/communs/index.tsx | 16 ++-- src/pages/index.tsx | 20 ++--- src/pages/suivi/index.tsx | 24 +++--- src/types.ts | 6 +- tailwind.config.ts | 76 +++++++++---------- 46 files changed, 397 insertions(+), 395 deletions(-) diff --git a/README.md b/README.md index 1591f36..e080995 100644 --- a/README.md +++ b/README.md @@ -1,12 +1,12 @@ # La Suite -This repository houses the code and assets for *La Suite* landing page. +This repository houses the code and assets for _La Suite_ landing page. -*La Suite* is currently under construction, and we anticipate ongoing updates and enhancements to our content. Stay tuned! +_La Suite_ is currently under construction, and we anticipate ongoing updates and enhancements to our content. Stay tuned! ## Getting Started -This is a [Next.js](https://nextjs.org/) project. +This is a [Next.js](https://nextjs.org/) project. First, install project dependencies: @@ -24,10 +24,9 @@ Open [http://localhost:3000](http://localhost:3000) with your browser to see the To learn more about Next.js, take a look at the [Next.js Documentation](https://nextjs.org/docs). - ## Contributing -This project is intended to be community-driven, so please, do not hesitate to get in touch if you have any question related to our implementation or design decisions. +This project is intended to be community-driven, so please, do not hesitate to get in touch if you have any question related to our implementation or design decisions. ## License diff --git a/postcss.config.js b/postcss.config.js index 12a703d..33ad091 100644 --- a/postcss.config.js +++ b/postcss.config.js @@ -3,4 +3,4 @@ module.exports = { tailwindcss: {}, autoprefixer: {}, }, -}; +} diff --git a/src/components/Callout.tsx b/src/components/Callout.tsx index 152b6be..29ba680 100644 --- a/src/components/Callout.tsx +++ b/src/components/Callout.tsx @@ -1,16 +1,16 @@ -import Image from "next/image"; +import Image from 'next/image' export interface CalloutProps { - children: any; + children: any } type UnionSVGProps = { - className: string; -}; + className: string +} const UnionSVG = ({ className }: UnionSVGProps) => ( -); +) export const Callout = ({ children }: CalloutProps) => (
@@ -22,4 +22,4 @@ export const Callout = ({ children }: CalloutProps) => (
-); +) diff --git a/src/components/Core/BreakLine.tsx b/src/components/Core/BreakLine.tsx index 5ca02c4..91d1bd3 100644 --- a/src/components/Core/BreakLine.tsx +++ b/src/components/Core/BreakLine.tsx @@ -1,6 +1,6 @@ -import { twMerge } from "tailwind-merge"; -import React from "react"; -import { CommonProps } from "@/types"; +import { twMerge } from 'tailwind-merge' +import React from 'react' +import { CommonProps } from '@/types' /** * Line Break Component @@ -13,6 +13,6 @@ import { CommonProps } from "@/types"; * should be ignored by screen readers. * */ -export const Br: React.FC> = ({ className }) => ( -
-); +export const Br: React.FC> = ({ className }) => ( +
+) diff --git a/src/components/Core/Button.tsx b/src/components/Core/Button.tsx index 0ab444f..a97a0eb 100644 --- a/src/components/Core/Button.tsx +++ b/src/components/Core/Button.tsx @@ -1,21 +1,21 @@ -import Image from "next/image"; -import Link from "next/link"; -import { twMerge } from "tailwind-merge"; -import { CommonProps } from "@/types"; +import Image from 'next/image' +import Link from 'next/link' +import { twMerge } from 'tailwind-merge' +import { CommonProps } from '@/types' interface ButtonProps extends CommonProps { - href?: string; - "aria-label"?: string; + href?: string + 'aria-label'?: string } export const ButtonStyle = - "flex justify-center align-middle items-center min-h-10 text-base font-medium text-dinum-white-0 px-6 sm:w-auto bg-dinum-blue-1 hover:bg-dsfr-blue-2 transition ease-in-out delay-50 duration-300 text-center"; + 'flex justify-center align-middle items-center min-h-10 text-base font-medium text-dinum-white-0 px-6 sm:w-auto bg-dinum-blue-1 hover:bg-dsfr-blue-2 transition ease-in-out delay-50 duration-300 text-center' export const Button: React.FC = ({ children, href, className, - "aria-label": ariaLabel, + 'aria-label': ariaLabel, }) => ( <> {href ? ( @@ -30,4 +30,4 @@ export const Button: React.FC = ({ )} -); +) diff --git a/src/components/Core/ExternalLink.tsx b/src/components/Core/ExternalLink.tsx index b63f49e..5c00ab2 100644 --- a/src/components/Core/ExternalLink.tsx +++ b/src/components/Core/ExternalLink.tsx @@ -1,11 +1,11 @@ -import Image from "next/image"; -import { CommonProps } from "@/types"; -import { ButtonStyle } from "@/components/Core/Button"; -import { twMerge } from "tailwind-merge"; +import Image from 'next/image' +import { CommonProps } from '@/types' +import { ButtonStyle } from '@/components/Core/Button' +import { twMerge } from 'tailwind-merge' -export type LinkProps = Omit & { - href: string; - children: string; +export type LinkProps = Omit & { + href: string + children: string /** * The text vocalized by screen readers. * Use this only to add context to the link if the default text is not enough to understand the link on its own. @@ -13,17 +13,17 @@ export type LinkProps = Omit & { * note: a string telling the user that the link opens in a new window is always added at the end of the aria-label, * whether you pass one or not. */ - "aria-label"?: string; -}; + 'aria-label'?: string +} /** * our ButtonExternalLink passes html to ExternalLink. * In that case, aria-label is mandatory as it can't be guessed from a children string anymore. */ -type ComplexChildrenLinkProps = Omit & { - children: React.ReactNode; - "aria-label": string; -}; +type ComplexChildrenLinkProps = Omit & { + children: React.ReactNode + 'aria-label': string +} /** * ExternalLink Component @@ -33,7 +33,7 @@ type ComplexChildrenLinkProps = Omit & { */ export const ExternalLink: React.FC = ({ children, - "aria-label": ariaLabel, + 'aria-label': ariaLabel, ...subProps }) => ( = ({ > {children} -); +) export const ButtonExternalLink: React.FC = ({ className, children, - "aria-label": ariaLabel, + 'aria-label': ariaLabel, ...subprops }) => ( = ({ /> -); +) diff --git a/src/components/Core/index.ts b/src/components/Core/index.ts index c4930f4..234d00e 100644 --- a/src/components/Core/index.ts +++ b/src/components/Core/index.ts @@ -1,3 +1,3 @@ -export * from "./BreakLine"; -export * from "./Button"; -export * from "./ExternalLink"; +export * from './BreakLine' +export * from './Button' +export * from './ExternalLink' diff --git a/src/components/Layout/ContentPage.tsx b/src/components/Layout/ContentPage.tsx index 9f6f729..49bf140 100644 --- a/src/components/Layout/ContentPage.tsx +++ b/src/components/Layout/ContentPage.tsx @@ -1,11 +1,11 @@ -import { Layout } from "@/components/Layout"; +import { Layout } from '@/components/Layout' export const ContentPage: React.FC<{ /** * Text to use as page title and visible heading in the page header. */ - title: string; - children: React.ReactNode; + title: string + children: React.ReactNode }> = ({ title, children }) => { return ( @@ -18,5 +18,5 @@ export const ContentPage: React.FC<{
{children}
- ); -}; + ) +} diff --git a/src/components/Layout/Footer.tsx b/src/components/Layout/Footer.tsx index d89404a..c8d5fac 100644 --- a/src/components/Layout/Footer.tsx +++ b/src/components/Layout/Footer.tsx @@ -1,22 +1,22 @@ -import Link from "next/link"; -import { twMerge } from "tailwind-merge"; -import { ExternalLink, LinkProps, Br } from "@/components/Core"; +import Link from 'next/link' +import { twMerge } from 'tailwind-merge' +import { ExternalLink, LinkProps, Br } from '@/components/Core' const hover = - "hover:underline hover:decoration-2 hover:underline-offset-4 transition ease-in-out delay-50 duration-300 hover:cursor-pointer"; + 'hover:underline hover:decoration-2 hover:underline-offset-4 transition ease-in-out delay-50 duration-300 hover:cursor-pointer' const externalLinks: LinkProps[] = [ - { href: "https://legifrance.gouv.fr/fr/", children: "legifrance.gouv.fr" }, - { href: "https://gouvernement.fr/fr/", children: "gouvernement.fr" }, - { href: "https://www.service-public.fr/", children: "service-public.fr" }, - { href: "https://www.data.gouv.fr/fr/", children: "data.gouv.fr" }, -]; + { href: 'https://legifrance.gouv.fr/fr/', children: 'legifrance.gouv.fr' }, + { href: 'https://gouvernement.fr/fr/', children: 'gouvernement.fr' }, + { href: 'https://www.service-public.fr/', children: 'service-public.fr' }, + { href: 'https://www.data.gouv.fr/fr/', children: 'data.gouv.fr' }, +] const pages: LinkProps[] = [ - { href: "/apropos", children: "Mentions Légales" }, - { href: "/suivi", children: "Données personnelles et cookies" }, - { href: "/accessibilite", children: "Accessibilité: audit en cours" }, -]; + { href: '/apropos', children: 'Mentions Légales' }, + { href: '/suivi', children: 'Données personnelles et cookies' }, + { href: '/accessibilite', children: 'Accessibilité: audit en cours' }, +] export const Footer = () => (
@@ -43,7 +43,7 @@ export const Footer = () => ( {externalLinks.map((link) => (
  • ( > {link.children} @@ -76,12 +76,12 @@ export const Footer = () => (

    - Sauf mention contraire, tous les contenus de ce site sont sous{" "} + Sauf mention contraire, tous les contenus de ce site sont sous{' '} licence etalab-2.0 @@ -91,4 +91,4 @@ export const Footer = () => (

  • -); +) diff --git a/src/components/Layout/Layout.tsx b/src/components/Layout/Layout.tsx index b38b314..255675a 100644 --- a/src/components/Layout/Layout.tsx +++ b/src/components/Layout/Layout.tsx @@ -1,8 +1,8 @@ -import Head from "next/head"; -import { NavBar } from "@/components/Layout/NavBar"; -import { Footer } from "@/components/Layout/Footer"; -import { CommonProps } from "@/types"; -import { TITLE_SITE } from "@/constant"; +import Head from 'next/head' +import { NavBar } from '@/components/Layout/NavBar' +import { Footer } from '@/components/Layout/Footer' +import { CommonProps } from '@/types' +import { TITLE_SITE } from '@/constant' export const Layout: React.FC< CommonProps & { @@ -10,11 +10,11 @@ export const Layout: React.FC< * Text to use as page . It should represent what the current page is about. * The website name is appended to the title automatically. */ - title: string; + title: string } > = ({ title, ...props }) => { - const isHomepage = title === TITLE_SITE; - const pageTitle = isHomepage ? title : `${title} - ${TITLE_SITE}`; + const isHomepage = title === TITLE_SITE + const pageTitle = isHomepage ? title : `${title} - ${TITLE_SITE}` return ( <> <Head> @@ -23,7 +23,7 @@ export const Layout: React.FC< key="ogtitle" property="og:title" content={ - isHomepage ? "Travailler avec La Suite numérique" : pageTitle + isHomepage ? 'Travailler avec La Suite numérique' : pageTitle } /> </Head> @@ -31,5 +31,5 @@ export const Layout: React.FC< <main {...props}>{props.children}</main> <Footer /> </> - ); -}; + ) +} diff --git a/src/components/Layout/MetaHeader.tsx b/src/components/Layout/MetaHeader.tsx index 91edf62..07f9d55 100644 --- a/src/components/Layout/MetaHeader.tsx +++ b/src/components/Layout/MetaHeader.tsx @@ -1,5 +1,5 @@ -import Head from "next/head"; -import { URL_SITE } from "@/constant"; +import Head from 'next/head' +import { URL_SITE } from '@/constant' export const MetaHeader = () => ( <Head> @@ -15,6 +15,9 @@ export const MetaHeader = () => ( property="og:image" content={`https://${URL_SITE}/thumbnail.webp`} /> - <meta name="google-site-verification" content="3aBlUYDu-74uaKsSb6HXnyW_PhHwgti18SbcZGdYbl4" /> + <meta + name="google-site-verification" + content="3aBlUYDu-74uaKsSb6HXnyW_PhHwgti18SbcZGdYbl4" + /> </Head> -); +) diff --git a/src/components/Layout/NavBar.tsx b/src/components/Layout/NavBar.tsx index 7e6968e..bfc473b 100644 --- a/src/components/Layout/NavBar.tsx +++ b/src/components/Layout/NavBar.tsx @@ -1,5 +1,5 @@ -import Link from "next/link"; -import { Br } from "@/components/Core"; +import Link from 'next/link' +import { Br } from '@/components/Core' /** * NavBar Component @@ -34,4 +34,4 @@ export const NavBar = () => ( </div> </div> </header> -); +) diff --git a/src/components/Layout/index.ts b/src/components/Layout/index.ts index 3dbfeff..8ce0c18 100644 --- a/src/components/Layout/index.ts +++ b/src/components/Layout/index.ts @@ -1,5 +1,5 @@ -export * from "./Footer"; -export * from "./NavBar"; -export * from "./MetaHeader"; -export * from "./Layout"; -export * from "./ContentPage"; +export * from './Footer' +export * from './NavBar' +export * from './MetaHeader' +export * from './Layout' +export * from './ContentPage' diff --git a/src/components/Swiper.tsx b/src/components/Swiper.tsx index b8de317..43b9285 100644 --- a/src/components/Swiper.tsx +++ b/src/components/Swiper.tsx @@ -1,13 +1,13 @@ -import "swiper/css"; -import "swiper/css/pagination"; -import { Swiper, SwiperSlide } from "swiper/react"; -import { Pagination } from "swiper/modules"; +import 'swiper/css' +import 'swiper/css/pagination' +import { Swiper, SwiperSlide } from 'swiper/react' +import { Pagination } from 'swiper/modules' -type Slide = any; +type Slide = any interface SwiperWrapperProps { - slides: Array<Slide>; - slidesPerView?: number; + slides: Array<Slide> + slidesPerView?: number } export const SwiperWrapper = ({ @@ -25,5 +25,5 @@ export const SwiperWrapper = ({ <SwiperSlide key={i}>{s}</SwiperSlide> ))} </Swiper> - ); -}; + ) +} diff --git a/src/components/sections/ANCT/index.tsx b/src/components/sections/ANCT/index.tsx index cb080da..4848e11 100644 --- a/src/components/sections/ANCT/index.tsx +++ b/src/components/sections/ANCT/index.tsx @@ -1,5 +1,5 @@ -import Image from "next/image"; -import { ContentSection } from "@/components/sections"; +import Image from 'next/image' +import { ContentSection } from '@/components/sections' export const Section = () => ( <ContentSection className="bg-dinum-white-0"> @@ -13,10 +13,10 @@ export const Section = () => ( </h2> <div className="flex flex-col gap-4"> <p className="text-lg text-dinum-grey-1 max-w-[45em] text-left sm:text-center"> - Afin de{" "} + Afin de{' '} <strong> renforcer la cybersécurité des collectivités territoriales, - </strong>{" "} + </strong>{' '} ANCT et ANSSI proposent de contribuer à l’ouverture de La Suite numérique aux élus locaux et agents publics territoriaux. </p> @@ -24,14 +24,14 @@ export const Section = () => ( <strong> La Suite territoriale vise ainsi à mettre à disposition des collectivités un ensemble de services numériques sécurisés, - </strong>{" "} + </strong>{' '} notamment nom de domaine, serveur mail et espace de stockage minimal. </p> <p className="text-lg text-dinum-grey-1 max-w-[45em] text-left sm:text-center"> <strong> Ces services de base seront complétés par des services opérés au niveau national - </strong>{" "} + </strong>{' '} (DINUM, ANCT, ANSSI) <strong>comme au niveau local</strong> (opérateurs publics de services numériques) à travers La Suite numérique : visioconférence, transfert de fichiers lourds, tableur collaboratif… @@ -40,7 +40,7 @@ export const Section = () => ( <strong> L'ANCT propose aux collectivités territoriales et partenaires locaux de participer aux développements de La Suite territoriale - </strong>{" "} + </strong>{' '} en rejoignant le groupe pilote ainsi que les ateliers ouverts organisés à partir de mars 2024. </p> @@ -67,4 +67,4 @@ export const Section = () => ( /> </div> </ContentSection> -); +) diff --git a/src/components/sections/CallForProjects/Card.tsx b/src/components/sections/CallForProjects/Card.tsx index 232481d..4220d74 100644 --- a/src/components/sections/CallForProjects/Card.tsx +++ b/src/components/sections/CallForProjects/Card.tsx @@ -1,10 +1,10 @@ -import { Br } from "@/components/Core"; -import { DecorationEven, DecorationOdd } from "./Decorations"; +import { Br } from '@/components/Core' +import { DecorationEven, DecorationOdd } from './Decorations' export interface CardProps { - title: string; - body: any; - index: number; + title: string + body: any + index: number } export const Card = ({ title, body, index }: CardProps) => ( @@ -18,4 +18,4 @@ export const Card = ({ title, body, index }: CardProps) => ( <p className="text-lg" dangerouslySetInnerHTML={{ __html: body }} /> {index % 2 === 0 ? <DecorationEven /> : <DecorationOdd />} </div> -); +) diff --git a/src/components/sections/CallForProjects/Decorations.tsx b/src/components/sections/CallForProjects/Decorations.tsx index e77a4c5..fc570d3 100644 --- a/src/components/sections/CallForProjects/Decorations.tsx +++ b/src/components/sections/CallForProjects/Decorations.tsx @@ -1,27 +1,27 @@ -import { twMerge } from "tailwind-merge"; -import Image from "next/image"; -import { CommonProps } from "@/types"; +import { twMerge } from 'tailwind-merge' +import Image from 'next/image' +import { CommonProps } from '@/types' -const WhiteUnion: React.FC<Omit<CommonProps, "children">> = ({ className }) => ( +const WhiteUnion: React.FC<Omit<CommonProps, 'children'>> = ({ className }) => ( <Image - className={twMerge("absolute", className)} + className={twMerge('absolute', className)} src="/call-for-projects/white-union.svg" width={30} height={30} alt="" /> -); +) -const WhiteSquare: React.FC<Omit<CommonProps, "children">> = ({ +const WhiteSquare: React.FC<Omit<CommonProps, 'children'>> = ({ className, }) => ( <span className={twMerge( - "h-[28px] w-[28px] bg-dinum-white-0 absolute z-10", - className, + 'h-[28px] w-[28px] bg-dinum-white-0 absolute z-10', + className )} /> -); +) export const DecorationOdd = () => ( <> @@ -32,7 +32,7 @@ export const DecorationOdd = () => ( <WhiteSquare className="bottom-0 left-[56px]" /> <WhiteUnion className="bottom-[20px] right-[20px]" /> </> -); +) export const DecorationEven = () => ( <> @@ -40,4 +40,4 @@ export const DecorationEven = () => ( <WhiteSquare className="bottom-[28px] right-[28px]" /> <WhiteUnion className="top-[20px] left-[20px] rotate-180" /> </> -); +) diff --git a/src/components/sections/CallForProjects/Section.tsx b/src/components/sections/CallForProjects/Section.tsx index c673d2e..90c6d34 100644 --- a/src/components/sections/CallForProjects/Section.tsx +++ b/src/components/sections/CallForProjects/Section.tsx @@ -1,12 +1,12 @@ -import Image from "next/image"; -import { SwiperWrapper } from "@/components/Swiper"; -import { ContentSection } from "@/components/sections"; -import { Button } from "@/components/Core"; +import Image from 'next/image' +import { SwiperWrapper } from '@/components/Swiper' +import { ContentSection } from '@/components/sections' +import { Button } from '@/components/Core' -import { data } from "./data"; -import { Card } from "./Card"; +import { data } from './data' +import { Card } from './Card' -import IllustrationIdea from "../../../../public/call-for-projects/illustration.webp"; +import IllustrationIdea from '../../../../public/call-for-projects/illustration.webp' export const Section = () => ( <> @@ -24,13 +24,13 @@ export const Section = () => ( <p className="text-lg text-dinum-grey-1 max-w-[38rem] text-pretty"> Vous êtes une entité publique ou privée et vous portez une solution collaborative structurée sous forme de commun numérique ou de logiciel - libre ? Vous pouvez intégrer La Suite numérique{" "} + libre ? Vous pouvez intégrer La Suite numérique{' '} <strong> pour être utile à des milliers d'agents publics en France ! </strong> </p> <p className="text-lg text-dinum-grey-1 max-w-[38rem] text-pretty"> - Obtenez un <strong>financement</strong> et un{" "} + Obtenez un <strong>financement</strong> et un{' '} <strong>accompagnement</strong> pour travailler avec nous, dans le cadre du fonds communs numériques pour La Suite collaborative. </p> @@ -61,4 +61,4 @@ export const Section = () => ( </div> </ContentSection> </> -); +) diff --git a/src/components/sections/CallForProjects/data.ts b/src/components/sections/CallForProjects/data.ts index 3bf99a4..855931c 100644 --- a/src/components/sections/CallForProjects/data.ts +++ b/src/components/sections/CallForProjects/data.ts @@ -1,14 +1,14 @@ -import { CardProps } from "./Card"; +import { CardProps } from './Card' -export type QuestionProps = Omit<CardProps, "index">; +export type QuestionProps = Omit<CardProps, 'index'> export const data: QuestionProps[] = [ { - title: "commun numérique", - body: "Les communs numériques sont des ressources partagées sous forme de biens immatériels utilisables librement. Ils sont produits et gérés par une communauté ouverte d’acteurs partageant des valeurs et des règles de collaboration ou de gouvernance. Il peut s’agir : de logiciels et librairies libres exploitables dans de nouvelles solutions, de standards ouverts, de données et contenus ouverts.", + title: 'commun numérique', + body: 'Les communs numériques sont des ressources partagées sous forme de biens immatériels utilisables librement. Ils sont produits et gérés par une communauté ouverte d’acteurs partageant des valeurs et des règles de collaboration ou de gouvernance. Il peut s’agir : de logiciels et librairies libres exploitables dans de nouvelles solutions, de standards ouverts, de données et contenus ouverts.', }, { - title: "logiciel libre", + title: 'logiciel libre', body: "Un logiciel libre est un programme informatique dont l’utilisation, la modification et la distribution sont permises, généralement sans coût financier. L’aspect clé des logiciels libres réside dans la liberté qu'ils offrent à leurs utilisateurs. Cela signifie que les utilisateurs ont le droit d’exécuter, copier, distribuer, étudier, modifier et améliorer le logiciel. Ces libertés sont garanties par des licences spécifiques. Les logiciels libres encouragent la collaboration et la transparence, favorisant ainsi la création et le partage ouvert de connaissances informatiques.", }, -]; +] diff --git a/src/components/sections/CallForProjects/index.ts b/src/components/sections/CallForProjects/index.ts index 8d851af..8efe270 100644 --- a/src/components/sections/CallForProjects/index.ts +++ b/src/components/sections/CallForProjects/index.ts @@ -1 +1 @@ -export * from "./Section"; +export * from './Section' diff --git a/src/components/sections/ContentSection.tsx b/src/components/sections/ContentSection.tsx index 1532449..b4fc508 100644 --- a/src/components/sections/ContentSection.tsx +++ b/src/components/sections/ContentSection.tsx @@ -1,5 +1,5 @@ -import { HTMLAttributes, PropsWithChildren } from "react"; -import { twMerge } from "tailwind-merge"; +import { HTMLAttributes, PropsWithChildren } from 'react' +import { twMerge } from 'tailwind-merge' export const ContentSection = ({ children, @@ -11,19 +11,19 @@ export const ContentSection = ({ return ( <div className={twMerge( - "overflow-hidden flex justify-center py-[50px] md:py-20", - className, + 'overflow-hidden flex justify-center py-[50px] md:py-20', + className )} > <div className={twMerge( - "flex flex-col items-center w-full lg:w-[64em] px-4 gap-[50px]", - classNameChildren, + 'flex flex-col items-center w-full lg:w-[64em] px-4 gap-[50px]', + classNameChildren )} {...props} > {children} </div> </div> - ); -}; + ) +} diff --git a/src/components/sections/DigitalCommons/Card.tsx b/src/components/sections/DigitalCommons/Card.tsx index a06f6f0..81cd8a7 100644 --- a/src/components/sections/DigitalCommons/Card.tsx +++ b/src/components/sections/DigitalCommons/Card.tsx @@ -1,10 +1,10 @@ -import Image from "next/image"; -import { ExternalLink, LinkProps } from "@/components/Core"; +import Image from 'next/image' +import { ExternalLink, LinkProps } from '@/components/Core' export interface CardProps { - title: string; - href: string; - img: string; + title: string + href: string + img: string } export const Card: React.FC<CardProps> = ({ img, title, href }) => ( @@ -21,4 +21,4 @@ export const Card: React.FC<CardProps> = ({ img, title, href }) => ( </ExternalLink> </div> </div> -); +) diff --git a/src/components/sections/DigitalCommons/Section.tsx b/src/components/sections/DigitalCommons/Section.tsx index d2d295a..27cac40 100644 --- a/src/components/sections/DigitalCommons/Section.tsx +++ b/src/components/sections/DigitalCommons/Section.tsx @@ -1,9 +1,9 @@ -import { ContentSection } from "@/components/sections"; -import { SwiperWrapper as Swiper } from "@/components/Swiper"; -import Image from "next/image"; +import { ContentSection } from '@/components/sections' +import { SwiperWrapper as Swiper } from '@/components/Swiper' +import Image from 'next/image' -import { content } from "./data"; -import { Card } from "./Card"; +import { content } from './data' +import { Card } from './Card' export const Section = () => ( <> @@ -58,11 +58,11 @@ export const Section = () => ( {/*</Callout>*/} <p className="text-lg text-dinum-grey-1 max-w-[38em] text-left sm:text-center"> Les applications de La Suite numérique respectent un cahier des charges - vertueux :{" "} + vertueux :{' '} <strong> être des logiciels libres et respecter une charte graphique commune. </strong> </p> </ContentSection> </> -); +) diff --git a/src/components/sections/DigitalCommons/data.ts b/src/components/sections/DigitalCommons/data.ts index 78a0875..fba64f0 100644 --- a/src/components/sections/DigitalCommons/data.ts +++ b/src/components/sections/DigitalCommons/data.ts @@ -1,39 +1,39 @@ -import { CardProps } from "./Card"; +import { CardProps } from './Card' export const content: CardProps[] = [ { - title: "Big Blue Button", - href: "https://bigbluebutton.org/", - img: "/digital-commons/big-blue-button.png", + title: 'Big Blue Button', + href: 'https://bigbluebutton.org/', + img: '/digital-commons/big-blue-button.png', }, { - title: "Collabora", - href: "https://www.collaboraoffice.com/", - img: "/digital-commons/collabora.png", + title: 'Collabora', + href: 'https://www.collaboraoffice.com/', + img: '/digital-commons/collabora.png', }, { - title: "Only Office", - href: "https://www.onlyoffice.com/fr/", - img: "/digital-commons/only-office.png", + title: 'Only Office', + href: 'https://www.onlyoffice.com/fr/', + img: '/digital-commons/only-office.png', }, { - title: "OpenXChange", - href: "https://www.open-xchange.com/", - img: "/digital-commons/ox.png", + title: 'OpenXChange', + href: 'https://www.open-xchange.com/', + img: '/digital-commons/ox.png', }, { - title: "Grist", - href: "https://www.getgrist.com/", - img: "/digital-commons/grist.png", + title: 'Grist', + href: 'https://www.getgrist.com/', + img: '/digital-commons/grist.png', }, { - title: "Jitsi", - href: "https://jitsimeet.fr/", - img: "/digital-commons/jitsi.png", + title: 'Jitsi', + href: 'https://jitsimeet.fr/', + img: '/digital-commons/jitsi.png', }, { - title: "Matrix", - href: "https://matrix.org/", - img: "/digital-commons/matrix.png", + title: 'Matrix', + href: 'https://matrix.org/', + img: '/digital-commons/matrix.png', }, -]; +] diff --git a/src/components/sections/DigitalCommons/index.tsx b/src/components/sections/DigitalCommons/index.tsx index 8d851af..8efe270 100644 --- a/src/components/sections/DigitalCommons/index.tsx +++ b/src/components/sections/DigitalCommons/index.tsx @@ -1 +1 @@ -export * from "./Section"; +export * from './Section' diff --git a/src/components/sections/Hero/index.tsx b/src/components/sections/Hero/index.tsx index 438804b..4f655c7 100644 --- a/src/components/sections/Hero/index.tsx +++ b/src/components/sections/Hero/index.tsx @@ -1,10 +1,10 @@ -import Image from "next/image"; -import { Callout } from "@/components/Callout"; -import { Br } from "@/components/Core"; -import { URL_SITE } from "@/constant"; +import Image from 'next/image' +import { Callout } from '@/components/Callout' +import { Br } from '@/components/Core' +import { URL_SITE } from '@/constant' -import heroImage from "../../../../public/hero/visuel-home.webp"; -import heroImageMobile from "../../../../public/hero/visuel-home-mobile.webp"; +import heroImage from '../../../../public/hero/visuel-home.webp' +import heroImageMobile from '../../../../public/hero/visuel-home-mobile.webp' export const Section = () => ( <div className="hero relative overflow-hidden bg-dinum-white-0 "> @@ -22,8 +22,8 @@ export const Section = () => ( <p className="text-lg text-dinum-grey-1 max-w-[44rem] text-left sm:text-center pb-8 md:pb-0"> <strong> La Suite numérique vise à fédèrer tous les agents et professionnels de - la sphère publique{" "} - </strong>{" "} + la sphère publique{' '} + </strong>{' '} autour d’applications disponibles à la carte et interconnectées, pour une gestion fluide et efficace du travail quotidien. </p> @@ -49,4 +49,4 @@ export const Section = () => ( </Callout> </div> </div> -); +) diff --git a/src/components/sections/Newsletter/index.tsx b/src/components/sections/Newsletter/index.tsx index 7a46aee..ae94903 100644 --- a/src/components/sections/Newsletter/index.tsx +++ b/src/components/sections/Newsletter/index.tsx @@ -1,5 +1,5 @@ -import { ButtonExternalLink } from "@/components/Core"; -import { NEWSLETTER_FORM } from "@/constant"; +import { ButtonExternalLink } from '@/components/Core' +import { NEWSLETTER_FORM } from '@/constant' export const Section = () => ( <div className="bg-dsfr-blue-1 py-8 text-left"> @@ -23,4 +23,4 @@ export const Section = () => ( </div> </div> </div> -); +) diff --git a/src/components/sections/ProConnect/Card.tsx b/src/components/sections/ProConnect/Card.tsx index 9cc5ef1..5d84df3 100644 --- a/src/components/sections/ProConnect/Card.tsx +++ b/src/components/sections/ProConnect/Card.tsx @@ -1,9 +1,9 @@ -import { Br } from "@/components/Core"; +import { Br } from '@/components/Core' export interface CardProps { - title: string; - target: string; - text: string; + title: string + target: string + text: string } export const Card = ({ title, target, text }: CardProps) => ( @@ -17,4 +17,4 @@ export const Card = ({ title, target, text }: CardProps) => ( </h3> <p className="mt-8 text-lg text-dinum-grey-1 text-pretty">{text}</p> </div> -); +) diff --git a/src/components/sections/ProConnect/Section.tsx b/src/components/sections/ProConnect/Section.tsx index 39cca60..cb2499f 100644 --- a/src/components/sections/ProConnect/Section.tsx +++ b/src/components/sections/ProConnect/Section.tsx @@ -1,10 +1,10 @@ -import Image from "next/image"; -import { SwiperWrapper } from "@/components/Swiper"; -import { ContentSection } from "@/components/sections"; -import { Br } from "@/components/Core"; +import Image from 'next/image' +import { SwiperWrapper } from '@/components/Swiper' +import { ContentSection } from '@/components/sections' +import { Br } from '@/components/Core' -import { Card } from "./Card"; -import { data } from "./data"; +import { Card } from './Card' +import { data } from './data' export const Section = () => ( <ContentSection className="bg-dinum-white-1 text-left sm:text-center"> @@ -15,7 +15,7 @@ export const Section = () => ( <p className="text-lg text-dinum-grey-1 max-w-[44rem]"> Le bouton Pro Connect est au cœur de La Suite numérique. <Br /> Au même titre que France Connect relie les services publics numériques des - citoyens et citoyennes,{" "} + citoyens et citoyennes,{' '} <strong> Pro Connect crée le lien entre les outils numériques des professionnels de la sphère publique. @@ -38,4 +38,4 @@ export const Section = () => ( /> </div> </ContentSection> -); +) diff --git a/src/components/sections/ProConnect/data.ts b/src/components/sections/ProConnect/data.ts index 694e8ac..149a855 100644 --- a/src/components/sections/ProConnect/data.ts +++ b/src/components/sections/ProConnect/data.ts @@ -1,19 +1,19 @@ -import { CardProps } from "./Card"; +import { CardProps } from './Card' export const data: CardProps[] = [ { - title: "Simple", + title: 'Simple', target: "l'Agent Public.", text: "Une seule connexion suffit à accéder à toutes les applications de La Suite. Fini la multitude d'identifiants et de mots de passes !", }, { - title: "Efficace", - target: "les Organisations.", - text: "Les applications de La Suite sont interconnectées, ce qui facilite la collaboration entre les différentes organisations de la sphère publique.", + title: 'Efficace', + target: 'les Organisations.', + text: 'Les applications de La Suite sont interconnectées, ce qui facilite la collaboration entre les différentes organisations de la sphère publique.', }, { - title: "Souveraine", - target: "Nous.", - text: "Les applications de La Suite sont des Communs Numériques Libres et contribuent ainsi à notre souveraineté numérique.", + title: 'Souveraine', + target: 'Nous.', + text: 'Les applications de La Suite sont des Communs Numériques Libres et contribuent ainsi à notre souveraineté numérique.', }, -]; +] diff --git a/src/components/sections/ProConnect/index.ts b/src/components/sections/ProConnect/index.ts index 8d851af..8efe270 100644 --- a/src/components/sections/ProConnect/index.ts +++ b/src/components/sections/ProConnect/index.ts @@ -1 +1 @@ -export * from "./Section"; +export * from './Section' diff --git a/src/components/sections/Testimony/Card.tsx b/src/components/sections/Testimony/Card.tsx index c1c368b..3095d08 100644 --- a/src/components/sections/Testimony/Card.tsx +++ b/src/components/sections/Testimony/Card.tsx @@ -1,12 +1,12 @@ -import Image from "next/image"; -import { ReactElement } from "react"; +import Image from 'next/image' +import { ReactElement } from 'react' export interface CardProps { - img: string; - title: string; - key: string; - quote: ReactElement; - entity: string; + img: string + title: string + key: string + quote: ReactElement + entity: string } export const Card = ({ title, quote, img, entity }: CardProps) => ( @@ -14,8 +14,8 @@ export const Card = ({ title, quote, img, entity }: CardProps) => ( <h3 className="h-[114px] w-[140px] relative"> <Image src={img} - layout={"fill"} - objectFit={"contain"} + layout={'fill'} + objectFit={'contain'} alt={`Témoignage - ${entity}`} /> </h3> @@ -27,4 +27,4 @@ export const Card = ({ title, quote, img, entity }: CardProps) => ( {quote} </blockquote> </div> -); +) diff --git a/src/components/sections/Testimony/Section.tsx b/src/components/sections/Testimony/Section.tsx index a654369..f6fb235 100644 --- a/src/components/sections/Testimony/Section.tsx +++ b/src/components/sections/Testimony/Section.tsx @@ -1,10 +1,10 @@ -import { SwiperWrapper } from "@/components/Swiper"; -import { ContentSection } from "@/components/sections"; +import { SwiperWrapper } from '@/components/Swiper' +import { ContentSection } from '@/components/sections' -import { Br } from "@/components/Core"; +import { Br } from '@/components/Core' -import { Card } from "./Card"; -import { data } from "./data"; +import { Card } from './Card' +import { data } from './data' export const Section = () => ( <ContentSection className="bg-dinum-white-1 text-left sm:text-center"> @@ -13,10 +13,10 @@ export const Section = () => ( </h2> <p className="text-lg text-dinum-grey-1 max-w-[38rem]"> La Suite est un projet en construction, certaines de ses applications sont - encore en phase de test, mais{" "} + encore en phase de test, mais{' '} <strong> d'autres sont déjà utilisées par des milliers d'agents et - toujours plus chaque jour !{" "} + toujours plus chaque jour !{' '} </strong> <Br /> Découvrez les applications stars de La Suite : @@ -34,4 +34,4 @@ export const Section = () => ( /> </div> </ContentSection> -); +) diff --git a/src/components/sections/Testimony/data.tsx b/src/components/sections/Testimony/data.tsx index db9414d..c7c925c 100644 --- a/src/components/sections/Testimony/data.tsx +++ b/src/components/sections/Testimony/data.tsx @@ -1,16 +1,16 @@ -import { Br } from "@/components/Core"; -import { CardProps } from "./Card"; +import { Br } from '@/components/Core' +import { CardProps } from './Card' export const data: CardProps[] = [ { quote: ( <p className="text-dinum-grey-1"> - Je suis proviseur adjoint d’une cité scolaire.{" "} + Je suis proviseur adjoint d’une cité scolaire.{' '} <strong> Tchap est une application respectueuse des données personnelles. - </strong>{" "} + </strong>{' '} Je m’en sers pour cloisonner le monde personnel et professionnel parce - que le monde enseignant peut devenir invasif.{" "} + que le monde enseignant peut devenir invasif.{' '} <strong> Je m’en sers avec le personnel de l’éducation nationale en fonction des missions, avec des collègues du même bassin, aussi pour des @@ -18,45 +18,45 @@ export const data: CardProps[] = [ </strong> </p> ), - title: "Agent", - img: "/testimony/logo-education-nationale.svg", - key: "educ-nat", + title: 'Agent', + img: '/testimony/logo-education-nationale.svg', + key: 'educ-nat', entity: "Ministère de l'éducation nationale et de la jeunesse", }, { quote: ( <p className="text-dinum-grey-1"> Je fais de l’animation de projets inter-collectivités donc j'ai - beaucoup de liens avec des partenaires de l’Etat.{" "} + beaucoup de liens avec des partenaires de l’Etat.{' '} <strong> J’utilise Tchap parce que j'étais intéressé par l’open source. </strong> <Br /> <Br /> Mon prédécesseur avait fait une expérimentation avec quelques - collectivités mais nous{" "} + collectivités mais nous{' '} <strong> on veut l'utiliser tous les jours, pour l'animation au quotidien des nos communautés. </strong> </p> ), - title: "Agent de la collectivité territoriale", - img: "/testimony/logo-anct.svg", - key: "anct", - entity: "Agence nationale de la cohésion des territoires", + title: 'Agent de la collectivité territoriale', + img: '/testimony/logo-anct.svg', + key: 'anct', + entity: 'Agence nationale de la cohésion des territoires', }, { quote: ( <p className="text-dinum-grey-1"> - Avec la dernière mise à jour de Tchap, on a les{" "} - <strong>mêmes fonctionnalités qu’avec WhatsApp,</strong> mais en{" "} + Avec la dernière mise à jour de Tchap, on a les{' '} + <strong>mêmes fonctionnalités qu’avec WhatsApp,</strong> mais en{' '} <strong>plus confidentiel.</strong> Bravo ! </p> ), - title: "Agent", - img: "/testimony/logo-interieur.svg", - key: "interieur", + title: 'Agent', + img: '/testimony/logo-interieur.svg', + key: 'interieur', entity: "Ministère de l'intérieur", }, -]; +] diff --git a/src/components/sections/Testimony/index.ts b/src/components/sections/Testimony/index.ts index 8d851af..8efe270 100644 --- a/src/components/sections/Testimony/index.ts +++ b/src/components/sections/Testimony/index.ts @@ -1 +1 @@ -export * from "./Section"; +export * from './Section' diff --git a/src/components/sections/index.tsx b/src/components/sections/index.tsx index 0e466ed..0c43635 100644 --- a/src/components/sections/index.tsx +++ b/src/components/sections/index.tsx @@ -1 +1 @@ -export * from "./ContentSection"; +export * from './ContentSection' diff --git a/src/constant.ts b/src/constant.ts index 7b80983..871a976 100644 --- a/src/constant.ts +++ b/src/constant.ts @@ -1,9 +1,9 @@ -export const CONTACT_EMAIL = "lasuite@modernisation.gouv.fr"; -export const ADDRESS_DINUM = "DINUM, 20 avenue de Ségur 75007 Paris"; +export const CONTACT_EMAIL = 'lasuite@modernisation.gouv.fr' +export const ADDRESS_DINUM = 'DINUM, 20 avenue de Ségur 75007 Paris' -export const URL_SITE = "lasuite.numerique.gouv.fr"; -export const TITLE_SITE = "La Suite numérique"; -export const MATOMO_ID = "https://stats.data.gouv.fr/js/container_h2RIEY3C.js"; +export const URL_SITE = 'lasuite.numerique.gouv.fr' +export const TITLE_SITE = 'La Suite numérique' +export const MATOMO_ID = 'https://stats.data.gouv.fr/js/container_h2RIEY3C.js' export const NEWSLETTER_FORM = - "https://4f0df3d6.sibforms.com/serve/MUIFAKrbltNDRgRE9y7Ijv8nF1SN65VwHtbGH33ZGje0x0-VS9Rr8bbD3LefzRQE0Eu3KtRtSBbaDueFVEARVVYp2Bb3JLj9LBk9SNK1XX2rSgs9adgkR67Xhi1RUqGU7wcVv2U42hHq7IIyH3N3Eu82Ci39-aYzr2HUoNERYKoTbYfeINulmU8Y-BX6jaK5QNlZg6wyBhMl52sq"; + 'https://4f0df3d6.sibforms.com/serve/MUIFAKrbltNDRgRE9y7Ijv8nF1SN65VwHtbGH33ZGje0x0-VS9Rr8bbD3LefzRQE0Eu3KtRtSBbaDueFVEARVVYp2Bb3JLj9LBk9SNK1XX2rSgs9adgkR67Xhi1RUqGU7wcVv2U42hHq7IIyH3N3Eu82Ci39-aYzr2HUoNERYKoTbYfeINulmU8Y-BX6jaK5QNlZg6wyBhMl52sq' diff --git a/src/pages/_app.tsx b/src/pages/_app.tsx index eec9904..8bca9ee 100644 --- a/src/pages/_app.tsx +++ b/src/pages/_app.tsx @@ -1,43 +1,43 @@ -import localFont from "next/font/local"; -import "@/styles/globals.css"; -import type { AppProps } from "next/app"; +import localFont from 'next/font/local' +import '@/styles/globals.css' +import type { AppProps } from 'next/app' -import { MetaHeader as Head } from "@/components/Layout"; -import { MATOMO_ID } from "@/constant"; -import { useEffect } from "react"; +import { MetaHeader as Head } from '@/components/Layout' +import { MATOMO_ID } from '@/constant' +import { useEffect } from 'react' declare global { interface Window { - _mtm?: any[]; + _mtm?: any[] } } const marianne = localFont({ src: [ { - path: "../fonts/subsetted/Marianne-Regular-subset.woff2", - weight: "400", - style: "normal", + path: '../fonts/subsetted/Marianne-Regular-subset.woff2', + weight: '400', + style: 'normal', }, { - path: "../fonts/subsetted/Marianne-Regular_Italic-subset.woff2", - weight: "400", - style: "italic", + path: '../fonts/subsetted/Marianne-Regular_Italic-subset.woff2', + weight: '400', + style: 'italic', }, { - path: "../fonts/subsetted/Marianne-Medium-subset.woff2", - weight: "500", - style: "normal", + path: '../fonts/subsetted/Marianne-Medium-subset.woff2', + weight: '500', + style: 'normal', }, { - path: "../fonts/subsetted/Marianne-Bold-subset.woff2", - weight: "700", - style: "normal", + path: '../fonts/subsetted/Marianne-Bold-subset.woff2', + weight: '700', + style: 'normal', }, { - path: "../fonts/subsetted/Marianne-ExtraBold-subset.woff2", - weight: "800", - style: "normal", + path: '../fonts/subsetted/Marianne-ExtraBold-subset.woff2', + weight: '800', + style: 'normal', }, ], /** @@ -46,8 +46,8 @@ const marianne = localFont({ * it's better to not preloading anything. */ preload: false, - variable: "--font-marianne", -}); + variable: '--font-marianne', +}) /** * Initializes Matomo tracking as per the Matomo integration guide. @@ -61,22 +61,22 @@ const marianne = localFont({ */ function setUpMatomoAnalytics() { // Push start event to the data layer - const _mtm = (window._mtm = window._mtm || []); - _mtm.push({ "mtm.startTime": new Date().getTime(), event: "mtm.Start" }); + const _mtm = (window._mtm = window._mtm || []) + _mtm.push({ 'mtm.startTime': new Date().getTime(), event: 'mtm.Start' }) // Add tracking script - const d = document; - const g = d.createElement("script"); - const s = d.getElementsByTagName("script")[0]; - g.async = true; - g.src = MATOMO_ID; - s?.parentNode?.insertBefore(g, s); + const d = document + const g = d.createElement('script') + const s = d.getElementsByTagName('script')[0] + g.async = true + g.src = MATOMO_ID + s?.parentNode?.insertBefore(g, s) } export default function App({ Component, pageProps }: AppProps) { useEffect(() => { - setUpMatomoAnalytics(); - }, []); + setUpMatomoAnalytics() + }, []) return ( <> @@ -86,5 +86,5 @@ export default function App({ Component, pageProps }: AppProps) { <Component {...pageProps} /> </div> </> - ); + ) } diff --git a/src/pages/_document.tsx b/src/pages/_document.tsx index 2eccdf4..df5cc71 100644 --- a/src/pages/_document.tsx +++ b/src/pages/_document.tsx @@ -1,4 +1,4 @@ -import { Head, Html, Main, NextScript } from "next/document"; +import { Head, Html, Main, NextScript } from 'next/document' export default function RootLayout() { return ( @@ -9,5 +9,5 @@ export default function RootLayout() { <NextScript /> </body> </Html> - ); + ) } diff --git a/src/pages/accessibilite/index.tsx b/src/pages/accessibilite/index.tsx index 405924b..6a608af 100644 --- a/src/pages/accessibilite/index.tsx +++ b/src/pages/accessibilite/index.tsx @@ -1,8 +1,8 @@ -import React from "react"; +import React from 'react' -import { ADDRESS_DINUM, CONTACT_EMAIL, URL_SITE } from "@/constant"; -import { ExternalLink } from "@/components/Core"; -import { ContentPage } from "@/components/Layout"; +import { ADDRESS_DINUM, CONTACT_EMAIL, URL_SITE } from '@/constant' +import { ExternalLink } from '@/components/Core' +import { ContentPage } from '@/components/Layout' export default function Accessibilite() { return ( @@ -17,12 +17,12 @@ export default function Accessibilite() { <em>Établie le 20 décembre 2023.</em> </p> <p> - Cette déclaration d’accessibilité s’applique au site{" "} + Cette déclaration d’accessibilité s’applique au site{' '} <strong>{URL_SITE}</strong>. </p> <h2>État de conformité</h2> <p> - {URL_SITE} est non conforme avec le RGAA 4.1. Le site n’a{" "} + {URL_SITE} est non conforme avec le RGAA 4.1. Le site n’a{' '} <strong>pas encore été audité</strong>. </p> <h2>Amélioration et contact</h2> @@ -33,7 +33,7 @@ export default function Accessibilite() { </p> <ul> <li> - E-mail :{" "} + E-mail :{' '} <a href={`mailto:${CONTACT_EMAIL}`} aria-label={`écrire à ${CONTACT_EMAIL}`} @@ -54,7 +54,7 @@ export default function Accessibilite() { <p>Vous pouvez :</p> <ul> <li> - Écrire un message au{" "} + Écrire un message au{' '} <ExternalLink href="https://formulaire.defenseurdesdroits.fr/formulaire_saisine/" className="underline decoration-1 hover:decoration-2 transition ease-in-out delay-50 duration-300 underline-offset-4" @@ -63,7 +63,7 @@ export default function Accessibilite() { </ExternalLink> </li> <li> - Contacter le délégué du{" "} + Contacter le délégué du{' '} <ExternalLink href="https://www.defenseurdesdroits.fr/carte-des-delegues" className="underline decoration-1 hover:decoration-2 transition ease-in-out delay-50 duration-300 underline-offset-4" @@ -77,5 +77,5 @@ export default function Accessibilite() { </li> </ul> </ContentPage> - ); + ) } diff --git a/src/pages/apropos/index.tsx b/src/pages/apropos/index.tsx index a0101e2..d8fcfeb 100644 --- a/src/pages/apropos/index.tsx +++ b/src/pages/apropos/index.tsx @@ -1,7 +1,7 @@ -import React from "react"; +import React from 'react' -import { ContentPage } from "@/components/Layout"; -import { ADDRESS_DINUM, CONTACT_EMAIL } from "@/constant"; +import { ContentPage } from '@/components/Layout' +import { ADDRESS_DINUM, CONTACT_EMAIL } from '@/constant' export default function Apropos() { return ( @@ -20,7 +20,7 @@ export default function Apropos() { </p> <h2>Plus d'infos ?</h2> <p> - L'équipe de La Suite Numérique peut être contactée directement à{" "} + L'équipe de La Suite Numérique peut être contactée directement à{' '} <a href={`mailto:${CONTACT_EMAIL}`} className="underline decoration-1 hover:decoration-2 underline-offset-4 transition ease-in-out delay-50 duration-300 hover:cursor-pointer" @@ -31,5 +31,5 @@ export default function Apropos() { . </p> </ContentPage> - ); + ) } diff --git a/src/pages/communs/index.tsx b/src/pages/communs/index.tsx index da1b97e..ddcc377 100644 --- a/src/pages/communs/index.tsx +++ b/src/pages/communs/index.tsx @@ -1,6 +1,6 @@ -import Image from "next/image"; -import { Br, ButtonExternalLink } from "@/components/Core"; -import { Layout } from "@/components/Layout"; +import Image from 'next/image' +import { Br, ButtonExternalLink } from '@/components/Core' +import { Layout } from '@/components/Layout' export default function Landing() { return ( @@ -34,24 +34,24 @@ export default function Landing() { consolider les écosystèmes autour des produits et briques techniques que nous utilisons. Vous êtes une entité publique ou privée et vous portez une solution collaborative structurée sous - forme de commun numérique ? <Br className="inline" />{" "} + forme de commun numérique ? <Br className="inline" />{' '} <b className="text-dinum-grey-2"> Obtenez un financement et un accompagnement pour travailler avec nous, dans le cadre du Fonds Communs Numériques pour La Suite numérique. - </b>{" "} + </b>{' '} Le fonds a vocation à soutenir des projets visant le développement de nouvelles fonctionnalités autant que des projets visant à favoriser la pérennité et à l’évolutivité des produits (ex : re-factorisation) </p> <h2 className="text-xl font-bold mb-[1.75rem]"> - {" "} + {' '} De quoi bénéficient les projets sélectionnés ? </h2> <ul className="text-lg text-dinum-grey-1 list-disc pl-10"> <li> - Un ticket de financement allant jusqu'à{" "} + Un ticket de financement allant jusqu'à{' '} <strong>40.000 euros renouvelable.</strong> </li> <li> @@ -122,5 +122,5 @@ export default function Landing() { </ButtonExternalLink> </div> </Layout> - ); + ) } diff --git a/src/pages/index.tsx b/src/pages/index.tsx index c88bf6f..e42983b 100644 --- a/src/pages/index.tsx +++ b/src/pages/index.tsx @@ -1,12 +1,12 @@ -import { Section as DigitalCommons } from "@/components/sections/DigitalCommons"; -import { Section as Hero } from "@/components/sections/Hero"; -import { Layout } from "@/components/Layout"; -import { Section as ANCT } from "@/components/sections/ANCT"; -import { Section as Testimony } from "@/components/sections/Testimony"; -import { Section as CallForProjects } from "@/components/sections/CallForProjects"; -import { Section as ProConnect } from "@/components/sections/ProConnect"; -import { Section as Newsletter } from "@/components/sections/Newsletter"; -import { TITLE_SITE } from "@/constant"; +import { Section as DigitalCommons } from '@/components/sections/DigitalCommons' +import { Section as Hero } from '@/components/sections/Hero' +import { Layout } from '@/components/Layout' +import { Section as ANCT } from '@/components/sections/ANCT' +import { Section as Testimony } from '@/components/sections/Testimony' +import { Section as CallForProjects } from '@/components/sections/CallForProjects' +import { Section as ProConnect } from '@/components/sections/ProConnect' +import { Section as Newsletter } from '@/components/sections/Newsletter' +import { TITLE_SITE } from '@/constant' export default function Landing() { return ( @@ -19,5 +19,5 @@ export default function Landing() { <ANCT /> <Newsletter /> </Layout> - ); + ) } diff --git a/src/pages/suivi/index.tsx b/src/pages/suivi/index.tsx index f23965b..a67734a 100644 --- a/src/pages/suivi/index.tsx +++ b/src/pages/suivi/index.tsx @@ -1,7 +1,7 @@ -import { ContentPage } from "@/components/Layout"; -import { ExternalLink } from "@/components/Core"; -import React from "react"; -import { URL_SITE } from "@/constant"; +import { ContentPage } from '@/components/Layout' +import { ExternalLink } from '@/components/Core' +import React from 'react' +import { URL_SITE } from '@/constant' export default function Suivi() { return ( @@ -39,27 +39,27 @@ export default function Suivi() { exemptés d’autorisation préalable. </p> <p> - Nous utilisons pour cela{" "} + Nous utilisons pour cela{' '} <ExternalLink href="https://matomo.org/" className="underline decoration-1 hover:decoration-2 transition ease-in-out delay-50 duration-300 underline-offset-4" > Matomo </ExternalLink> - , un outil{" "} + , un outil{' '} <ExternalLink href="https://matomo.org/free-software/" className="underline decoration-1 hover:decoration-2 transition ease-in-out delay-50 duration-300 underline-offset-4" > libre </ExternalLink> - , paramétré pour être en conformité avec la{" "} + , paramétré pour être en conformité avec la{' '} <ExternalLink href="https://www.cnil.fr/fr/cookies-et-autres-traceurs/regles/cookies-solutions-pour-les-outils-de-mesure-daudience" className="underline decoration-1 hover:decoration-2 transition ease-in-out delay-50 duration-300 underline-offset-4" > recommandation « Cookies » - </ExternalLink>{" "} + </ExternalLink>{' '} de la <span className="decoration-dotted underline">CNIL</span>. Cela signifie que votre adresse IP, par exemple, est anonymisée avant d’être enregistrée. Il est donc impossible d’associer vos visites sur ce site à @@ -67,16 +67,16 @@ export default function Suivi() { </p> <h2>Je contribue à enrichir vos données, puis-je y accéder ?</h2> <p> - Bien sûr ! Les statistiques d’usage de la majorité de nos produits, dont{" "} - {URL_SITE}, sont disponibles en accès libre sur{" "} + Bien sûr ! Les statistiques d’usage de la majorité de nos produits, dont{' '} + {URL_SITE}, sont disponibles en accès libre sur{' '} <ExternalLink href="https://stats.data.gouv.fr/index.php?module=CoreHome&action=index&idSite=21&period=range&date=previous30#?period=range&date=previous30&module=VisitsSummary&action=index&idSite=21&category=Dashboard_Dashboard&subcategory=1" className="underline decoration-1 hover:decoration-2 transition ease-in-out delay-50 duration-300 underline-offset-4" > stats.data.gouv.fr - </ExternalLink>{" "} + </ExternalLink>{' '} . </p> </ContentPage> - ); + ) } diff --git a/src/types.ts b/src/types.ts index 270c812..419725a 100644 --- a/src/types.ts +++ b/src/types.ts @@ -1,6 +1,6 @@ -import React from "react"; +import React from 'react' export interface CommonProps { - children: React.ReactNode; - className?: string; + children: React.ReactNode + className?: string } diff --git a/tailwind.config.ts b/tailwind.config.ts index cbaf34b..f3d5dbc 100644 --- a/tailwind.config.ts +++ b/tailwind.config.ts @@ -1,33 +1,33 @@ -import type { Config } from "tailwindcss"; +import type { Config } from 'tailwindcss' -const defaultTheme = require("tailwindcss/defaultTheme"); +const defaultTheme = require('tailwindcss/defaultTheme') const config: Config = { content: [ - "./src/pages/**/*.{js,ts,jsx,tsx,mdx}", - "./src/components/**/*.{js,ts,jsx,tsx,mdx}", - "./src/app/**/*.{js,ts,jsx,tsx,mdx}", + './src/pages/**/*.{js,ts,jsx,tsx,mdx}', + './src/components/**/*.{js,ts,jsx,tsx,mdx}', + './src/app/**/*.{js,ts,jsx,tsx,mdx}', ], theme: { fontSize: { - xs: ["0.75rem", "1rem"], - sm: ["0.8rem", "1.25rem"], - base: ["1rem", "1.5rem"], - lg: ["1.125rem", "1.75rem"], - xl: ["1.25rem", "1.75rem"], - "2xl": ["1.563rem", "2rem"], - "3xl": ["1.953rem", "2.25rem"], - "4xl": ["2rem", "2.5rem"], + xs: ['0.75rem', '1rem'], + sm: ['0.8rem', '1.25rem'], + base: ['1rem', '1.5rem'], + lg: ['1.125rem', '1.75rem'], + xl: ['1.25rem', '1.75rem'], + '2xl': ['1.563rem', '2rem'], + '3xl': ['1.953rem', '2.25rem'], + '4xl': ['2rem', '2.5rem'], }, /* * we don't want to use thin font-weights as they are not very readable depending on the device * and we dont have a "black" variant of Marianne so prevent using it */ fontWeight: { - normal: "400", - medium: "500", - bold: "700", - extrabold: "800", + normal: '400', + medium: '500', + bold: '700', + extrabold: '800', }, /* * we convert px media queries to em so that text-only zooms trigger @@ -35,37 +35,37 @@ const config: Config = { * up to 200% text zoom (RGAA criteria) and this is the easiest way to achieve that. */ screens: { - sm: "40em", // 640px - md: "48em", // 768px - lg: "64em", // 1024px - xl: "80em", // 1280px - "2xl": "96em", // 1536px + sm: '40em', // 640px + md: '48em', // 768px + lg: '64em', // 1024px + xl: '80em', // 1280px + '2xl': '96em', // 1536px }, extend: { fontFamily: { - sans: ["var(--font-marianne)", ...defaultTheme.fontFamily.sans], + sans: ['var(--font-marianne)', ...defaultTheme.fontFamily.sans], }, colors: { dinum: { - "white-0": "#FFFFFF", - "white-1": "#F8F8F8", - "grey-0": "#D9D9D9", - "grey-1": "#7F7E7E", - "grey-2": "#161616", - "grey-3": "#666666", - "grey-4": "#DDDDDD", - "grey-5": "#3A3A3A", - "blue-1": "#000091", - "black-1": "#161616", + 'white-0': '#FFFFFF', + 'white-1': '#F8F8F8', + 'grey-0': '#D9D9D9', + 'grey-1': '#7F7E7E', + 'grey-2': '#161616', + 'grey-3': '#666666', + 'grey-4': '#DDDDDD', + 'grey-5': '#3A3A3A', + 'blue-1': '#000091', + 'black-1': '#161616', }, dsfr: { - "blue-1": "#f5f5fe", - "blue-2": "#1212ff", - "blue-3": "#f3f6fe", + 'blue-1': '#f5f5fe', + 'blue-2': '#1212ff', + 'blue-3': '#f3f6fe', }, }, }, }, plugins: [], -}; -export default config; +} +export default config