diff --git a/frontend/messages/fr/positions.json b/frontend/messages/fr/positions.json index a8df5a16..80dda497 100644 --- a/frontend/messages/fr/positions.json +++ b/frontend/messages/fr/positions.json @@ -25,6 +25,7 @@ "cta": "Lire le manifeste" } ], + "manifestoBanner": "Découvrez notre manifeste !", "press": "Nos positions dans la presse", "resources": "Nos ressources" } diff --git a/frontend/public/images/manifesto-page-1.png b/frontend/public/images/manifesto-page-1.png new file mode 100644 index 00000000..34035ce5 Binary files /dev/null and b/frontend/public/images/manifesto-page-1.png differ diff --git a/frontend/public/images/manifesto-page-2.png b/frontend/public/images/manifesto-page-2.png new file mode 100644 index 00000000..fca6071a Binary files /dev/null and b/frontend/public/images/manifesto-page-2.png differ diff --git a/frontend/src/app/[locale]/positions/_partials/Animations.tsx b/frontend/src/app/[locale]/positions/_partials/Animations.tsx index ce2b6d14..f9a2cc28 100644 --- a/frontend/src/app/[locale]/positions/_partials/Animations.tsx +++ b/frontend/src/app/[locale]/positions/_partials/Animations.tsx @@ -1,5 +1,5 @@ import { useTranslations } from 'next-intl'; -import { TiltedTitle, Button } from '@/components'; +import { TiltedTitle } from '@/components'; import Image from 'next/image'; import { useScroll, @@ -31,7 +31,7 @@ export default function Animation({ animationData, handleSkipClick }: { return (
- + { e.preventDefault(); handleSkipClick(); }} className="absolute z-1 top-[calc(100dvh-40px)] right-[40px] text-grey-text flex flex-col items-center hover:text-black"> {t('skipLink')} @@ -116,10 +116,9 @@ export default function Animation({ animationData, handleSkipClick }: {
{t('intro.5.title')} -

+

{t('intro.5.description')}

-
diff --git a/frontend/src/app/[locale]/positions/positions.tsx b/frontend/src/app/[locale]/positions/positions.tsx index dee0b24f..8be1b890 100644 --- a/frontend/src/app/[locale]/positions/positions.tsx +++ b/frontend/src/app/[locale]/positions/positions.tsx @@ -1,7 +1,7 @@ 'use client'; import { useTranslations } from 'next-intl'; -import { BaseCardsBlock, LargeTextImage } from '@/components'; +import { BaseCardsBlock, LargeTextImage, ManifestoBanner } from '@/components'; import Animation from './_partials/Animations'; import type { PositionsPageData } from './page'; import { useRef } from 'react'; @@ -60,7 +60,7 @@ export default function PositionsPage({ data }: PositionPageProps) { const scrollToRef = (ref: React.RefObject) => { if (ref.current) { - ref.current.scrollIntoView({ behavior: "smooth", block: "nearest" }); + ref.current.scrollIntoView({ behavior: "smooth", block: "center" }); } }; @@ -70,18 +70,23 @@ export default function PositionsPage({ data }: PositionPageProps) { <> -
- +
+ + = ({ + text, + link, + className, + ...props +}) => { + if (!link) { + return null; + } + + return ( +
+ +
+ {text} + +
+
+ + Aperçu de la première page du manifeste +
+ +
+ ); +}; + +export default ManifestoBanner; diff --git a/frontend/src/components/molecules/index.ts b/frontend/src/components/molecules/index.ts index 80b36574..26dc842f 100644 --- a/frontend/src/components/molecules/index.ts +++ b/frontend/src/components/molecules/index.ts @@ -55,3 +55,6 @@ export type { CampaignBannerProps } from './CampaignBanner/CampaignBanner'; export { default as CtaList } from './CtaList/CtaList'; export type { CtaListProps, CtaListItem } from './CtaList/CtaList'; + +export { default as ManifestoBanner } from './ManifestoBanner/ManifestoBanner'; +export type { ManifestoBannerProps } from './ManifestoBanner/ManifestoBanner';