From a7f234e5f614fbe68521af268b3552bc450a5bdc Mon Sep 17 00:00:00 2001 From: Paul Ochieng Levi Date: Mon, 13 Jul 2026 18:54:51 +0300 Subject: [PATCH 1/6] feat: add QrCodeButton component and integrate into Leaderboard, Quiz, and Selfies screens - Implemented QrCodeButton component with updated styles and functionality. - Integrated QrCodeButton into LeaderboardScreen, QuizScreen, and SelfiesScreen for enhanced user interaction. - Adjusted layout and styles for better responsiveness and visual consistency across screens. - Added new Selfies route and screen to display user-submitted selfies from the Africa Clean Air Forum. --- .../selfies/page.tsx | 15 + .../clean-air-forum-2026/QrCodeButton.tsx | 8 +- src/website/src/components/layout/Footer.tsx | 1 + .../screens/LeaderboardScreen.tsx | 11 +- .../screens/QuizScreen.tsx | 16 +- .../screens/SelfiesScreen.tsx | 867 ++++++++++++++++++ .../FacesOfCleanAirPage.tsx | 10 +- 7 files changed, 907 insertions(+), 21 deletions(-) create mode 100644 src/website/src/app/(programs)/africa-clean-air-forum-2026/selfies/page.tsx create mode 100644 src/website/src/features/clean-air-forum-2026/screens/SelfiesScreen.tsx diff --git a/src/website/src/app/(programs)/africa-clean-air-forum-2026/selfies/page.tsx b/src/website/src/app/(programs)/africa-clean-air-forum-2026/selfies/page.tsx new file mode 100644 index 0000000000..21dd65188b --- /dev/null +++ b/src/website/src/app/(programs)/africa-clean-air-forum-2026/selfies/page.tsx @@ -0,0 +1,15 @@ +import SelfiesScreen from '@/features/clean-air-forum-2026/screens/SelfiesScreen'; +import { generateMetadata } from '@/lib/metadata'; + +export const metadata = generateMetadata({ + title: 'Selfies | Faces of Clean Air', + description: + 'View selfies shared by attendees of the Africa Clean Air Forum showcasing air quality readings from their locations.', + keywords: + 'Faces of Clean Air selfies, Africa Clean Air Forum photos, air quality advocates, PM2.5 readings Africa, clean air community', + url: '/africa-clean-air-forum-2026/selfies', +}); + +export default function SelfiesRoute() { + return ; +} diff --git a/src/website/src/components/clean-air-forum-2026/QrCodeButton.tsx b/src/website/src/components/clean-air-forum-2026/QrCodeButton.tsx index fcabb70268..0b57210e63 100644 --- a/src/website/src/components/clean-air-forum-2026/QrCodeButton.tsx +++ b/src/website/src/components/clean-air-forum-2026/QrCodeButton.tsx @@ -15,20 +15,20 @@ export default function QrCodeButton({ src = QR_IMAGE_SRC }: { src?: string }) {