diff --git a/web/messages/de.json b/web/messages/de.json index b6220e7..f11062f 100644 --- a/web/messages/de.json +++ b/web/messages/de.json @@ -4,6 +4,27 @@ "about.block.democratic.middle": " von der Gemeinschaft, während wir gleichzeitig keine Abweichungen durch unsere ", "about.block.democratic.prefix": "Verwaltet und ", "about.block.democratic.suffix": " garantieren.", + "about.block.press.title": "Presse", + "about.block.press.text": "Entdecken Sie die neuesten Presseberichte ", + "about.block.press.link": "hier", + "press.seo.title": "Presse - Compass", + "press.seo.description": "Aktuelle Berichterstattung und Medienberichte über Compass", + "press.title": "Presse", + "press.subtitle": "Aktuelle Neuigkeiten und Medienberichte über Compass", + "press.media_kit": "Medienpaket", + "press.brand_assets": "Markenressourcen", + "press.brand_assets_description": "Laden Sie unser Logo und unsere Markenrichtlinien herunter.", + "press.download_assets": "Ressourcen herunterladen", + "press.contact": "Pressekontakt", + "press.contact_description": "Für Presseanfragen wenden Sie sich bitte an unser Team.", + "press.contact_us": "Kontakt aufnehmen", + "press.no_articles": "Derzeit sind keine Presseartikel verfügbar. Bitte schauen Sie später wieder vorbei.", + "languages.en": "Englisch", + "languages.fr": "Französisch", + "languages.de": "Deutsch", + "404.title": "404: Hoppla!", + "404.default_message": "Diese Seite konnte nicht gefunden werden.", + "404.help_text": "Falls Sie dies nicht erwartet haben, holen Sie sich ", "about.block.democratic.title": "Demokratisch", "about.block.free.text": "Kein Abonnement. Keine Bezahlschranke. Keine Werbung.", "about.block.free.title": "Kostenlos", diff --git a/web/messages/fr.json b/web/messages/fr.json index 958a9ce..cb2fe40 100644 --- a/web/messages/fr.json +++ b/web/messages/fr.json @@ -4,6 +4,27 @@ "about.block.democratic.middle": " par la communauté, tout en garantissant aucune dérive via notre ", "about.block.democratic.prefix": "Gouverné et ", "about.block.democratic.suffix": ".", + "about.block.press.title": "Presse", + "about.block.press.text": "Découvrez les derniers articles de presse ", + "about.block.press.link": "ici", + "press.seo.title": "Presse - Compass", + "press.seo.description": "Dernières actualités et mentions de Compass dans la presse", + "press.title": "Presse", + "press.subtitle": "Dernières actualités et couverture médiatique de Compass", + "press.media_kit": "Kit Média", + "press.brand_assets": "Ressources de marque", + "press.brand_assets_description": "Téléchargez notre logo et nos directives de marque.", + "press.download_assets": "Télécharger les ressources", + "press.contact": "Contact presse", + "press.contact_description": "Pour toute demande de presse, veuillez contacter notre équipe.", + "press.contact_us": "Nous contacter", + "press.no_articles": "Aucun article de presse disponible pour le moment. Veuillez réessayer ultérieurement.", + "languages.en": "Anglais", + "languages.fr": "Français", + "languages.de": "Allemand", + "404.title": "404 : Oups !", + "404.default_message": "Je ne trouve pas cette page.", + "404.help_text": "Si vous ne vous attendiez pas à cela, obtenez de l'", "about.block.democratic.title": "Démocratique", "about.block.free.text": "Sans abonnement. Sans paywall. Sans publicité.", "about.block.free.title": "Gratuit", diff --git a/web/pages/about.tsx b/web/pages/about.tsx index 068dc5c..c6957f4 100644 --- a/web/pages/about.tsx +++ b/web/pages/about.tsx @@ -22,18 +22,18 @@ export default function About() { return (
-

{t('about.title','Why Choose Compass?')}

+

{t('about.title', 'Why Choose Compass?')}

-

{t('about.subtitle','To find your people with ease.')}

+

{t('about.subtitle', 'To find your people with ease.')}

@@ -42,88 +42,101 @@ export default function About() {
- {t('about.block.democratic.prefix','Governed and ')} - {t('about.block.democratic.link_voted','voted')} - {t('about.block.democratic.middle',' by the community, while ensuring no drift through our ')} - {t('about.block.democratic.link_constitution','constitution')} - {t('about.block.democratic.suffix','.')} + {t('about.block.democratic.prefix', 'Governed and ')} + {t('about.block.democratic.link_voted', 'voted')} + {t('about.block.democratic.middle', ' by the community, while ensuring no drift through our ')} + {t('about.block.democratic.link_constitution', 'constitution')} + {t('about.block.democratic.suffix', '.')} } /> + + + {t('about.block.press.text', 'Explore the latest press stories ')} + {t('about.block.press.link', 'here')}. + } />
-

{t('about.help.title','Help Compass')}

+

{t('about.help.title', 'Help Compass')}

-
{t('about.suggestions.title','Give Suggestions or Contribute')}
-

{t('about.suggestions.text','Give suggestions or let us know you want to help through this form!')}

+
{t('about.suggestions.title', 'Give Suggestions or Contribute')}
+

{t('about.suggestions.text', 'Give suggestions or let us know you want to help through this form!')}

- {t('about.suggestions.button','Suggest Here')} + {t('about.suggestions.button', 'Suggest Here')}
-
{t('about.dev.title','Develop the App')}
-

{t('about.dev.text','The full source code and instructions are available on GitHub.')}

+
{t('about.dev.title', 'Develop the App')}
+

{t('about.dev.text', 'The full source code and instructions are available on GitHub.')}

- {t('about.dev.button','View Code')} + {t('about.dev.button', 'View Code')}
-
{t('about.join.title','Join the Community')}
-

{t('about.join.text',"Let's shape the platform together.")}

+
{t('about.join.title', 'Join the Community')}
+

{t('about.join.text', "Let's shape the platform together.")}

- -

{t('about.donate.text','Support our not-for-profit infrastructure.')}

+ +

{t('about.donate.text', 'Support our not-for-profit infrastructure.')}

- {t('about.donate.button','Donation Options')} + {t('about.donate.button', 'Donation Options')} {/*
-
{t('about.final.title','Tell Your Friends and Family')}
-

{t('about.final.text','Thank you for supporting our mission!')}

+
{t('about.final.title', 'Tell Your Friends and Family')}
+

{t('about.final.text', 'Thank you for supporting our mission!')}

diff --git a/web/pages/organization.tsx b/web/pages/organization.tsx index e99229c..ddf5926 100644 --- a/web/pages/organization.tsx +++ b/web/pages/organization.tsx @@ -31,6 +31,7 @@ export default function Organization() { + diff --git a/web/pages/press.tsx b/web/pages/press.tsx new file mode 100644 index 0000000..4f6c06f --- /dev/null +++ b/web/pages/press.tsx @@ -0,0 +1,140 @@ +import {PageBase} from 'web/components/page-base' +import {SEO} from "web/components/SEO"; +import {useLocale, useT} from "web/lib/locale"; +import Link from "next/link"; + +type PressItem = { + title: string; + source: string; + date: string; + url: string; + language: 'en' | 'fr' | 'de'; +}; + +const pressItems: PressItem[] = [ + // Add press items here in the format: + // { + // title: 'Article Title', + // source: 'Publication Name', + // date: '2025-01-15', + // url: 'https://example.com/article', + // language: 'en', + // }, + // { + // title: 'Bonjour', + // source: 'Matélé', + // date: '2025-01-15', + // url: 'https://example.com/article', + // language: 'fr', + // }, +]; + +const PressItem = ({item}: { item: PressItem, locales: Intl.LocalesArgument }) => ( +
+

+ + {item.title} + +

+
+ {item.source} + {/*{new Date(item.date).toLocaleDateString(locales, { year: 'numeric', month: 'long', day: 'numeric' })}*/} + {new Date(item.date).toLocaleDateString()} +
+ {/*
*/} + {/* */} + {/* {item.language.toUpperCase()}*/} + {/* */} + {/*
*/} +
+); + +export default function PressPage() { + const t = useT(); + + const pressByLanguage = pressItems.reduce>((acc, item) => { + if (!acc[item.language]) { + acc[item.language] = []; + } + acc[item.language].push(item); + return acc; + }, {}); + + const {locale} = useLocale() + + return ( + + + +
+
+

+ {t('press.title', 'Press')} +

+

+ {t('press.subtitle', 'Latest news and media coverage about Compass')} +

+
+ +
+

+ {t('press.media_kit', 'Media Kit')} +

+
+
+

{t('press.brand_assets', 'Brand Assets')}

+

+ {t('press.brand_assets_description', 'Download our logo and brand guidelines.')} +

+ + {t('press.download_assets', 'Download Assets')} + +
+
+

{t('press.contact', 'Press Contact')}

+

+ {t('press.contact_description', 'For press inquiries, please contact our team.')} +

+ + {t('press.contact_us', 'Contact Us')} + +
+
+
+ +
+ {Object.entries(pressByLanguage).map(([language, items]) => ( +
+

+ {t(`languages.${language}`, language.toUpperCase())} +

+
+ {items.map((item, index) => ( + + ))} +
+
+ ))} + + {pressItems.length === 0 && ( +
+

+ {t('press.no_articles', 'No press articles available at the moment. Please check back later.')} +

+
+ )} +
+
+
+ ); +}