✨ Facturation page working
This commit is contained in:
parent
39d7ec6421
commit
6ca191199a
@ -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;
|
||||
}
|
||||
}
|
||||
}
|
@ -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 (
|
||||
<DefaultTemplate title="Nouvelle souscription" hasHeaderLinks={false}>
|
||||
<div className={classes["root"]}>
|
||||
<div className={classes["top-container"]}>
|
||||
<div className={classes["top-container-title"]}>
|
||||
<Typography typo={ITypo.H1} color={ITypoColor.BLACK}>
|
||||
Facturation
|
||||
</Typography>
|
||||
</div>
|
||||
<div className={classes["sub-title"]}>
|
||||
<Typography typo={ITypo.P_16} color={ITypoColor.BLACK}>
|
||||
Nos forfaits sont adaptés à la taille de votre office
|
||||
</Typography>
|
||||
</div>
|
||||
</div>
|
||||
<div className={classes["forfeits-container"]}>
|
||||
<div className={classes["forfeit-block"]} data-inactive={forfeitType !== EForfeitType.standard}>
|
||||
<div className={classes["forfeit-header"]}>
|
||||
<div className={classes["left"]}>
|
||||
<Typography typo={ITypo.P_SB_18} color={ITypoColor.BLACK}>
|
||||
Forfait standard
|
||||
</Typography>
|
||||
<Typography typo={ITypo.P_16} color={ITypoColor.PINK_FLASH}>
|
||||
Plan par utilisateur
|
||||
</Typography>
|
||||
</div>
|
||||
{forfeitType === EForfeitType.standard && (
|
||||
<div className={classes["active-plan"]}>
|
||||
<Typography typo={ITypo.P_18} color={ITypoColor.GREEN_FLASH}>
|
||||
Plan actif
|
||||
</Typography>
|
||||
</div>
|
||||
)}
|
||||
</div>
|
||||
<div className={classes["separator"]} />
|
||||
<div className={classes["price-container"]}>
|
||||
<Typography typo={ITypo.H1} color={ITypoColor.BLACK}>
|
||||
99€
|
||||
<Typography typo={ITypo.H2} color={ITypoColor.BLACK}>
|
||||
HT
|
||||
</Typography>
|
||||
/ mois
|
||||
</Typography>
|
||||
<Typography typo={ITypo.P_18} color={ITypoColor.BLACK}>
|
||||
+ 6,99€ / collaborateur / mois
|
||||
</Typography>
|
||||
</div>
|
||||
<div className={classes["button-container"]}>
|
||||
{forfeitType !== EForfeitType.standard && (
|
||||
<Button fullwidth variant={EButtonVariant.GHOST}>
|
||||
Rétrograder mon abonnement
|
||||
</Button>
|
||||
)}
|
||||
{forfeitType === EForfeitType.standard && (
|
||||
<Button fullwidth variant={EButtonVariant.PRIMARY}>
|
||||
Gérer mes collaborateurs
|
||||
</Button>
|
||||
)}
|
||||
</div>
|
||||
</div>
|
||||
<div className={classes["forfeit-block"]} data-inactive={forfeitType === EForfeitType.standard}>
|
||||
<div className={classes["forfeit-header"]}>
|
||||
<div className={classes["left"]}>
|
||||
<Typography typo={ITypo.P_SB_18} color={ITypoColor.BLACK}>
|
||||
Forfait illimité
|
||||
</Typography>
|
||||
<Typography typo={ITypo.P_16} color={ITypoColor.PINK_FLASH}>
|
||||
Plan par office
|
||||
</Typography>
|
||||
</div>
|
||||
{forfeitType !== EForfeitType.standard && (
|
||||
<div className={classes["active-plan"]}>
|
||||
<Typography typo={ITypo.P_18} color={ITypoColor.GREEN_FLASH}>
|
||||
Plan actif
|
||||
</Typography>
|
||||
</div>
|
||||
)}
|
||||
</div>
|
||||
<div className={classes["separator"]} />
|
||||
<div className={classes["price-container"]}>
|
||||
<Typography typo={ITypo.H1} color={ITypoColor.BLACK}>
|
||||
249€
|
||||
<Typography typo={ITypo.H2} color={ITypoColor.BLACK}>
|
||||
HT
|
||||
</Typography>
|
||||
/ mois
|
||||
</Typography>
|
||||
<Typography typo={ITypo.P_18} color={ITypoColor.BLACK}>
|
||||
Sans limite de collaborateurs
|
||||
</Typography>
|
||||
</div>
|
||||
<div className={classes["button-container"]}>
|
||||
{forfeitType !== EForfeitType.standard && (
|
||||
<Button fullwidth variant={EButtonVariant.PRIMARY} disabled>
|
||||
Abonnement Max Activé
|
||||
</Button>
|
||||
)}
|
||||
{forfeitType === EForfeitType.standard && (
|
||||
<Button fullwidth variant={EButtonVariant.GHOST}>
|
||||
Améliorer mon abonnement
|
||||
</Button>
|
||||
)}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div className={classes["actions-container"]}>
|
||||
<Button variant={EButtonVariant.LINE}>
|
||||
<Typography typo={ITypo.P_18} color={ITypoColor.RED_FLASH}>
|
||||
Arrêter l'abonnement
|
||||
</Typography>
|
||||
</Button>
|
||||
<Button>Gérer la facturation</Button>
|
||||
</div>
|
||||
</div>
|
||||
</DefaultTemplate>
|
||||
);
|
||||
}
|
5
src/pages/subscription/facturation/index.tsx
Normal file
5
src/pages/subscription/facturation/index.tsx
Normal file
@ -0,0 +1,5 @@
|
||||
import SubscriptionFacturation from "@Front/Components/Layouts/Subscription/SubscriptionFacturation";
|
||||
|
||||
export default function Route() {
|
||||
return <SubscriptionFacturation />;
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user