Merge branch 'dev' into staging

This commit is contained in:
Maxime Lalo 2024-07-29 13:17:34 +02:00
commit 289d9eb119
7 changed files with 59 additions and 28 deletions

View File

@ -8,13 +8,12 @@
font-size: 12px;
font-weight: var(--font-text-weight-regular, 400);
letter-spacing: 0.06px;
.sub-root {
display: flex;
align-items: center;
gap: var(--Radius-lg, 16px);
white-space: nowrap;
padding: 0 360px;
padding: var(--spacing-1-5, 12px) var(--Radius-xl, 24px);
//make it sticky
@media (max-width: 1023px) {

View File

@ -1,20 +1,25 @@
import React from "react";
import classes from "./classes.module.scss";
import Link from "next/link";
import Module from "@Front/Config/Module";
import { ELegalOptions } from "@Front/Components/LayoutTemplates/DefaultLegalDashboard";
type IProps = {
className?: string;
};
const legalPages = Module.getInstance().get().modules.pages.Legal.pages.LegalInformations.props.path;
export default function Desktop({ className }: IProps) {
return (
<div className={[classes["sub-root"], className].join(" ")}>
<span>© Copyright lecoffre 2024</span>
<span className={classes["separator"]} />
<a href="/terms">Conditions d'utilisation</a>
<Link href={legalPages.replace("[legalUid]", ELegalOptions.CGU)}>Conditions d'utilisation</Link>
<span className={classes["separator"]} />
<a href="/privacy">Politique de confidentialité</a>
<Link href={legalPages.replace("[legalUid]", ELegalOptions.POLITIQUE_DE_CONFIDENTIALITE)}>Politique de confidentialité</Link>
<span className={classes["separator"]} />
<a href="/cookies">Politique des cookies</a>
<Link href={legalPages.replace("[legalUid]", ELegalOptions.POLITIQUE_DE_GESTION_DES_COOKIES)}>Politique des cookies</Link>
</div>
);
}

View File

@ -1,4 +1,4 @@
import React from "react";
import React, { useEffect } from "react";
import classes from "./classes.module.scss";
import Mobile from "./mobile";
import Desktop from "./desktop";
@ -9,6 +9,9 @@ type IProps = {
};
export default function Footer({ className }: IProps) {
useEffect(() => {
document.documentElement.style.setProperty("--footer-height", `43px`);
});
return (
<footer className={[classes["root"], className].join(" ")}>
<Mobile className={classes["mobile"]} />

View File

@ -1,18 +1,23 @@
import React from "react";
import classes from "./classes.module.scss";
import Link from "next/link";
import Module from "@Front/Config/Module";
import { ELegalOptions } from "@Front/Components/LayoutTemplates/DefaultLegalDashboard";
type IProps = {
className?: string;
};
const legalPages = Module.getInstance().get().modules.pages.Legal.pages.LegalInformations.props.path;
export default function Mobile({ className }: IProps) {
return (
<div className={[classes["sub-root"], className].join(" ")}>
<span>© Lecoffre 2024</span>
<span className={classes["separator"]} />
<a href="/terms">Juridiques</a>
<Link href={legalPages.replace("[legalUid]", ELegalOptions.LEGAL_MENTIONS)}>Juridiques</Link>
<span className={classes["separator"]} />
<a href="/cookies">Cookies</a>
<Link href={legalPages.replace("[legalUid]", ELegalOptions.POLITIQUE_DE_GESTION_DES_COOKIES)}>Cookies</Link>
</div>
);
}

View File

@ -1,20 +1,24 @@
import React from "react";
import classes from "./classes.module.scss";
import Module from "@Front/Config/Module";
import { ELegalOptions } from "@Front/Components/LayoutTemplates/DefaultLegalDashboard";
import Link from "next/link";
type IProps = {
className?: string;
};
const legalPages = Module.getInstance().get().modules.pages.Legal.pages.LegalInformations.props.path;
export default function Tablet({ className }: IProps) {
return (
<div className={[classes["sub-root"], className].join(" ")}>
<span>© Lecoffre 2024</span>
<span className={classes["separator"]} />
<a href="/terms">Conditions d'utilisation</a>
<Link href={legalPages.replace("[legalUid]", ELegalOptions.CGU)}>Conditions d'utilisation</Link>
<span className={classes["separator"]} />
<a href="/privacy">Politique de confidentialité</a>
<Link href={legalPages.replace("[legalUid]", ELegalOptions.POLITIQUE_DE_CONFIDENTIALITE)}>Politique de confidentialité</Link>
<span className={classes["separator"]} />
<a href="/cookies">Politique des cookies</a>
<Link href={legalPages.replace("[legalUid]", ELegalOptions.POLITIQUE_DE_GESTION_DES_COOKIES)}>Politique des cookies</Link>
</div>
);
}

View File

@ -5,22 +5,33 @@
.content {
display: flex;
justify-content: flex-start;
min-height: calc(100vh - var(--header-height));
height: calc(100vh - var(--header-height));
@media (max-width: $screen-m) {
flex-direction: column;
}
.right-side {
min-width: calc(100% - 336px);
flex: 1;
display: flex;
justify-content: space-between;
flex-direction: column;
.right-side-content {
overflow-y: auto;
padding: var(--spacing-lg, 24px);
height: calc(100% - var(--footer-height));
}
&[data-no-padding] {
&[data-no-padding="true"] {
.right-side-content {
padding: 0;
}
}
}
@media (max-width: $screen-m) {
width: 100%;
flex-direction: column;
.right-side {
min-width: 100%;
}
}
}

View File

@ -5,6 +5,7 @@ import React, { ReactNode } from "react";
import classes from "./classes.module.scss";
import SearchBlockList, { ISearchBlockListProps } from "@Front/Components/DesignSystem/SearchBlockList";
import Footer from "@Front/Components/DesignSystem/Footer";
export type IPropsDashboardWithList = {
title?: string;
@ -36,6 +37,7 @@ export default function DefaultDashboardWithList(props: IProps) {
<div className={classes["content"]}>
<SearchBlockList blocks={blocks} onSelectedBlock={onSelectedBlock} bottomButton={bottomButton} />
<div className={classes["right-side"]} data-no-padding={noPadding}>
<div className={classes["right-side-content"]}>
{hasBackArrow && (
<div className={classes["back-arrow-desktop"]}>
<BackArrow url={backArrowUrl ?? ""} />
@ -43,6 +45,8 @@ export default function DefaultDashboardWithList(props: IProps) {
)}
{children}
</div>
<Footer />
</div>
</div>
<Version />
</div>