Pour tout problème contactez-nous par mail : support@froggit.fr | La FAQ :grey_question: | Rejoignez-nous sur le Chat :speech_balloon:

Skip to content
Snippets Groups Projects
Commit 24524775 authored by Celeste Robert's avatar Celeste Robert Committed by Christophe Chaudier
Browse files

refactor: HomepageFeatures with Tabs

parent 6b813f0d
No related branches found
No related tags found
1 merge request!72Resolve "refactor: HomepageFeatures"
/* eslint-disable linebreak-style */
/* eslint react/prop-types: 0 */
import React from "react"; import React from "react";
import clsx from "clsx"; import clsx from "clsx";
import styles from "./HomepageFeatures.module.css"; import styles from "./HomepageFeatures.module.css";
import useBaseUrl from "@docusaurus/useBaseUrl";
import Tabs from "@theme/Tabs";
import TabItem from "@theme/TabItem";
const FeatureList = [ const FeatureList = [
{ {
title: "Le Lab 🧪", id: 5,
Svg: require("../../static/img/chemistry.svg").default, title: "Le\u00A0SSO\u00A0🔑",
description: ( svg: "hello.png",
<> alt: "Kermit, sortant de sa cachette",
Le laboratoire vous permet dhéberger votre code et de collaborer dessus avec Git. C&apos;est plus qu&apos;un serveur Git puisque vous pouvez gérer un projet complet dessus. Le Lab est le cœur de Froggit et il sert aussi de base centrale pour lauthentification unique (SSO) des autres services. description: "Authentifiez-vous une bonne fois pour toute !"
</> },
),
},
{ {
title: "La CI 🔁", id: 1,
Svg: require("../../static/img/rainbow.svg").default, title: "Le\u00A0Lab\u00A0🧪",
description: ( svg: "chemistry.svg",
<> alt: "Kermit manipule du matériel de laboratoire",
Fournir un outil de collaboration de code sans Intégration Continue n&apos;était pas pensable pour nous. C&apos;est pour cela que nous avons mis en place une CI avec un serveur et un débordement élastique dans Kubernetes. description:"Gérer vos projets, héberger votre code et collaborer autour de Git",
</>
),
}, },
{ {
title: "Le Chat 💬", id: 2,
Svg: require("../../static/img/selfie.svg").default, title: "La\u00A0CI\u00A0🔁",
description: ( svg: "rainbow.svg",
<> alt: "Kermit pose devant un arc-en-ciel",
Pour collaborer les équipes ont besoin de communiquer. Qu&apos;elles soient physiquement au même endroit ou non une communication asynchrone est importante. C&apos;est pour cela que Froggit inclut un chat avec le service. Vous pourrez même faire remonter vos alertes et messages venant du Lab. L&apos;authentification se fera grâce au Lab, vous n&apos;aurez qu&apos;un seul compte pour tous les services de Froggit. Vous pourrez abandonner Slack sans crainte ! description: "Des applications qui passent tous les tests grâce aux fonctionnalités de Gitlab-CI"
</>
),
}, },
{ {
title: "Les Pages 🔖", id: 4,
Svg: require("../../static/img/read-smile.svg").default, title: "Les\u00A0Pages\u00A0🔖",
description: ( svg: "read-smile.svg",
<> alt: "Kermit porte des lunettes rondes et lit un livre",
Vous avez besoin de créer des sites statiques pour vos documentations. C&apos;est pour cela que nous mettons en place les GitLab pages qui vous permettent d&apos;héberger des sites statiques. description: "Publier vos sites, blog ou documetation, ou n'importe quel site statique sur nos GitLab pages"
</>
),
}, },
{
id: 3,
title: "Le\u00A0Chat\u00A0💬",
svg: "selfie.svg",
alt: "Kermit prend un selfie",
description: "Un chat intégré pour communiquer autour du code… juste à côté du code"
},
{
id: 6,
title: "La\u00A0communauté\u00A0🍺",
svg: "beer.png",
alt: "Kermit faisant un clin d'oeil, une chope à la main",
description: "Une communauté Git pour solutionner vos pépins rapidement"
}
]; ];
function Feature({Svg, title, description}) {
return (
<div className="sectionsReverse row">
<div className="col col--5 text--center">
<Svg className={styles.svg} alt={title} />
</div>
<div className="col col--5">
<h3>{title}</h3>
<p>{description}</p>
</div>
</div>
);
}
export default function HomepageFeatures() { export default function HomepageFeatures() {
return ( return (
<section className="sections container" id="features"> <section className="sections container" id="features">
<h2 className={clsx("text--center text--uppercase", styles.title)}>Fonctionnalités</h2> <h2 className={clsx("text--center")}>Optimisez votre manière de façonner vos applications
</h2>
<div className={styles.featuresSubtitle}>
<p className={"text--center"}>De la planification au déploiement en passant par le testing <br/>
</p>
<p className={"text--center"}> Réunissez vos équipes sur la même plateforme DevOps, pensée pour améliorer vos performances, vos résultats et réduire votre empreinte écologique.
</p>
</div>
<div> <div>
{FeatureList.map((props, idx) => ( <Tabs className={styles.tabsElement}>
<Feature key={idx} {...props} /> {FeatureList.map((em) => (
))} <TabItem key={em.id} className={clsx("text--center")} value={em.title} label={em.title}>
<div className={styles.rowDisplay}>
<img src={useBaseUrl("img/HomepageFeatures/" + em.svg)} alt={em.alt} className={styles.tabImages}/>
<p className={styles.textDisplay}> {em.description} </p>
</div>
</TabItem>
))}
</Tabs>
</div> </div>
</section> </section>
); );
} }
/* stylelint-disable docusaurus/copyright-header */ @import url("../css/variables.css");
.svg { .featuresSubtitle {
height: 275px; padding-top: 26px;
width: 275px;
max-width: 100%;
} }
.title { .tabsElement {
font-weight: bold; width: 100%;
padding-bottom: 40px; margin-bottom: 48px;
} }
.tabsElement>li {
margin: auto;
display: flex;
justify-content: center;
align-items: start;
transition: 0.4s;
}
.tabImages {
width: 360px;
}
.rowDisplay {
display: flex;
justify-content: center;
align-items: center;
flex-direction: row;
flex-wrap: wrap;
}
.textDisplay {
padding: 15px;
width: 25%;
font-size: 20px;
text-align: left;
}
@media (max-width: 600px) {
.textDisplay {
width: 100%;
text-align: center;
}
}
...@@ -7,7 +7,7 @@ export default function TextRight({children, img}) { ...@@ -7,7 +7,7 @@ export default function TextRight({children, img}) {
<> <>
<div className="row"> <div className="row">
<div className="col col--6"> <div className="col col--6">
<img src={useBaseUrl(img)} /> <img src={useBaseUrl(img)}/>
</div> </div>
<div className="col col--6"> <div className="col col--6">
{children} {children}
......
...@@ -30,7 +30,7 @@ export default function Home() { ...@@ -30,7 +30,7 @@ export default function Home() {
title={siteConfig.themeConfig.navbar.title} title={siteConfig.themeConfig.navbar.title}
description={siteConfig.tagline} description={siteConfig.tagline}
> >
<HomepageHeader /> <HomepageHeader/>
<main> <main>
<HomepagePromises /> <HomepagePromises />
<HomepageFeatures /> <HomepageFeatures />
......
static/img/HomepageFeatures/beer.png

36.9 KiB

static/img/HomepageFeatures/hello.png

29.4 KiB

File moved
File moved
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment