From 6ca191199ac71548fde17a93f7ff720b7c71dd7b Mon Sep 17 00:00:00 2001 From: Maxime Lalo Date: Fri, 29 Mar 2024 11:05:53 +0100 Subject: [PATCH] :sparkles: Facturation page working --- .../classes.module.scss | 83 +++++++++++ .../SubscriptionFacturation/index.tsx | 129 ++++++++++++++++++ src/pages/subscription/facturation/index.tsx | 5 + 3 files changed, 217 insertions(+) create mode 100644 src/front/Components/Layouts/Subscription/SubscriptionFacturation/classes.module.scss create mode 100644 src/front/Components/Layouts/Subscription/SubscriptionFacturation/index.tsx create mode 100644 src/pages/subscription/facturation/index.tsx diff --git a/src/front/Components/Layouts/Subscription/SubscriptionFacturation/classes.module.scss b/src/front/Components/Layouts/Subscription/SubscriptionFacturation/classes.module.scss new file mode 100644 index 00000000..112b6ca0 --- /dev/null +++ b/src/front/Components/Layouts/Subscription/SubscriptionFacturation/classes.module.scss @@ -0,0 +1,83 @@ +@import "@Themes/constants.scss"; + +.root { + display: flex; + justify-content: baseline; + align-items: center; + flex-direction: column; + gap: 64px; + max-width: 1000px; + margin: auto; + .top-container { + display: flex; + flex-direction: column; + align-items: center; + gap: 24px; + } + + .forfeits-container { + display: flex; + gap: 32px; + + width: 100%; + + @media (max-width: $screen-s) { + flex-direction: column; + } + + .forfeit-block { + flex: 1; + padding: 32px; + border: 1px solid black; + + display: flex; + flex-direction: column; + gap: 32px; + + &[data-inactive="true"] { + border: 1px solid #e7e7e7; + } + + .forfeit-header { + display: flex; + justify-content: space-between; + .left { + display: flex; + flex-direction: column; + } + + .active-plan { + @media (max-width: $screen-s) { + display: none; + } + } + } + + .separator { + border-bottom: 1px solid black; + } + + .price-container { + display: flex; + flex-direction: column; + gap: 8px; + } + } + } + + .actions-container { + display: flex; + align-items: center; + gap: 48px; + justify-content: flex-end; + justify-self: flex-end; + align-self: flex-end; + margin-bottom: 64px; + + @media (max-width: $screen-s) { + flex-direction: column-reverse; + align-self: center; + justify-self: center; + } + } +} diff --git a/src/front/Components/Layouts/Subscription/SubscriptionFacturation/index.tsx b/src/front/Components/Layouts/Subscription/SubscriptionFacturation/index.tsx new file mode 100644 index 00000000..4e12a9d1 --- /dev/null +++ b/src/front/Components/Layouts/Subscription/SubscriptionFacturation/index.tsx @@ -0,0 +1,129 @@ +import Typography, { ITypo, ITypoColor } from "@Front/Components/DesignSystem/Typography"; +import classes from "./classes.module.scss"; +import DefaultTemplate from "@Front/Components/LayoutTemplates/DefaultTemplate"; +import Button, { EButtonVariant } from "@Front/Components/DesignSystem/Button"; +import { useState } from "react"; + +enum EForfeitType { + "standard", + "unlimited", +} +export default function SubscriptionFacturation() { + const [forfeitType, _setForfeitType] = useState(EForfeitType.standard); + return ( + +
+
+
+ + Facturation + +
+
+ + Nos forfaits sont adaptés à la taille de votre office + +
+
+
+
+
+
+ + Forfait standard + + + Plan par utilisateur + +
+ {forfeitType === EForfeitType.standard && ( +
+ + Plan actif + +
+ )} +
+
+
+ + 99€ + +  HT  + + / mois + + + + 6,99€ / collaborateur / mois + +
+
+ {forfeitType !== EForfeitType.standard && ( + + )} + {forfeitType === EForfeitType.standard && ( + + )} +
+
+
+
+
+ + Forfait illimité + + + Plan par office + +
+ {forfeitType !== EForfeitType.standard && ( +
+ + Plan actif + +
+ )} +
+
+
+ + 249€ + +  HT  + + / mois + + + Sans limite de collaborateurs + +
+
+ {forfeitType !== EForfeitType.standard && ( + + )} + {forfeitType === EForfeitType.standard && ( + + )} +
+
+
+
+ + +
+
+ + ); +} diff --git a/src/pages/subscription/facturation/index.tsx b/src/pages/subscription/facturation/index.tsx new file mode 100644 index 00000000..9bf0d2ac --- /dev/null +++ b/src/pages/subscription/facturation/index.tsx @@ -0,0 +1,5 @@ +import SubscriptionFacturation from "@Front/Components/Layouts/Subscription/SubscriptionFacturation"; + +export default function Route() { + return ; +}