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 (
+
+ );
+};
+
+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';