From 01d72466a68d51d6e5cfde0ab72fb3628e47489d Mon Sep 17 00:00:00 2001 From: Anthony LC Date: Fri, 3 May 2024 10:28:27 +0200 Subject: [PATCH] =?UTF-8?q?=E2=9C=A8(app-desk)=20add=20footer?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Add footer to the desk app. --- .../assets => assets/icons}/icon-gouv.svg | 0 .../assets => assets/icons}/icon-marianne.svg | 0 src/frontend/apps/desk/src/components/Box.tsx | 2 + .../apps/desk/src/components/Link.tsx | 7 +- .../apps/desk/src/core/MainLayout.tsx | 20 ++- .../apps/desk/src/features/footer/Footer.tsx | 122 ++++++++++++++++++ .../features/footer/assets/external-link.svg | 5 + src/frontend/apps/desk/src/pages/globals.css | 8 +- .../e2e/__tests__/app-desk/footer.spec.ts | 42 ++++++ 9 files changed, 195 insertions(+), 11 deletions(-) rename src/frontend/apps/desk/src/{features/header/assets => assets/icons}/icon-gouv.svg (100%) rename src/frontend/apps/desk/src/{features/header/assets => assets/icons}/icon-marianne.svg (100%) create mode 100644 src/frontend/apps/desk/src/features/footer/Footer.tsx create mode 100644 src/frontend/apps/desk/src/features/footer/assets/external-link.svg create mode 100644 src/frontend/apps/e2e/__tests__/app-desk/footer.spec.ts diff --git a/src/frontend/apps/desk/src/features/header/assets/icon-gouv.svg b/src/frontend/apps/desk/src/assets/icons/icon-gouv.svg similarity index 100% rename from src/frontend/apps/desk/src/features/header/assets/icon-gouv.svg rename to src/frontend/apps/desk/src/assets/icons/icon-gouv.svg diff --git a/src/frontend/apps/desk/src/features/header/assets/icon-marianne.svg b/src/frontend/apps/desk/src/assets/icons/icon-marianne.svg similarity index 100% rename from src/frontend/apps/desk/src/features/header/assets/icon-marianne.svg rename to src/frontend/apps/desk/src/assets/icons/icon-marianne.svg diff --git a/src/frontend/apps/desk/src/components/Box.tsx b/src/frontend/apps/desk/src/components/Box.tsx index 2dd8562..a4ab116 100644 --- a/src/frontend/apps/desk/src/components/Box.tsx +++ b/src/frontend/apps/desk/src/components/Box.tsx @@ -28,6 +28,7 @@ export interface BoxProps { $position?: CSSProperties['position']; $radius?: CSSProperties['borderRadius']; $width?: CSSProperties['width']; + $zIndex?: CSSProperties['zIndex']; } export type BoxType = ComponentPropsWithRef; @@ -53,4 +54,5 @@ export const Box = styled('div')` ${({ $maxWidth }) => $maxWidth && `max-width: ${$maxWidth};`} ${({ $minWidth }) => $minWidth && `min-width: ${$minWidth};`} ${({ $css }) => $css && `${$css};`} + ${({ $zIndex }) => $zIndex && `z-index: ${$zIndex};`} `; diff --git a/src/frontend/apps/desk/src/components/Link.tsx b/src/frontend/apps/desk/src/components/Link.tsx index 8081db2..b84de0d 100644 --- a/src/frontend/apps/desk/src/components/Link.tsx +++ b/src/frontend/apps/desk/src/components/Link.tsx @@ -1,11 +1,16 @@ import Link from 'next/link'; import styled from 'styled-components'; -export const StyledLink = styled(Link)` +export interface LinkProps { + $css?: string; +} + +export const StyledLink = styled(Link)` text-decoration: none; color: #ffffff33; &[aria-current='page'] { color: #ffffff; } display: flex; + ${({ $css }) => $css && `${$css};`} `; diff --git a/src/frontend/apps/desk/src/core/MainLayout.tsx b/src/frontend/apps/desk/src/core/MainLayout.tsx index 77bdc54..617e004 100644 --- a/src/frontend/apps/desk/src/core/MainLayout.tsx +++ b/src/frontend/apps/desk/src/core/MainLayout.tsx @@ -1,19 +1,27 @@ import { PropsWithChildren } from 'react'; import { Box } from '@/components'; +import { Footer } from '@/features/footer/Footer'; import { HEADER_HEIGHT, Header } from '@/features/header'; import { Menu } from '@/features/menu'; export function MainLayout({ children }: PropsWithChildren) { return ( - -
- - - - {children} + + +
+ + + + {children} + +