✨ Footer working
This commit is contained in:
parent
ef4d30784a
commit
0c01457484
3
src/front/Assets/Icons/vertical-separator.svg
Normal file
3
src/front/Assets/Icons/vertical-separator.svg
Normal file
@ -0,0 +1,3 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="2" height="14" viewBox="0 0 2 14" fill="none">
|
||||
<path d="M1 1L0.999999 13" stroke="#47535D" stroke-width="2" stroke-linecap="round"/>
|
||||
</svg>
|
After Width: | Height: | Size: 186 B |
@ -3,17 +3,24 @@
|
||||
.root {
|
||||
border-top: 1px solid var(--footer-border, #d7dce0);
|
||||
background: var(--footer-background, #fff);
|
||||
padding: var(--spacing-1-5) 0;
|
||||
|
||||
.sub-root {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: var(--Radius-lg, 16px);
|
||||
white-space: nowrap;
|
||||
|
||||
@media (max-width: 1023px) {
|
||||
padding: 0 12px;
|
||||
}
|
||||
|
||||
.desktop {
|
||||
padding: var(--spacing-1-5, 12px) var(--Radius-xl, 24px);
|
||||
}
|
||||
|
||||
.tablet {
|
||||
padding: var(--spacing-1-5, 12px) var(--Radius-xl, 24px);
|
||||
}
|
||||
|
||||
.mobile {
|
||||
padding: var(--spacing-1-5, 12px) var(--Radius-lg, 16px);
|
||||
}
|
||||
|
||||
&[data-has-left-padding="true"] {
|
||||
@ -22,12 +29,7 @@
|
||||
}
|
||||
}
|
||||
|
||||
&[data-is-sticky="true"] {
|
||||
position: sticky;
|
||||
bottom: 0;
|
||||
}
|
||||
|
||||
@media (max-width: 660px) or (min-width: 769px) {
|
||||
@media (max-width: 660px) or (min-width: 1023px) {
|
||||
.tablet {
|
||||
display: none;
|
||||
}
|
||||
@ -39,7 +41,7 @@
|
||||
}
|
||||
}
|
||||
|
||||
@media (max-width: 769px) {
|
||||
@media (max-width: 1023px) {
|
||||
.desktop {
|
||||
display: none;
|
||||
}
|
||||
|
@ -3,6 +3,8 @@ import classes from "./classes.module.scss";
|
||||
import Link from "next/link";
|
||||
import Module from "@Front/Config/Module";
|
||||
import { ELegalOptions } from "@Front/Components/LayoutTemplates/DefaultLegalDashboard";
|
||||
import VerticalSeparator from "@Assets/Icons/vertical-separator.svg";
|
||||
import Image from "next/image";
|
||||
|
||||
type IProps = {
|
||||
className?: string;
|
||||
@ -14,11 +16,11 @@ export default function Desktop({ className }: IProps) {
|
||||
return (
|
||||
<div className={[classes["sub-root"], className].join(" ")}>
|
||||
<Link href={legalPages.replace("[legalUid]", ELegalOptions.LEGAL_MENTIONS)}>© Copyright lecoffre 2024</Link>
|
||||
<span className={classes["separator"]} />
|
||||
<Link href={legalPages.replace("[legalUid]", ELegalOptions.CGU)}>Conditions d'utilisation</Link>
|
||||
<span className={classes["separator"]} />
|
||||
<Image src={VerticalSeparator} alt="Separator" />
|
||||
<Link href={legalPages.replace("[legalUid]", ELegalOptions.CGU)}>Juridiques</Link>
|
||||
<Image src={VerticalSeparator} alt="Separator" />
|
||||
<Link href={legalPages.replace("[legalUid]", ELegalOptions.POLITIQUE_DE_CONFIDENTIALITE)}>Politique de confidentialité</Link>
|
||||
<span className={classes["separator"]} />
|
||||
<Image src={VerticalSeparator} alt="Separator" />
|
||||
<Link href={legalPages.replace("[legalUid]", ELegalOptions.POLITIQUE_DE_GESTION_DES_COOKIES)}>Politique des cookies</Link>
|
||||
</div>
|
||||
);
|
||||
|
@ -7,10 +7,9 @@ import Tablet from "./tablet";
|
||||
type IProps = {
|
||||
className?: string;
|
||||
hasLeftPadding?: boolean;
|
||||
isSticky?: boolean;
|
||||
};
|
||||
|
||||
export default function Footer({ className, hasLeftPadding = false, isSticky = false }: IProps) {
|
||||
export default function Footer({ className, hasLeftPadding = false }: IProps) {
|
||||
const footerRef = React.useRef<HTMLDivElement>(null);
|
||||
useEffect(() => {
|
||||
if (!footerRef.current) return;
|
||||
@ -18,11 +17,7 @@ export default function Footer({ className, hasLeftPadding = false, isSticky = f
|
||||
document.documentElement.style.setProperty("--footer-height", `${footerHeight}px`);
|
||||
});
|
||||
return (
|
||||
<footer
|
||||
className={[classes["root"], className].join(" ")}
|
||||
data-has-left-padding={hasLeftPadding}
|
||||
data-is-sticky={isSticky}
|
||||
ref={footerRef}>
|
||||
<footer className={[classes["root"], className].join(" ")} data-has-left-padding={hasLeftPadding} ref={footerRef}>
|
||||
<Mobile className={classes["mobile"]} />
|
||||
<Tablet className={classes["tablet"]} />
|
||||
<Desktop className={classes["desktop"]} />
|
||||
|
@ -3,6 +3,8 @@ import classes from "./classes.module.scss";
|
||||
import Link from "next/link";
|
||||
import Module from "@Front/Config/Module";
|
||||
import { ELegalOptions } from "@Front/Components/LayoutTemplates/DefaultLegalDashboard";
|
||||
import VerticalSeparator from "@Assets/Icons/vertical-separator.svg";
|
||||
import Image from "next/image";
|
||||
|
||||
type IProps = {
|
||||
className?: string;
|
||||
@ -14,9 +16,9 @@ export default function Mobile({ className }: IProps) {
|
||||
return (
|
||||
<div className={[classes["sub-root"], className].join(" ")}>
|
||||
<Link href={legalPages.replace("[legalUid]", ELegalOptions.LEGAL_MENTIONS)}>© Lecoffre 2024</Link>
|
||||
<span className={classes["separator"]} />
|
||||
<Image src={VerticalSeparator} alt="Separator" />
|
||||
<Link href={legalPages.replace("[legalUid]", ELegalOptions.LEGAL_MENTIONS)}>Juridiques</Link>
|
||||
<span className={classes["separator"]} />
|
||||
<Image src={VerticalSeparator} alt="Separator" />
|
||||
<Link href={legalPages.replace("[legalUid]", ELegalOptions.POLITIQUE_DE_GESTION_DES_COOKIES)}>Cookies</Link>
|
||||
</div>
|
||||
);
|
||||
|
@ -3,7 +3,8 @@ import classes from "./classes.module.scss";
|
||||
import Module from "@Front/Config/Module";
|
||||
import { ELegalOptions } from "@Front/Components/LayoutTemplates/DefaultLegalDashboard";
|
||||
import Link from "next/link";
|
||||
|
||||
import VerticalSeparator from "@Assets/Icons/vertical-separator.svg";
|
||||
import Image from "next/image";
|
||||
type IProps = {
|
||||
className?: string;
|
||||
};
|
||||
@ -12,13 +13,13 @@ const legalPages = Module.getInstance().get().modules.pages.Legal.pages.LegalInf
|
||||
export default function Tablet({ className }: IProps) {
|
||||
return (
|
||||
<div className={[classes["sub-root"], className].join(" ")}>
|
||||
<Link href={legalPages.replace("[legalUid]", ELegalOptions.LEGAL_MENTIONS)}>© Lecoffre 2024</Link>
|
||||
<span className={classes["separator"]} />
|
||||
<Link href={legalPages.replace("[legalUid]", ELegalOptions.CGU)}>Conditions d'utilisation</Link>
|
||||
<span className={classes["separator"]} />
|
||||
<Link href={legalPages.replace("[legalUid]", ELegalOptions.LEGAL_MENTIONS)}>© Copyright lecoffre 2024</Link>
|
||||
<Image src={VerticalSeparator} alt="Separator" />
|
||||
<Link href={legalPages.replace("[legalUid]", ELegalOptions.CGU)}>Juridiques</Link>
|
||||
<Image src={VerticalSeparator} alt="Separator" />
|
||||
<Link href={legalPages.replace("[legalUid]", ELegalOptions.POLITIQUE_DE_CONFIDENTIALITE)}>Politique de confidentialité</Link>
|
||||
<span className={classes["separator"]} />
|
||||
<Link href={legalPages.replace("[legalUid]", ELegalOptions.POLITIQUE_DE_GESTION_DES_COOKIES)}>Politique des cookies</Link>
|
||||
<Image src={VerticalSeparator} alt="Separator" />
|
||||
<Link href={legalPages.replace("[legalUid]", ELegalOptions.POLITIQUE_DE_GESTION_DES_COOKIES)}>Gestion des cookies</Link>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
|
@ -28,6 +28,7 @@
|
||||
|
||||
.background-image-container {
|
||||
position: fixed;
|
||||
z-index: -1;
|
||||
width: 50vw;
|
||||
top: 83px;
|
||||
right: 0;
|
||||
|
Loading…
x
Reference in New Issue
Block a user