From d3155e127c7079240a7c5a40513b68df8cc3bea2 Mon Sep 17 00:00:00 2001 From: eagerterrier Date: Thu, 14 May 2026 19:08:30 +0100 Subject: [PATCH 01/29] ENH: brand logos to external SVG --- public/afaanoromoo/images/brandLogo.svg | 6 + public/afrique/images/brandLogo.svg | 6 + public/amharic/images/brandLogo.svg | 6 + public/azeri/images/brandLogo.svg | 6 + public/bengali/images/brandLogo.svg | 6 + public/burmese/images/brandLogo.svg | 7 + public/dari/images/brandLogo.svg | 11 ++ public/gahuza/images/brandLogo.svg | 6 + public/gujarati/images/brandLogo.svg | 7 + public/hausa/images/brandLogo.svg | 6 + public/igbo/images/brandLogo.svg | 6 + public/indonesia/images/brandLogo.svg | 6 + public/japanese/images/brandLogo.svg | 13 ++ public/korean/images/brandLogo.svg | 11 ++ public/kyrgyz/images/brandLogo.svg | 6 + public/magyarul/images/brandLogo.svg | 16 ++ public/marathi/images/brandLogo.svg | 6 + public/mundo/images/brandLogo.svg | 6 + public/nepali/images/brandLogo.svg | 6 + public/pashto/images/brandLogo.svg | 7 + public/persian/images/brandLogo.svg | 6 + public/pidgin/images/brandLogo.svg | 6 + public/polska/images/brandLogo.svg | 14 ++ public/portuguese/images/brandLogo.svg | 6 + public/punjabi/images/brandLogo.svg | 7 + public/romania/images/brandLogo.svg | 15 ++ public/russian/images/brandLogo.svg | 6 + public/sinhala/images/brandLogo.svg | 6 + public/somali/images/brandLogo.svg | 6 + public/swahili/images/brandLogo.svg | 6 + public/tamil/images/brandLogo.svg | 6 + public/telugu/images/brandLogo.svg | 6 + public/thai/images/brandLogo.svg | 6 + public/tigrinya/images/brandLogo.svg | 6 + public/turkce/images/brandLogo.svg | 9 + public/ukrainian/images/brandLogo.svg | 6 + public/urdu/images/brandLogo.svg | 7 + public/vietnamese/images/brandLogo.svg | 6 + public/yoruba/images/brandLogo.svg | 6 + scripts/extract-brand-logos.js | 159 ++++++++++++++++++ scripts/update-brand-logo-imports.js | 92 ++++++++++ .../chameleonLogos/afaanoromoo.tsx | 17 +- .../ThemeProvider/chameleonLogos/afrique.tsx | 17 +- .../ThemeProvider/chameleonLogos/amharic.tsx | 17 +- .../ThemeProvider/chameleonLogos/arabic.tsx | 23 +-- .../ThemeProvider/chameleonLogos/archive.tsx | 33 +--- .../ThemeProvider/chameleonLogos/azeri.tsx | 17 +- .../ThemeProvider/chameleonLogos/bengali.tsx | 17 +- .../ThemeProvider/chameleonLogos/burmese.tsx | 18 +- .../ThemeProvider/chameleonLogos/cymrufyw.tsx | 29 +--- .../ThemeProvider/chameleonLogos/dari.tsx | 22 +-- .../ThemeProvider/chameleonLogos/gahuza.tsx | 17 +- .../ThemeProvider/chameleonLogos/gujarati.tsx | 18 +- .../ThemeProvider/chameleonLogos/hausa.tsx | 17 +- .../ThemeProvider/chameleonLogos/hindi.tsx | 15 +- .../ThemeProvider/chameleonLogos/igbo.tsx | 17 +- .../chameleonLogos/indonesia.tsx | 17 +- .../ThemeProvider/chameleonLogos/japanese.tsx | 24 +-- .../ThemeProvider/chameleonLogos/korean.tsx | 22 +-- .../ThemeProvider/chameleonLogos/kyrgyz.tsx | 17 +- .../ThemeProvider/chameleonLogos/magyarul.tsx | 27 +-- .../ThemeProvider/chameleonLogos/marathi.tsx | 17 +- .../ThemeProvider/chameleonLogos/mundo.tsx | 17 +- .../chameleonLogos/naidheachdan.tsx | 29 +--- .../ThemeProvider/chameleonLogos/nepali.tsx | 17 +- .../ThemeProvider/chameleonLogos/news.tsx | 14 +- .../chameleonLogos/newsround.tsx | 58 +------ .../ThemeProvider/chameleonLogos/pashto.tsx | 18 +- .../ThemeProvider/chameleonLogos/persian.tsx | 17 +- .../ThemeProvider/chameleonLogos/pidgin.tsx | 17 +- .../ThemeProvider/chameleonLogos/polska.tsx | 25 +-- .../chameleonLogos/portuguese.tsx | 17 +- .../ThemeProvider/chameleonLogos/punjabi.tsx | 18 +- .../ThemeProvider/chameleonLogos/romania.tsx | 25 +-- .../ThemeProvider/chameleonLogos/russian.tsx | 17 +- .../ThemeProvider/chameleonLogos/scotland.tsx | 29 +--- .../ThemeProvider/chameleonLogos/serbian.tsx | 17 +- .../ThemeProvider/chameleonLogos/sinhala.tsx | 17 +- .../ThemeProvider/chameleonLogos/somali.tsx | 17 +- .../ThemeProvider/chameleonLogos/sport.tsx | 18 +- .../ThemeProvider/chameleonLogos/swahili.tsx | 17 +- .../ThemeProvider/chameleonLogos/tamil.tsx | 17 +- .../ThemeProvider/chameleonLogos/telugu.tsx | 17 +- .../ThemeProvider/chameleonLogos/thai.tsx | 17 +- .../ThemeProvider/chameleonLogos/tigrinya.tsx | 17 +- .../ThemeProvider/chameleonLogos/turkce.tsx | 20 +-- .../ThemeProvider/chameleonLogos/ukchina.tsx | 17 +- .../chameleonLogos/ukrainian.tsx | 17 +- .../ThemeProvider/chameleonLogos/urdu.tsx | 18 +- .../ThemeProvider/chameleonLogos/uzbek.tsx | 17 +- .../chameleonLogos/vietnamese.tsx | 17 +- .../ThemeProvider/chameleonLogos/weather.tsx | 28 +-- .../ThemeProvider/chameleonLogos/ws.tsx | 18 +- .../ThemeProvider/chameleonLogos/yoruba.tsx | 17 +- .../ThemeProvider/chameleonLogos/zhongwen.tsx | 17 +- .../psammead/psammead-brand/src/index.jsx | 18 +- 96 files changed, 915 insertions(+), 716 deletions(-) create mode 100644 public/afaanoromoo/images/brandLogo.svg create mode 100644 public/afrique/images/brandLogo.svg create mode 100644 public/amharic/images/brandLogo.svg create mode 100644 public/azeri/images/brandLogo.svg create mode 100644 public/bengali/images/brandLogo.svg create mode 100644 public/burmese/images/brandLogo.svg create mode 100644 public/dari/images/brandLogo.svg create mode 100644 public/gahuza/images/brandLogo.svg create mode 100644 public/gujarati/images/brandLogo.svg create mode 100644 public/hausa/images/brandLogo.svg create mode 100644 public/igbo/images/brandLogo.svg create mode 100644 public/indonesia/images/brandLogo.svg create mode 100644 public/japanese/images/brandLogo.svg create mode 100644 public/korean/images/brandLogo.svg create mode 100644 public/kyrgyz/images/brandLogo.svg create mode 100644 public/magyarul/images/brandLogo.svg create mode 100644 public/marathi/images/brandLogo.svg create mode 100644 public/mundo/images/brandLogo.svg create mode 100644 public/nepali/images/brandLogo.svg create mode 100644 public/pashto/images/brandLogo.svg create mode 100644 public/persian/images/brandLogo.svg create mode 100644 public/pidgin/images/brandLogo.svg create mode 100644 public/polska/images/brandLogo.svg create mode 100644 public/portuguese/images/brandLogo.svg create mode 100644 public/punjabi/images/brandLogo.svg create mode 100644 public/romania/images/brandLogo.svg create mode 100644 public/russian/images/brandLogo.svg create mode 100644 public/sinhala/images/brandLogo.svg create mode 100644 public/somali/images/brandLogo.svg create mode 100644 public/swahili/images/brandLogo.svg create mode 100644 public/tamil/images/brandLogo.svg create mode 100644 public/telugu/images/brandLogo.svg create mode 100644 public/thai/images/brandLogo.svg create mode 100644 public/tigrinya/images/brandLogo.svg create mode 100644 public/turkce/images/brandLogo.svg create mode 100644 public/ukrainian/images/brandLogo.svg create mode 100644 public/urdu/images/brandLogo.svg create mode 100644 public/vietnamese/images/brandLogo.svg create mode 100644 public/yoruba/images/brandLogo.svg create mode 100644 scripts/extract-brand-logos.js create mode 100644 scripts/update-brand-logo-imports.js diff --git a/public/afaanoromoo/images/brandLogo.svg b/public/afaanoromoo/images/brandLogo.svg new file mode 100644 index 00000000000..aaf9c09e23c --- /dev/null +++ b/public/afaanoromoo/images/brandLogo.svg @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/public/afrique/images/brandLogo.svg b/public/afrique/images/brandLogo.svg new file mode 100644 index 00000000000..05157f9afaf --- /dev/null +++ b/public/afrique/images/brandLogo.svg @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/public/amharic/images/brandLogo.svg b/public/amharic/images/brandLogo.svg new file mode 100644 index 00000000000..aef96b2c4c9 --- /dev/null +++ b/public/amharic/images/brandLogo.svg @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/public/azeri/images/brandLogo.svg b/public/azeri/images/brandLogo.svg new file mode 100644 index 00000000000..2b19add20d2 --- /dev/null +++ b/public/azeri/images/brandLogo.svg @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/public/bengali/images/brandLogo.svg b/public/bengali/images/brandLogo.svg new file mode 100644 index 00000000000..b9c2b6752a0 --- /dev/null +++ b/public/bengali/images/brandLogo.svg @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/public/burmese/images/brandLogo.svg b/public/burmese/images/brandLogo.svg new file mode 100644 index 00000000000..ca0e4bfff49 --- /dev/null +++ b/public/burmese/images/brandLogo.svg @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file diff --git a/public/dari/images/brandLogo.svg b/public/dari/images/brandLogo.svg new file mode 100644 index 00000000000..0033ebf328b --- /dev/null +++ b/public/dari/images/brandLogo.svg @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/public/gahuza/images/brandLogo.svg b/public/gahuza/images/brandLogo.svg new file mode 100644 index 00000000000..7bdb3c47be4 --- /dev/null +++ b/public/gahuza/images/brandLogo.svg @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/public/gujarati/images/brandLogo.svg b/public/gujarati/images/brandLogo.svg new file mode 100644 index 00000000000..65b1818eb20 --- /dev/null +++ b/public/gujarati/images/brandLogo.svg @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file diff --git a/public/hausa/images/brandLogo.svg b/public/hausa/images/brandLogo.svg new file mode 100644 index 00000000000..42b776976cf --- /dev/null +++ b/public/hausa/images/brandLogo.svg @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/public/igbo/images/brandLogo.svg b/public/igbo/images/brandLogo.svg new file mode 100644 index 00000000000..22f40028e94 --- /dev/null +++ b/public/igbo/images/brandLogo.svg @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/public/indonesia/images/brandLogo.svg b/public/indonesia/images/brandLogo.svg new file mode 100644 index 00000000000..ccbea237c77 --- /dev/null +++ b/public/indonesia/images/brandLogo.svg @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/public/japanese/images/brandLogo.svg b/public/japanese/images/brandLogo.svg new file mode 100644 index 00000000000..90e4e19cad9 --- /dev/null +++ b/public/japanese/images/brandLogo.svg @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/korean/images/brandLogo.svg b/public/korean/images/brandLogo.svg new file mode 100644 index 00000000000..b9e66f3ac2f --- /dev/null +++ b/public/korean/images/brandLogo.svg @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/public/kyrgyz/images/brandLogo.svg b/public/kyrgyz/images/brandLogo.svg new file mode 100644 index 00000000000..dda31f8cb38 --- /dev/null +++ b/public/kyrgyz/images/brandLogo.svg @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/public/magyarul/images/brandLogo.svg b/public/magyarul/images/brandLogo.svg new file mode 100644 index 00000000000..c59346d6db4 --- /dev/null +++ b/public/magyarul/images/brandLogo.svg @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/marathi/images/brandLogo.svg b/public/marathi/images/brandLogo.svg new file mode 100644 index 00000000000..d148f576fa9 --- /dev/null +++ b/public/marathi/images/brandLogo.svg @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/public/mundo/images/brandLogo.svg b/public/mundo/images/brandLogo.svg new file mode 100644 index 00000000000..67441f735f5 --- /dev/null +++ b/public/mundo/images/brandLogo.svg @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/public/nepali/images/brandLogo.svg b/public/nepali/images/brandLogo.svg new file mode 100644 index 00000000000..a14d32c3397 --- /dev/null +++ b/public/nepali/images/brandLogo.svg @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/public/pashto/images/brandLogo.svg b/public/pashto/images/brandLogo.svg new file mode 100644 index 00000000000..ab7359ac9e7 --- /dev/null +++ b/public/pashto/images/brandLogo.svg @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file diff --git a/public/persian/images/brandLogo.svg b/public/persian/images/brandLogo.svg new file mode 100644 index 00000000000..5ed1deb2774 --- /dev/null +++ b/public/persian/images/brandLogo.svg @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/public/pidgin/images/brandLogo.svg b/public/pidgin/images/brandLogo.svg new file mode 100644 index 00000000000..a9b248900f8 --- /dev/null +++ b/public/pidgin/images/brandLogo.svg @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/public/polska/images/brandLogo.svg b/public/polska/images/brandLogo.svg new file mode 100644 index 00000000000..78fb6d3b221 --- /dev/null +++ b/public/polska/images/brandLogo.svg @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/portuguese/images/brandLogo.svg b/public/portuguese/images/brandLogo.svg new file mode 100644 index 00000000000..ee0450d8371 --- /dev/null +++ b/public/portuguese/images/brandLogo.svg @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/public/punjabi/images/brandLogo.svg b/public/punjabi/images/brandLogo.svg new file mode 100644 index 00000000000..53abdfa66de --- /dev/null +++ b/public/punjabi/images/brandLogo.svg @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file diff --git a/public/romania/images/brandLogo.svg b/public/romania/images/brandLogo.svg new file mode 100644 index 00000000000..b846392f9ca --- /dev/null +++ b/public/romania/images/brandLogo.svg @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/russian/images/brandLogo.svg b/public/russian/images/brandLogo.svg new file mode 100644 index 00000000000..c5ea69b3dcb --- /dev/null +++ b/public/russian/images/brandLogo.svg @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/public/sinhala/images/brandLogo.svg b/public/sinhala/images/brandLogo.svg new file mode 100644 index 00000000000..f794bee3ff1 --- /dev/null +++ b/public/sinhala/images/brandLogo.svg @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/public/somali/images/brandLogo.svg b/public/somali/images/brandLogo.svg new file mode 100644 index 00000000000..748ea9fba29 --- /dev/null +++ b/public/somali/images/brandLogo.svg @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/public/swahili/images/brandLogo.svg b/public/swahili/images/brandLogo.svg new file mode 100644 index 00000000000..d87f87ce636 --- /dev/null +++ b/public/swahili/images/brandLogo.svg @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/public/tamil/images/brandLogo.svg b/public/tamil/images/brandLogo.svg new file mode 100644 index 00000000000..944c9e27d26 --- /dev/null +++ b/public/tamil/images/brandLogo.svg @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/public/telugu/images/brandLogo.svg b/public/telugu/images/brandLogo.svg new file mode 100644 index 00000000000..50d5ffd4a01 --- /dev/null +++ b/public/telugu/images/brandLogo.svg @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/public/thai/images/brandLogo.svg b/public/thai/images/brandLogo.svg new file mode 100644 index 00000000000..c5152fd0453 --- /dev/null +++ b/public/thai/images/brandLogo.svg @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/public/tigrinya/images/brandLogo.svg b/public/tigrinya/images/brandLogo.svg new file mode 100644 index 00000000000..71ac48c9cb4 --- /dev/null +++ b/public/tigrinya/images/brandLogo.svg @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/public/turkce/images/brandLogo.svg b/public/turkce/images/brandLogo.svg new file mode 100644 index 00000000000..5cab604dced --- /dev/null +++ b/public/turkce/images/brandLogo.svg @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/public/ukrainian/images/brandLogo.svg b/public/ukrainian/images/brandLogo.svg new file mode 100644 index 00000000000..54e941b5c4b --- /dev/null +++ b/public/ukrainian/images/brandLogo.svg @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/public/urdu/images/brandLogo.svg b/public/urdu/images/brandLogo.svg new file mode 100644 index 00000000000..1715aabad20 --- /dev/null +++ b/public/urdu/images/brandLogo.svg @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file diff --git a/public/vietnamese/images/brandLogo.svg b/public/vietnamese/images/brandLogo.svg new file mode 100644 index 00000000000..b3307ee0eb3 --- /dev/null +++ b/public/vietnamese/images/brandLogo.svg @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/public/yoruba/images/brandLogo.svg b/public/yoruba/images/brandLogo.svg new file mode 100644 index 00000000000..30f46b4035e --- /dev/null +++ b/public/yoruba/images/brandLogo.svg @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/scripts/extract-brand-logos.js b/scripts/extract-brand-logos.js new file mode 100644 index 00000000000..0095e391fa8 --- /dev/null +++ b/scripts/extract-brand-logos.js @@ -0,0 +1,159 @@ +const fs = require('fs'); +const path = require('path'); + +const LOGOS_SOURCE_DIR = path.join(__dirname, '../src/app/components/ThemeProvider/chameleonLogos'); +const PUBLIC_DIR = path.join(__dirname, '../public'); + +/** + * Extract service name from filename (e.g., 'bengali.tsx' -> 'bengali') + */ +const getServiceName = (filename) => filename.replace(/\.(tsx|ts|jsx|js)$/, ''); + +/** + * Parse path elements from JSX group prop + * Extracts all elements from the JSX + */ +const extractPathsFromJSX = (jsxContent) => { + const pathRegex = //g; + const paths = []; + let match; + + while ((match = pathRegex.exec(jsxContent)) !== null) { + paths.push(match[1]); + } + + return paths; +}; + +/** + * Extract viewbox configuration from build call + * Looks for: viewbox: { minY: 145, minX: 690, width: 790, height: 135 } + */ +const extractViewbox = (fileContent) => { + const viewboxRegex = /viewbox:\s*{\s*minY:\s*(\d+),\s*minX:\s*(\d+),\s*width:\s*(\d+),\s*height:\s*(\d+)\s*}/; + const match = fileContent.match(viewboxRegex); + + if (match) { + const minX = parseInt(match[2], 10); + const minY = parseInt(match[1], 10); + const width = parseInt(match[3], 10); + const height = parseInt(match[4], 10); + + return { + minX, + minY, + width, + height, + viewBoxString: `${minX} ${minY} ${width} ${height}`, + }; + } + + return null; +}; + +/** + * Generate a well-formed SVG from extracted paths with white fill + */ +const generateSVG = (paths, viewbox) => { + const pathElements = paths + .map(d => ` `) + .join('\n'); + + return ` + +${pathElements} + +`; +}; + +/** + * Create directory structure if it doesn't exist + */ +const ensureDirectoryExists = (dirPath) => { + if (!fs.existsSync(dirPath)) { + fs.mkdirSync(dirPath, { recursive: true }); + } +}; + +/** + * Process a single logo file + */ +const processLogoFile = (filename) => { + const filePath = path.join(LOGOS_SOURCE_DIR, filename); + const serviceName = getServiceName(filename); + + try { + const fileContent = fs.readFileSync(filePath, 'utf-8'); + + // Extract group JSX content + const groupMatch = fileContent.match(/group:\s*\(\s*<>([^<]*(?:<(?!\/?>)[^<]*)*(?:]*\/>[^<]*)*)<\/>\s*\),/); + if (!groupMatch) { + console.warn(`⚠️ Could not find group prop in ${filename}`); + return; + } + + const groupContent = groupMatch[1]; + const paths = extractPathsFromJSX(groupContent); + + if (paths.length === 0) { + console.warn(`⚠️ No paths found in ${filename}`); + return; + } + + const viewbox = extractViewbox(fileContent); + if (!viewbox) { + console.warn(`⚠️ Could not extract viewbox from ${filename}`); + return; + } + + // Create output directory + const outputDir = path.join(PUBLIC_DIR, serviceName, 'images'); + ensureDirectoryExists(outputDir); + + // Generate and write SVG + const svg = generateSVG(paths, viewbox); + const outputPath = path.join(outputDir, 'brandLogo.svg'); + + fs.writeFileSync(outputPath, svg, 'utf-8'); + + console.log(`✓ Created ${outputPath}`); + console.log(` - Service: ${serviceName}`); + console.log(` - Paths: ${paths.length}`); + console.log(` - ViewBox: ${viewbox.viewBoxString}`); + console.log(` - Fill: white\n`); + } catch (error) { + console.error(`✗ Error processing ${filename}:`, error.message); + } +}; + +/** + * Main function - process all logo files + */ +const main = () => { + try { + if (!fs.existsSync(LOGOS_SOURCE_DIR)) { + console.error(`✗ Logo source directory not found: ${LOGOS_SOURCE_DIR}`); + process.exit(1); + } + + const files = fs.readdirSync(LOGOS_SOURCE_DIR); + const logoFiles = files.filter(file => /\.(tsx|ts|jsx|js)$/.test(file)); + + if (logoFiles.length === 0) { + console.warn('⚠️ No logo files found'); + return; + } + + console.log(`\n🎨 Extracting brand logos with white fill...\n`); + console.log(`Found ${logoFiles.length} logo file(s)\n`); + + logoFiles.forEach(processLogoFile); + + console.log(`✓ Brand logo extraction complete!\n`); + } catch (error) { + console.error('✗ Fatal error:', error.message); + process.exit(1); + } +}; + +main(); \ No newline at end of file diff --git a/scripts/update-brand-logo-imports.js b/scripts/update-brand-logo-imports.js new file mode 100644 index 00000000000..b3c3540608d --- /dev/null +++ b/scripts/update-brand-logo-imports.js @@ -0,0 +1,92 @@ +const fs = require('fs'); +const path = require('path'); + +const LOGOS_DIR = path.join(__dirname, '../src/app/components/ThemeProvider/chameleonLogos'); + +/** + * Extract service name from filename (e.g., 'bengali.tsx' -> 'bengali') + */ +const getServiceName = (filename) => filename.replace(/\.(tsx|ts|jsx|js)$/, ''); + +/** + * Generate new file content with dynamic URL export using env vars + */ +const generateNewContent = (serviceName) => { + return `import { getEnvConfig } from '#app/lib/utilities/getEnvConfig'; + +const { + SIMORGH_PUBLIC_STATIC_ASSETS_ORIGIN, + SIMORGH_PUBLIC_STATIC_ASSETS_PATH, +} = getEnvConfig(); + +export default \`\${SIMORGH_PUBLIC_STATIC_ASSETS_ORIGIN}\${SIMORGH_PUBLIC_STATIC_ASSETS_PATH}/${serviceName}/images/brandLogo.svg\`; +`; +}; + +/** + * Process a single logo file + */ +const processLogoFile = (filename) => { + // Skip index files + if (filename === 'index.tsx' || filename === 'index.test.ts') { + console.log(`⊘ Skipped ${filename} (index file)\n`); + return; + } + + const filePath = path.join(LOGOS_DIR, filename); + const serviceName = getServiceName(filename); + + try { + // Read existing file to confirm it exists and is readable + const existingContent = fs.readFileSync(filePath, 'utf-8'); + + if (!existingContent) { + console.warn(`⚠️ File is empty: ${filename}`); + return; + } + + // Generate new content + const newContent = generateNewContent(serviceName); + + // Write new content + fs.writeFileSync(filePath, newContent, 'utf-8'); + + console.log(`✓ Updated ${filename}`); + console.log(` - Service: ${serviceName}`); + console.log(` - Content includes dynamic URL from env vars\n`); + } catch (error) { + console.error(`✗ Error processing ${filename}:`, error.message); + } +}; + +/** + * Main function - process all logo files + */ +const main = () => { + try { + if (!fs.existsSync(LOGOS_DIR)) { + console.error(`✗ Logo directory not found: ${LOGOS_DIR}`); + process.exit(1); + } + + const files = fs.readdirSync(LOGOS_DIR); + const logoFiles = files.filter(file => /\.(tsx|ts|jsx|js)$/.test(file)); + + if (logoFiles.length === 0) { + console.warn('⚠️ No logo files found'); + return; + } + + console.log(`\n🔄 Updating brand logo imports with dynamic env vars...\n`); + console.log(`Found ${logoFiles.length} file(s) in ${LOGOS_DIR}\n`); + + logoFiles.forEach(processLogoFile); + + console.log(`✓ Brand logo imports updated with dynamic URLs!\n`); + } catch (error) { + console.error('✗ Fatal error:', error.message); + process.exit(1); + } +}; + +main(); \ No newline at end of file diff --git a/src/app/components/ThemeProvider/chameleonLogos/afaanoromoo.tsx b/src/app/components/ThemeProvider/chameleonLogos/afaanoromoo.tsx index 63b0369a39f..548a5a4d285 100644 --- a/src/app/components/ThemeProvider/chameleonLogos/afaanoromoo.tsx +++ b/src/app/components/ThemeProvider/chameleonLogos/afaanoromoo.tsx @@ -1,11 +1,8 @@ -import build from '.'; +import { getEnvConfig } from '#app/lib/utilities/getEnvConfig'; -export default build({ - group: ( - <> - - - - ), - viewbox: { minY: 145, minX: 690, width: 1420, height: 135 }, -}); +const { + SIMORGH_PUBLIC_STATIC_ASSETS_ORIGIN, + SIMORGH_PUBLIC_STATIC_ASSETS_PATH, +} = getEnvConfig(); + +export default `${SIMORGH_PUBLIC_STATIC_ASSETS_ORIGIN}${SIMORGH_PUBLIC_STATIC_ASSETS_PATH}/afaanoromoo/images/brandLogo.svg`; diff --git a/src/app/components/ThemeProvider/chameleonLogos/afrique.tsx b/src/app/components/ThemeProvider/chameleonLogos/afrique.tsx index 2b415b325f7..99878874883 100644 --- a/src/app/components/ThemeProvider/chameleonLogos/afrique.tsx +++ b/src/app/components/ThemeProvider/chameleonLogos/afrique.tsx @@ -1,11 +1,8 @@ -import build from '.'; +import { getEnvConfig } from '#app/lib/utilities/getEnvConfig'; -export default build({ - group: ( - <> - - - - ), - viewbox: { minY: 145, minX: 690, width: 970, height: 135 }, -}); +const { + SIMORGH_PUBLIC_STATIC_ASSETS_ORIGIN, + SIMORGH_PUBLIC_STATIC_ASSETS_PATH, +} = getEnvConfig(); + +export default `${SIMORGH_PUBLIC_STATIC_ASSETS_ORIGIN}${SIMORGH_PUBLIC_STATIC_ASSETS_PATH}/afrique/images/brandLogo.svg`; diff --git a/src/app/components/ThemeProvider/chameleonLogos/amharic.tsx b/src/app/components/ThemeProvider/chameleonLogos/amharic.tsx index 48532e38fbf..69c185b09d7 100644 --- a/src/app/components/ThemeProvider/chameleonLogos/amharic.tsx +++ b/src/app/components/ThemeProvider/chameleonLogos/amharic.tsx @@ -1,11 +1,8 @@ -import build from '.'; +import { getEnvConfig } from '#app/lib/utilities/getEnvConfig'; -export default build({ - group: ( - <> - - - - ), - viewbox: { minY: 145, minX: 690, width: 750, height: 135 }, -}); +const { + SIMORGH_PUBLIC_STATIC_ASSETS_ORIGIN, + SIMORGH_PUBLIC_STATIC_ASSETS_PATH, +} = getEnvConfig(); + +export default `${SIMORGH_PUBLIC_STATIC_ASSETS_ORIGIN}${SIMORGH_PUBLIC_STATIC_ASSETS_PATH}/amharic/images/brandLogo.svg`; diff --git a/src/app/components/ThemeProvider/chameleonLogos/arabic.tsx b/src/app/components/ThemeProvider/chameleonLogos/arabic.tsx index 889a5cc8a4f..c24dde78011 100644 --- a/src/app/components/ThemeProvider/chameleonLogos/arabic.tsx +++ b/src/app/components/ThemeProvider/chameleonLogos/arabic.tsx @@ -1,17 +1,8 @@ -import build from '.'; +import { getEnvConfig } from '#app/lib/utilities/getEnvConfig'; -export default build({ - width: 1536, - height: 425, - group: ( - <> - - - - - - - - ), - viewbox: { minY: -12, minX: -5, width: 704, height: 135 }, -}); +const { + SIMORGH_PUBLIC_STATIC_ASSETS_ORIGIN, + SIMORGH_PUBLIC_STATIC_ASSETS_PATH, +} = getEnvConfig(); + +export default `${SIMORGH_PUBLIC_STATIC_ASSETS_ORIGIN}${SIMORGH_PUBLIC_STATIC_ASSETS_PATH}/arabic/images/brandLogo.svg`; diff --git a/src/app/components/ThemeProvider/chameleonLogos/archive.tsx b/src/app/components/ThemeProvider/chameleonLogos/archive.tsx index 8026902b630..6616e32e94f 100644 --- a/src/app/components/ThemeProvider/chameleonLogos/archive.tsx +++ b/src/app/components/ThemeProvider/chameleonLogos/archive.tsx @@ -1,29 +1,8 @@ -import build from '.'; +import { getEnvConfig } from '#app/lib/utilities/getEnvConfig'; -const height = 24.34; -const width = 206.487; +const { + SIMORGH_PUBLIC_STATIC_ASSETS_ORIGIN, + SIMORGH_PUBLIC_STATIC_ASSETS_PATH, +} = getEnvConfig(); -export default build({ - height, - width, - group: ( - - - - - - - ), - viewbox: { - height, - width, - }, -}); +export default `${SIMORGH_PUBLIC_STATIC_ASSETS_ORIGIN}${SIMORGH_PUBLIC_STATIC_ASSETS_PATH}/archive/images/brandLogo.svg`; diff --git a/src/app/components/ThemeProvider/chameleonLogos/azeri.tsx b/src/app/components/ThemeProvider/chameleonLogos/azeri.tsx index 09d61a0e1e7..88a68d7ce61 100644 --- a/src/app/components/ThemeProvider/chameleonLogos/azeri.tsx +++ b/src/app/components/ThemeProvider/chameleonLogos/azeri.tsx @@ -1,11 +1,8 @@ -import build from '.'; +import { getEnvConfig } from '#app/lib/utilities/getEnvConfig'; -export default build({ - group: ( - <> - - - - ), - viewbox: { minY: 145, minX: 690, width: 1410, height: 135 }, -}); +const { + SIMORGH_PUBLIC_STATIC_ASSETS_ORIGIN, + SIMORGH_PUBLIC_STATIC_ASSETS_PATH, +} = getEnvConfig(); + +export default `${SIMORGH_PUBLIC_STATIC_ASSETS_ORIGIN}${SIMORGH_PUBLIC_STATIC_ASSETS_PATH}/azeri/images/brandLogo.svg`; diff --git a/src/app/components/ThemeProvider/chameleonLogos/bengali.tsx b/src/app/components/ThemeProvider/chameleonLogos/bengali.tsx index 4b8196c67d3..c9e6c9d15a9 100644 --- a/src/app/components/ThemeProvider/chameleonLogos/bengali.tsx +++ b/src/app/components/ThemeProvider/chameleonLogos/bengali.tsx @@ -1,11 +1,8 @@ -import build from '.'; +import { getEnvConfig } from '#app/lib/utilities/getEnvConfig'; -export default build({ - group: ( - <> - - - - ), - viewbox: { minY: 145, minX: 690, width: 790, height: 135 }, -}); +const { + SIMORGH_PUBLIC_STATIC_ASSETS_ORIGIN, + SIMORGH_PUBLIC_STATIC_ASSETS_PATH, +} = getEnvConfig(); + +export default `${SIMORGH_PUBLIC_STATIC_ASSETS_ORIGIN}${SIMORGH_PUBLIC_STATIC_ASSETS_PATH}/bengali/images/brandLogo.svg`; diff --git a/src/app/components/ThemeProvider/chameleonLogos/burmese.tsx b/src/app/components/ThemeProvider/chameleonLogos/burmese.tsx index b125ec60787..37f2584f41b 100644 --- a/src/app/components/ThemeProvider/chameleonLogos/burmese.tsx +++ b/src/app/components/ThemeProvider/chameleonLogos/burmese.tsx @@ -1,12 +1,8 @@ -import build from '.'; +import { getEnvConfig } from '#app/lib/utilities/getEnvConfig'; -export default build({ - group: ( - <> - - - - - ), - viewbox: { minY: 145, minX: 690, width: 720, height: 135 }, -}); +const { + SIMORGH_PUBLIC_STATIC_ASSETS_ORIGIN, + SIMORGH_PUBLIC_STATIC_ASSETS_PATH, +} = getEnvConfig(); + +export default `${SIMORGH_PUBLIC_STATIC_ASSETS_ORIGIN}${SIMORGH_PUBLIC_STATIC_ASSETS_PATH}/burmese/images/brandLogo.svg`; diff --git a/src/app/components/ThemeProvider/chameleonLogos/cymrufyw.tsx b/src/app/components/ThemeProvider/chameleonLogos/cymrufyw.tsx index 557a4033ae7..ab9ccd2258c 100644 --- a/src/app/components/ThemeProvider/chameleonLogos/cymrufyw.tsx +++ b/src/app/components/ThemeProvider/chameleonLogos/cymrufyw.tsx @@ -1,25 +1,8 @@ -import build from '.'; +import { getEnvConfig } from '#app/lib/utilities/getEnvConfig'; -const height = 24.018; -const width = 198.515; +const { + SIMORGH_PUBLIC_STATIC_ASSETS_ORIGIN, + SIMORGH_PUBLIC_STATIC_ASSETS_PATH, +} = getEnvConfig(); -export default build({ - width, - height, - group: ( - - - - - - ), - viewbox: { - height, - width, - }, -}); +export default `${SIMORGH_PUBLIC_STATIC_ASSETS_ORIGIN}${SIMORGH_PUBLIC_STATIC_ASSETS_PATH}/cymrufyw/images/brandLogo.svg`; diff --git a/src/app/components/ThemeProvider/chameleonLogos/dari.tsx b/src/app/components/ThemeProvider/chameleonLogos/dari.tsx index 663c703c027..fe731a8fd6a 100644 --- a/src/app/components/ThemeProvider/chameleonLogos/dari.tsx +++ b/src/app/components/ThemeProvider/chameleonLogos/dari.tsx @@ -1,16 +1,8 @@ -import build from '.'; +import { getEnvConfig } from '#app/lib/utilities/getEnvConfig'; -export default build({ - group: ( - <> - - - - - - - - - ), - viewbox: { minY: 100, minX: 105, width: 675, height: 135 }, -}); +const { + SIMORGH_PUBLIC_STATIC_ASSETS_ORIGIN, + SIMORGH_PUBLIC_STATIC_ASSETS_PATH, +} = getEnvConfig(); + +export default `${SIMORGH_PUBLIC_STATIC_ASSETS_ORIGIN}${SIMORGH_PUBLIC_STATIC_ASSETS_PATH}/dari/images/brandLogo.svg`; diff --git a/src/app/components/ThemeProvider/chameleonLogos/gahuza.tsx b/src/app/components/ThemeProvider/chameleonLogos/gahuza.tsx index 8d08c96c013..c7141f5e0bc 100644 --- a/src/app/components/ThemeProvider/chameleonLogos/gahuza.tsx +++ b/src/app/components/ThemeProvider/chameleonLogos/gahuza.tsx @@ -1,11 +1,8 @@ -import build from '.'; +import { getEnvConfig } from '#app/lib/utilities/getEnvConfig'; -export default build({ - group: ( - <> - - - - ), - viewbox: { minY: 145, minX: 690, width: 970, height: 135 }, -}); +const { + SIMORGH_PUBLIC_STATIC_ASSETS_ORIGIN, + SIMORGH_PUBLIC_STATIC_ASSETS_PATH, +} = getEnvConfig(); + +export default `${SIMORGH_PUBLIC_STATIC_ASSETS_ORIGIN}${SIMORGH_PUBLIC_STATIC_ASSETS_PATH}/gahuza/images/brandLogo.svg`; diff --git a/src/app/components/ThemeProvider/chameleonLogos/gujarati.tsx b/src/app/components/ThemeProvider/chameleonLogos/gujarati.tsx index 4f06c7338a5..ef049eb1e19 100644 --- a/src/app/components/ThemeProvider/chameleonLogos/gujarati.tsx +++ b/src/app/components/ThemeProvider/chameleonLogos/gujarati.tsx @@ -1,12 +1,8 @@ -import build from '.'; +import { getEnvConfig } from '#app/lib/utilities/getEnvConfig'; -export default build({ - group: ( - <> - - - - - ), - viewbox: { minY: 140, minX: 690, width: 825, height: 145 }, -}); +const { + SIMORGH_PUBLIC_STATIC_ASSETS_ORIGIN, + SIMORGH_PUBLIC_STATIC_ASSETS_PATH, +} = getEnvConfig(); + +export default `${SIMORGH_PUBLIC_STATIC_ASSETS_ORIGIN}${SIMORGH_PUBLIC_STATIC_ASSETS_PATH}/gujarati/images/brandLogo.svg`; diff --git a/src/app/components/ThemeProvider/chameleonLogos/hausa.tsx b/src/app/components/ThemeProvider/chameleonLogos/hausa.tsx index 9d851b17b3a..64c501da559 100644 --- a/src/app/components/ThemeProvider/chameleonLogos/hausa.tsx +++ b/src/app/components/ThemeProvider/chameleonLogos/hausa.tsx @@ -1,11 +1,8 @@ -import build from '.'; +import { getEnvConfig } from '#app/lib/utilities/getEnvConfig'; -export default build({ - group: ( - <> - - - - ), - viewbox: { minY: 145, minX: 690, width: 875, height: 135 }, -}); +const { + SIMORGH_PUBLIC_STATIC_ASSETS_ORIGIN, + SIMORGH_PUBLIC_STATIC_ASSETS_PATH, +} = getEnvConfig(); + +export default `${SIMORGH_PUBLIC_STATIC_ASSETS_ORIGIN}${SIMORGH_PUBLIC_STATIC_ASSETS_PATH}/hausa/images/brandLogo.svg`; diff --git a/src/app/components/ThemeProvider/chameleonLogos/hindi.tsx b/src/app/components/ThemeProvider/chameleonLogos/hindi.tsx index ba8a407ef9b..5e937766f73 100644 --- a/src/app/components/ThemeProvider/chameleonLogos/hindi.tsx +++ b/src/app/components/ThemeProvider/chameleonLogos/hindi.tsx @@ -1,9 +1,8 @@ -import build from '.'; +import { getEnvConfig } from '#app/lib/utilities/getEnvConfig'; -export default build({ - width: 1538, - height: 425, - group: ( - - ), -}); +const { + SIMORGH_PUBLIC_STATIC_ASSETS_ORIGIN, + SIMORGH_PUBLIC_STATIC_ASSETS_PATH, +} = getEnvConfig(); + +export default `${SIMORGH_PUBLIC_STATIC_ASSETS_ORIGIN}${SIMORGH_PUBLIC_STATIC_ASSETS_PATH}/hindi/images/brandLogo.svg`; diff --git a/src/app/components/ThemeProvider/chameleonLogos/igbo.tsx b/src/app/components/ThemeProvider/chameleonLogos/igbo.tsx index 2a8140f9eed..53a189c5496 100644 --- a/src/app/components/ThemeProvider/chameleonLogos/igbo.tsx +++ b/src/app/components/ThemeProvider/chameleonLogos/igbo.tsx @@ -1,11 +1,8 @@ -import build from '.'; +import { getEnvConfig } from '#app/lib/utilities/getEnvConfig'; -export default build({ - group: ( - <> - - - - ), - viewbox: { minY: 145, minX: 690, width: 755, height: 135 }, -}); +const { + SIMORGH_PUBLIC_STATIC_ASSETS_ORIGIN, + SIMORGH_PUBLIC_STATIC_ASSETS_PATH, +} = getEnvConfig(); + +export default `${SIMORGH_PUBLIC_STATIC_ASSETS_ORIGIN}${SIMORGH_PUBLIC_STATIC_ASSETS_PATH}/igbo/images/brandLogo.svg`; diff --git a/src/app/components/ThemeProvider/chameleonLogos/indonesia.tsx b/src/app/components/ThemeProvider/chameleonLogos/indonesia.tsx index 87731219074..159cb28638a 100644 --- a/src/app/components/ThemeProvider/chameleonLogos/indonesia.tsx +++ b/src/app/components/ThemeProvider/chameleonLogos/indonesia.tsx @@ -1,11 +1,8 @@ -import build from '.'; +import { getEnvConfig } from '#app/lib/utilities/getEnvConfig'; -export default build({ - group: ( - <> - - - - ), - viewbox: { minY: 145, minX: 690, width: 1100, height: 135 }, -}); +const { + SIMORGH_PUBLIC_STATIC_ASSETS_ORIGIN, + SIMORGH_PUBLIC_STATIC_ASSETS_PATH, +} = getEnvConfig(); + +export default `${SIMORGH_PUBLIC_STATIC_ASSETS_ORIGIN}${SIMORGH_PUBLIC_STATIC_ASSETS_PATH}/indonesia/images/brandLogo.svg`; diff --git a/src/app/components/ThemeProvider/chameleonLogos/japanese.tsx b/src/app/components/ThemeProvider/chameleonLogos/japanese.tsx index b9dd9f32dd1..32112e26ccd 100644 --- a/src/app/components/ThemeProvider/chameleonLogos/japanese.tsx +++ b/src/app/components/ThemeProvider/chameleonLogos/japanese.tsx @@ -1,18 +1,8 @@ -import build from '.'; +import { getEnvConfig } from '#app/lib/utilities/getEnvConfig'; -export default build({ - group: ( - <> - - - - - - - - - - - ), - viewbox: { minY: 145, minX: 690, width: 830, height: 135 }, -}); +const { + SIMORGH_PUBLIC_STATIC_ASSETS_ORIGIN, + SIMORGH_PUBLIC_STATIC_ASSETS_PATH, +} = getEnvConfig(); + +export default `${SIMORGH_PUBLIC_STATIC_ASSETS_ORIGIN}${SIMORGH_PUBLIC_STATIC_ASSETS_PATH}/japanese/images/brandLogo.svg`; diff --git a/src/app/components/ThemeProvider/chameleonLogos/korean.tsx b/src/app/components/ThemeProvider/chameleonLogos/korean.tsx index be2a23bf7a7..b17a70c77f5 100644 --- a/src/app/components/ThemeProvider/chameleonLogos/korean.tsx +++ b/src/app/components/ThemeProvider/chameleonLogos/korean.tsx @@ -1,16 +1,8 @@ -import build from '.'; +import { getEnvConfig } from '#app/lib/utilities/getEnvConfig'; -export default build({ - group: ( - <> - - - - - - - - - ), - viewbox: { minY: 145, minX: 690, width: 815, height: 135 }, -}); +const { + SIMORGH_PUBLIC_STATIC_ASSETS_ORIGIN, + SIMORGH_PUBLIC_STATIC_ASSETS_PATH, +} = getEnvConfig(); + +export default `${SIMORGH_PUBLIC_STATIC_ASSETS_ORIGIN}${SIMORGH_PUBLIC_STATIC_ASSETS_PATH}/korean/images/brandLogo.svg`; diff --git a/src/app/components/ThemeProvider/chameleonLogos/kyrgyz.tsx b/src/app/components/ThemeProvider/chameleonLogos/kyrgyz.tsx index b3e1489859c..7ba33cc8d8b 100644 --- a/src/app/components/ThemeProvider/chameleonLogos/kyrgyz.tsx +++ b/src/app/components/ThemeProvider/chameleonLogos/kyrgyz.tsx @@ -1,11 +1,8 @@ -import build from '.'; +import { getEnvConfig } from '#app/lib/utilities/getEnvConfig'; -export default build({ - group: ( - <> - - - - ), - viewbox: { minY: 145, minX: 690, width: 1550, height: 135 }, -}); +const { + SIMORGH_PUBLIC_STATIC_ASSETS_ORIGIN, + SIMORGH_PUBLIC_STATIC_ASSETS_PATH, +} = getEnvConfig(); + +export default `${SIMORGH_PUBLIC_STATIC_ASSETS_ORIGIN}${SIMORGH_PUBLIC_STATIC_ASSETS_PATH}/kyrgyz/images/brandLogo.svg`; diff --git a/src/app/components/ThemeProvider/chameleonLogos/magyarul.tsx b/src/app/components/ThemeProvider/chameleonLogos/magyarul.tsx index 459011bc000..9680d3376f2 100644 --- a/src/app/components/ThemeProvider/chameleonLogos/magyarul.tsx +++ b/src/app/components/ThemeProvider/chameleonLogos/magyarul.tsx @@ -1,21 +1,8 @@ -import build from '.'; +import { getEnvConfig } from '#app/lib/utilities/getEnvConfig'; -export default build({ - group: ( - <> - - - - - - - - - - - - - - ), - viewbox: { minY: 145, minX: 140, width: 1095, height: 135 }, -}); +const { + SIMORGH_PUBLIC_STATIC_ASSETS_ORIGIN, + SIMORGH_PUBLIC_STATIC_ASSETS_PATH, +} = getEnvConfig(); + +export default `${SIMORGH_PUBLIC_STATIC_ASSETS_ORIGIN}${SIMORGH_PUBLIC_STATIC_ASSETS_PATH}/magyarul/images/brandLogo.svg`; diff --git a/src/app/components/ThemeProvider/chameleonLogos/marathi.tsx b/src/app/components/ThemeProvider/chameleonLogos/marathi.tsx index 4e2a021b0c1..df1521b8017 100644 --- a/src/app/components/ThemeProvider/chameleonLogos/marathi.tsx +++ b/src/app/components/ThemeProvider/chameleonLogos/marathi.tsx @@ -1,11 +1,8 @@ -import build from '.'; +import { getEnvConfig } from '#app/lib/utilities/getEnvConfig'; -export default build({ - group: ( - <> - - - - ), - viewbox: { minY: 145, minX: 690, width: 745, height: 135 }, -}); +const { + SIMORGH_PUBLIC_STATIC_ASSETS_ORIGIN, + SIMORGH_PUBLIC_STATIC_ASSETS_PATH, +} = getEnvConfig(); + +export default `${SIMORGH_PUBLIC_STATIC_ASSETS_ORIGIN}${SIMORGH_PUBLIC_STATIC_ASSETS_PATH}/marathi/images/brandLogo.svg`; diff --git a/src/app/components/ThemeProvider/chameleonLogos/mundo.tsx b/src/app/components/ThemeProvider/chameleonLogos/mundo.tsx index 83ed891cbe8..b463e68c746 100644 --- a/src/app/components/ThemeProvider/chameleonLogos/mundo.tsx +++ b/src/app/components/ThemeProvider/chameleonLogos/mundo.tsx @@ -1,11 +1,8 @@ -import build from '.'; +import { getEnvConfig } from '#app/lib/utilities/getEnvConfig'; -export default build({ - group: ( - <> - - - - ), - viewbox: { minY: 95, minX: 105, width: 910, height: 135 }, -}); +const { + SIMORGH_PUBLIC_STATIC_ASSETS_ORIGIN, + SIMORGH_PUBLIC_STATIC_ASSETS_PATH, +} = getEnvConfig(); + +export default `${SIMORGH_PUBLIC_STATIC_ASSETS_ORIGIN}${SIMORGH_PUBLIC_STATIC_ASSETS_PATH}/mundo/images/brandLogo.svg`; diff --git a/src/app/components/ThemeProvider/chameleonLogos/naidheachdan.tsx b/src/app/components/ThemeProvider/chameleonLogos/naidheachdan.tsx index e2ffbf5dab9..81875d3c384 100644 --- a/src/app/components/ThemeProvider/chameleonLogos/naidheachdan.tsx +++ b/src/app/components/ThemeProvider/chameleonLogos/naidheachdan.tsx @@ -1,25 +1,8 @@ -import build from '.'; +import { getEnvConfig } from '#app/lib/utilities/getEnvConfig'; -const height = 22.465; -const width = 269.0145; +const { + SIMORGH_PUBLIC_STATIC_ASSETS_ORIGIN, + SIMORGH_PUBLIC_STATIC_ASSETS_PATH, +} = getEnvConfig(); -export default build({ - height, - width, - group: ( - - - - - - ), - viewbox: { - height, - width, - }, -}); +export default `${SIMORGH_PUBLIC_STATIC_ASSETS_ORIGIN}${SIMORGH_PUBLIC_STATIC_ASSETS_PATH}/naidheachdan/images/brandLogo.svg`; diff --git a/src/app/components/ThemeProvider/chameleonLogos/nepali.tsx b/src/app/components/ThemeProvider/chameleonLogos/nepali.tsx index fa59e461c18..28ec26d27fd 100644 --- a/src/app/components/ThemeProvider/chameleonLogos/nepali.tsx +++ b/src/app/components/ThemeProvider/chameleonLogos/nepali.tsx @@ -1,11 +1,8 @@ -import build from '.'; +import { getEnvConfig } from '#app/lib/utilities/getEnvConfig'; -export default build({ - group: ( - <> - - - - ), - viewbox: { minY: 145, minX: 690, width: 770, height: 135 }, -}); +const { + SIMORGH_PUBLIC_STATIC_ASSETS_ORIGIN, + SIMORGH_PUBLIC_STATIC_ASSETS_PATH, +} = getEnvConfig(); + +export default `${SIMORGH_PUBLIC_STATIC_ASSETS_ORIGIN}${SIMORGH_PUBLIC_STATIC_ASSETS_PATH}/nepali/images/brandLogo.svg`; diff --git a/src/app/components/ThemeProvider/chameleonLogos/news.tsx b/src/app/components/ThemeProvider/chameleonLogos/news.tsx index ef36fc6b24e..ae13ac9861d 100644 --- a/src/app/components/ThemeProvider/chameleonLogos/news.tsx +++ b/src/app/components/ThemeProvider/chameleonLogos/news.tsx @@ -1,8 +1,8 @@ -import build from '.'; +import { getEnvConfig } from '#app/lib/utilities/getEnvConfig'; -export default build({ - viewbox: { minY: 0, minX: 0, width: 980, height: 142 }, - group: ( - - ), -}); +const { + SIMORGH_PUBLIC_STATIC_ASSETS_ORIGIN, + SIMORGH_PUBLIC_STATIC_ASSETS_PATH, +} = getEnvConfig(); + +export default `${SIMORGH_PUBLIC_STATIC_ASSETS_ORIGIN}${SIMORGH_PUBLIC_STATIC_ASSETS_PATH}/news/images/brandLogo.svg`; diff --git a/src/app/components/ThemeProvider/chameleonLogos/newsround.tsx b/src/app/components/ThemeProvider/chameleonLogos/newsround.tsx index 390f6afdb3a..b3cc06cb892 100644 --- a/src/app/components/ThemeProvider/chameleonLogos/newsround.tsx +++ b/src/app/components/ThemeProvider/chameleonLogos/newsround.tsx @@ -1,52 +1,8 @@ -const height = 24.34; -const width = 133.34; -const newsround = { - group: ( - - - - - - - - - - - - - ), - ratio: width / height, - viewbox: { - height, - width, - }, -}; +import { getEnvConfig } from '#app/lib/utilities/getEnvConfig'; -export default newsround; +const { + SIMORGH_PUBLIC_STATIC_ASSETS_ORIGIN, + SIMORGH_PUBLIC_STATIC_ASSETS_PATH, +} = getEnvConfig(); + +export default `${SIMORGH_PUBLIC_STATIC_ASSETS_ORIGIN}${SIMORGH_PUBLIC_STATIC_ASSETS_PATH}/newsround/images/brandLogo.svg`; diff --git a/src/app/components/ThemeProvider/chameleonLogos/pashto.tsx b/src/app/components/ThemeProvider/chameleonLogos/pashto.tsx index 6cd829ac3aa..14db24f81c3 100644 --- a/src/app/components/ThemeProvider/chameleonLogos/pashto.tsx +++ b/src/app/components/ThemeProvider/chameleonLogos/pashto.tsx @@ -1,12 +1,8 @@ -import build from '.'; +import { getEnvConfig } from '#app/lib/utilities/getEnvConfig'; -export default build({ - group: ( - <> - - - - - ), - viewbox: { minY: 145, minX: 690, width: 740, height: 135 }, -}); +const { + SIMORGH_PUBLIC_STATIC_ASSETS_ORIGIN, + SIMORGH_PUBLIC_STATIC_ASSETS_PATH, +} = getEnvConfig(); + +export default `${SIMORGH_PUBLIC_STATIC_ASSETS_ORIGIN}${SIMORGH_PUBLIC_STATIC_ASSETS_PATH}/pashto/images/brandLogo.svg`; diff --git a/src/app/components/ThemeProvider/chameleonLogos/persian.tsx b/src/app/components/ThemeProvider/chameleonLogos/persian.tsx index 6217785df89..c6be2e90514 100644 --- a/src/app/components/ThemeProvider/chameleonLogos/persian.tsx +++ b/src/app/components/ThemeProvider/chameleonLogos/persian.tsx @@ -1,11 +1,8 @@ -import build from '.'; +import { getEnvConfig } from '#app/lib/utilities/getEnvConfig'; -export default build({ - group: ( - <> - - - - ), - viewbox: { minY: 142, minX: 690, width: 785, height: 150 }, -}); +const { + SIMORGH_PUBLIC_STATIC_ASSETS_ORIGIN, + SIMORGH_PUBLIC_STATIC_ASSETS_PATH, +} = getEnvConfig(); + +export default `${SIMORGH_PUBLIC_STATIC_ASSETS_ORIGIN}${SIMORGH_PUBLIC_STATIC_ASSETS_PATH}/persian/images/brandLogo.svg`; diff --git a/src/app/components/ThemeProvider/chameleonLogos/pidgin.tsx b/src/app/components/ThemeProvider/chameleonLogos/pidgin.tsx index 2ad1d536593..f929bd68f77 100644 --- a/src/app/components/ThemeProvider/chameleonLogos/pidgin.tsx +++ b/src/app/components/ThemeProvider/chameleonLogos/pidgin.tsx @@ -1,11 +1,8 @@ -import build from '.'; +import { getEnvConfig } from '#app/lib/utilities/getEnvConfig'; -export default build({ - group: ( - <> - - - - ), - viewbox: { minY: 145, minX: 690, width: 850, height: 135 }, -}); +const { + SIMORGH_PUBLIC_STATIC_ASSETS_ORIGIN, + SIMORGH_PUBLIC_STATIC_ASSETS_PATH, +} = getEnvConfig(); + +export default `${SIMORGH_PUBLIC_STATIC_ASSETS_ORIGIN}${SIMORGH_PUBLIC_STATIC_ASSETS_PATH}/pidgin/images/brandLogo.svg`; diff --git a/src/app/components/ThemeProvider/chameleonLogos/polska.tsx b/src/app/components/ThemeProvider/chameleonLogos/polska.tsx index 1ea87ef724b..2aa78fd1174 100644 --- a/src/app/components/ThemeProvider/chameleonLogos/polska.tsx +++ b/src/app/components/ThemeProvider/chameleonLogos/polska.tsx @@ -1,19 +1,8 @@ -import build from '.'; +import { getEnvConfig } from '#app/lib/utilities/getEnvConfig'; -export default build({ - group: ( - <> - - - - - - - - - - - - ), - viewbox: { minY: 145, minX: 660, width: 930, height: 135 }, -}); +const { + SIMORGH_PUBLIC_STATIC_ASSETS_ORIGIN, + SIMORGH_PUBLIC_STATIC_ASSETS_PATH, +} = getEnvConfig(); + +export default `${SIMORGH_PUBLIC_STATIC_ASSETS_ORIGIN}${SIMORGH_PUBLIC_STATIC_ASSETS_PATH}/polska/images/brandLogo.svg`; diff --git a/src/app/components/ThemeProvider/chameleonLogos/portuguese.tsx b/src/app/components/ThemeProvider/chameleonLogos/portuguese.tsx index fed4b033f7e..638ceaf0b6c 100644 --- a/src/app/components/ThemeProvider/chameleonLogos/portuguese.tsx +++ b/src/app/components/ThemeProvider/chameleonLogos/portuguese.tsx @@ -1,11 +1,8 @@ -import build from '.'; +import { getEnvConfig } from '#app/lib/utilities/getEnvConfig'; -export default build({ - group: ( - <> - - - - ), - viewbox: { minY: 145, minX: 690, width: 870, height: 135 }, -}); +const { + SIMORGH_PUBLIC_STATIC_ASSETS_ORIGIN, + SIMORGH_PUBLIC_STATIC_ASSETS_PATH, +} = getEnvConfig(); + +export default `${SIMORGH_PUBLIC_STATIC_ASSETS_ORIGIN}${SIMORGH_PUBLIC_STATIC_ASSETS_PATH}/portuguese/images/brandLogo.svg`; diff --git a/src/app/components/ThemeProvider/chameleonLogos/punjabi.tsx b/src/app/components/ThemeProvider/chameleonLogos/punjabi.tsx index 8568a2b36d7..fc1aaeddd29 100644 --- a/src/app/components/ThemeProvider/chameleonLogos/punjabi.tsx +++ b/src/app/components/ThemeProvider/chameleonLogos/punjabi.tsx @@ -1,12 +1,8 @@ -import build from '.'; +import { getEnvConfig } from '#app/lib/utilities/getEnvConfig'; -export default build({ - group: ( - <> - - - - - ), - viewbox: { minY: 145, minX: 690, width: 770, height: 135 }, -}); +const { + SIMORGH_PUBLIC_STATIC_ASSETS_ORIGIN, + SIMORGH_PUBLIC_STATIC_ASSETS_PATH, +} = getEnvConfig(); + +export default `${SIMORGH_PUBLIC_STATIC_ASSETS_ORIGIN}${SIMORGH_PUBLIC_STATIC_ASSETS_PATH}/punjabi/images/brandLogo.svg`; diff --git a/src/app/components/ThemeProvider/chameleonLogos/romania.tsx b/src/app/components/ThemeProvider/chameleonLogos/romania.tsx index 2bd248faf53..7e068384fec 100644 --- a/src/app/components/ThemeProvider/chameleonLogos/romania.tsx +++ b/src/app/components/ThemeProvider/chameleonLogos/romania.tsx @@ -1,21 +1,8 @@ -import build from '.'; +import { getEnvConfig } from '#app/lib/utilities/getEnvConfig'; -export default build({ - group: ( - <> - - - - +const { + SIMORGH_PUBLIC_STATIC_ASSETS_ORIGIN, + SIMORGH_PUBLIC_STATIC_ASSETS_PATH, +} = getEnvConfig(); - - - - - - - - - ), - viewbox: { minY: 0, minX: 155, width: 290, height: 40 }, -}); +export default `${SIMORGH_PUBLIC_STATIC_ASSETS_ORIGIN}${SIMORGH_PUBLIC_STATIC_ASSETS_PATH}/romania/images/brandLogo.svg`; diff --git a/src/app/components/ThemeProvider/chameleonLogos/russian.tsx b/src/app/components/ThemeProvider/chameleonLogos/russian.tsx index 140e5b46c17..f4460b06601 100644 --- a/src/app/components/ThemeProvider/chameleonLogos/russian.tsx +++ b/src/app/components/ThemeProvider/chameleonLogos/russian.tsx @@ -1,11 +1,8 @@ -import build from '.'; +import { getEnvConfig } from '#app/lib/utilities/getEnvConfig'; -export default build({ - group: ( - <> - - - - ), - viewbox: { minY: 95, minX: 105, width: 1525, height: 135 }, -}); +const { + SIMORGH_PUBLIC_STATIC_ASSETS_ORIGIN, + SIMORGH_PUBLIC_STATIC_ASSETS_PATH, +} = getEnvConfig(); + +export default `${SIMORGH_PUBLIC_STATIC_ASSETS_ORIGIN}${SIMORGH_PUBLIC_STATIC_ASSETS_PATH}/russian/images/brandLogo.svg`; diff --git a/src/app/components/ThemeProvider/chameleonLogos/scotland.tsx b/src/app/components/ThemeProvider/chameleonLogos/scotland.tsx index 2573ea73059..0667476d7a5 100644 --- a/src/app/components/ThemeProvider/chameleonLogos/scotland.tsx +++ b/src/app/components/ThemeProvider/chameleonLogos/scotland.tsx @@ -1,25 +1,8 @@ -import build from '.'; +import { getEnvConfig } from '#app/lib/utilities/getEnvConfig'; -const height = 24.34; -const width = 176.5008; +const { + SIMORGH_PUBLIC_STATIC_ASSETS_ORIGIN, + SIMORGH_PUBLIC_STATIC_ASSETS_PATH, +} = getEnvConfig(); -export default build({ - height, - width, - group: ( - - - - - - ), - viewbox: { - height, - width, - }, -}); +export default `${SIMORGH_PUBLIC_STATIC_ASSETS_ORIGIN}${SIMORGH_PUBLIC_STATIC_ASSETS_PATH}/scotland/images/brandLogo.svg`; diff --git a/src/app/components/ThemeProvider/chameleonLogos/serbian.tsx b/src/app/components/ThemeProvider/chameleonLogos/serbian.tsx index 086b58e83a8..9329b060301 100644 --- a/src/app/components/ThemeProvider/chameleonLogos/serbian.tsx +++ b/src/app/components/ThemeProvider/chameleonLogos/serbian.tsx @@ -1,11 +1,8 @@ -import build from '.'; +import { getEnvConfig } from '#app/lib/utilities/getEnvConfig'; -export default build({ - group: ( - <> - - - - ), - viewbox: { minY: 145, minX: 690, width: 1200, height: 135 }, -}); +const { + SIMORGH_PUBLIC_STATIC_ASSETS_ORIGIN, + SIMORGH_PUBLIC_STATIC_ASSETS_PATH, +} = getEnvConfig(); + +export default `${SIMORGH_PUBLIC_STATIC_ASSETS_ORIGIN}${SIMORGH_PUBLIC_STATIC_ASSETS_PATH}/serbian/images/brandLogo.svg`; diff --git a/src/app/components/ThemeProvider/chameleonLogos/sinhala.tsx b/src/app/components/ThemeProvider/chameleonLogos/sinhala.tsx index 68f5131a715..ee9df373eae 100644 --- a/src/app/components/ThemeProvider/chameleonLogos/sinhala.tsx +++ b/src/app/components/ThemeProvider/chameleonLogos/sinhala.tsx @@ -1,11 +1,8 @@ -import build from '.'; +import { getEnvConfig } from '#app/lib/utilities/getEnvConfig'; -export default build({ - group: ( - <> - - - - ), - viewbox: { minY: 145, minX: 690, width: 830, height: 135 }, -}); +const { + SIMORGH_PUBLIC_STATIC_ASSETS_ORIGIN, + SIMORGH_PUBLIC_STATIC_ASSETS_PATH, +} = getEnvConfig(); + +export default `${SIMORGH_PUBLIC_STATIC_ASSETS_ORIGIN}${SIMORGH_PUBLIC_STATIC_ASSETS_PATH}/sinhala/images/brandLogo.svg`; diff --git a/src/app/components/ThemeProvider/chameleonLogos/somali.tsx b/src/app/components/ThemeProvider/chameleonLogos/somali.tsx index a07ee04143b..712c8653fdb 100644 --- a/src/app/components/ThemeProvider/chameleonLogos/somali.tsx +++ b/src/app/components/ThemeProvider/chameleonLogos/somali.tsx @@ -1,11 +1,8 @@ -import build from '.'; +import { getEnvConfig } from '#app/lib/utilities/getEnvConfig'; -export default build({ - group: ( - <> - - - - ), - viewbox: { minY: 145, minX: 690, width: 905, height: 135 }, -}); +const { + SIMORGH_PUBLIC_STATIC_ASSETS_ORIGIN, + SIMORGH_PUBLIC_STATIC_ASSETS_PATH, +} = getEnvConfig(); + +export default `${SIMORGH_PUBLIC_STATIC_ASSETS_ORIGIN}${SIMORGH_PUBLIC_STATIC_ASSETS_PATH}/somali/images/brandLogo.svg`; diff --git a/src/app/components/ThemeProvider/chameleonLogos/sport.tsx b/src/app/components/ThemeProvider/chameleonLogos/sport.tsx index 4bc51e4603e..7c4e71ab609 100644 --- a/src/app/components/ThemeProvider/chameleonLogos/sport.tsx +++ b/src/app/components/ThemeProvider/chameleonLogos/sport.tsx @@ -1,12 +1,8 @@ -import build from '.'; +import { getEnvConfig } from '#app/lib/utilities/getEnvConfig'; -export default build({ - width: 1323, - height: 425, - group: ( - <> - - - - ), -}); +const { + SIMORGH_PUBLIC_STATIC_ASSETS_ORIGIN, + SIMORGH_PUBLIC_STATIC_ASSETS_PATH, +} = getEnvConfig(); + +export default `${SIMORGH_PUBLIC_STATIC_ASSETS_ORIGIN}${SIMORGH_PUBLIC_STATIC_ASSETS_PATH}/sport/images/brandLogo.svg`; diff --git a/src/app/components/ThemeProvider/chameleonLogos/swahili.tsx b/src/app/components/ThemeProvider/chameleonLogos/swahili.tsx index 2a96bd4980b..d4558318089 100644 --- a/src/app/components/ThemeProvider/chameleonLogos/swahili.tsx +++ b/src/app/components/ThemeProvider/chameleonLogos/swahili.tsx @@ -1,11 +1,8 @@ -import build from '.'; +import { getEnvConfig } from '#app/lib/utilities/getEnvConfig'; -export default build({ - group: ( - <> - - - - ), - viewbox: { minY: 145, minX: 690, width: 935, height: 135 }, -}); +const { + SIMORGH_PUBLIC_STATIC_ASSETS_ORIGIN, + SIMORGH_PUBLIC_STATIC_ASSETS_PATH, +} = getEnvConfig(); + +export default `${SIMORGH_PUBLIC_STATIC_ASSETS_ORIGIN}${SIMORGH_PUBLIC_STATIC_ASSETS_PATH}/swahili/images/brandLogo.svg`; diff --git a/src/app/components/ThemeProvider/chameleonLogos/tamil.tsx b/src/app/components/ThemeProvider/chameleonLogos/tamil.tsx index ecdbbc2c59c..5952fda39bb 100644 --- a/src/app/components/ThemeProvider/chameleonLogos/tamil.tsx +++ b/src/app/components/ThemeProvider/chameleonLogos/tamil.tsx @@ -1,11 +1,8 @@ -import build from '.'; +import { getEnvConfig } from '#app/lib/utilities/getEnvConfig'; -export default build({ - group: ( - <> - - - - ), - viewbox: { minY: 150, minX: 690, width: 780, height: 135 }, -}); +const { + SIMORGH_PUBLIC_STATIC_ASSETS_ORIGIN, + SIMORGH_PUBLIC_STATIC_ASSETS_PATH, +} = getEnvConfig(); + +export default `${SIMORGH_PUBLIC_STATIC_ASSETS_ORIGIN}${SIMORGH_PUBLIC_STATIC_ASSETS_PATH}/tamil/images/brandLogo.svg`; diff --git a/src/app/components/ThemeProvider/chameleonLogos/telugu.tsx b/src/app/components/ThemeProvider/chameleonLogos/telugu.tsx index 6022522d394..02ad786a601 100644 --- a/src/app/components/ThemeProvider/chameleonLogos/telugu.tsx +++ b/src/app/components/ThemeProvider/chameleonLogos/telugu.tsx @@ -1,11 +1,8 @@ -import build from '.'; +import { getEnvConfig } from '#app/lib/utilities/getEnvConfig'; -export default build({ - group: ( - <> - - - - ), - viewbox: { minY: 145, minX: 690, width: 825, height: 135 }, -}); +const { + SIMORGH_PUBLIC_STATIC_ASSETS_ORIGIN, + SIMORGH_PUBLIC_STATIC_ASSETS_PATH, +} = getEnvConfig(); + +export default `${SIMORGH_PUBLIC_STATIC_ASSETS_ORIGIN}${SIMORGH_PUBLIC_STATIC_ASSETS_PATH}/telugu/images/brandLogo.svg`; diff --git a/src/app/components/ThemeProvider/chameleonLogos/thai.tsx b/src/app/components/ThemeProvider/chameleonLogos/thai.tsx index a188a2fe518..96948389d0b 100644 --- a/src/app/components/ThemeProvider/chameleonLogos/thai.tsx +++ b/src/app/components/ThemeProvider/chameleonLogos/thai.tsx @@ -1,11 +1,8 @@ -import build from '.'; +import { getEnvConfig } from '#app/lib/utilities/getEnvConfig'; -export default build({ - group: ( - <> - - - - ), - viewbox: { minY: 145, minX: 690, width: 675, height: 135 }, -}); +const { + SIMORGH_PUBLIC_STATIC_ASSETS_ORIGIN, + SIMORGH_PUBLIC_STATIC_ASSETS_PATH, +} = getEnvConfig(); + +export default `${SIMORGH_PUBLIC_STATIC_ASSETS_ORIGIN}${SIMORGH_PUBLIC_STATIC_ASSETS_PATH}/thai/images/brandLogo.svg`; diff --git a/src/app/components/ThemeProvider/chameleonLogos/tigrinya.tsx b/src/app/components/ThemeProvider/chameleonLogos/tigrinya.tsx index 41b6ff39de6..a3546cba4eb 100644 --- a/src/app/components/ThemeProvider/chameleonLogos/tigrinya.tsx +++ b/src/app/components/ThemeProvider/chameleonLogos/tigrinya.tsx @@ -1,11 +1,8 @@ -import build from '.'; +import { getEnvConfig } from '#app/lib/utilities/getEnvConfig'; -export default build({ - group: ( - <> - - - - ), - viewbox: { minY: 145, minX: 690, width: 755, height: 135 }, -}); +const { + SIMORGH_PUBLIC_STATIC_ASSETS_ORIGIN, + SIMORGH_PUBLIC_STATIC_ASSETS_PATH, +} = getEnvConfig(); + +export default `${SIMORGH_PUBLIC_STATIC_ASSETS_ORIGIN}${SIMORGH_PUBLIC_STATIC_ASSETS_PATH}/tigrinya/images/brandLogo.svg`; diff --git a/src/app/components/ThemeProvider/chameleonLogos/turkce.tsx b/src/app/components/ThemeProvider/chameleonLogos/turkce.tsx index 379a09b32ac..fc298cf9b0e 100644 --- a/src/app/components/ThemeProvider/chameleonLogos/turkce.tsx +++ b/src/app/components/ThemeProvider/chameleonLogos/turkce.tsx @@ -1,14 +1,8 @@ -import build from '.'; +import { getEnvConfig } from '#app/lib/utilities/getEnvConfig'; -export default build({ - group: ( - <> - - - - - - - ), - viewbox: { minY: 145, minX: 690, width: 925, height: 135 }, -}); +const { + SIMORGH_PUBLIC_STATIC_ASSETS_ORIGIN, + SIMORGH_PUBLIC_STATIC_ASSETS_PATH, +} = getEnvConfig(); + +export default `${SIMORGH_PUBLIC_STATIC_ASSETS_ORIGIN}${SIMORGH_PUBLIC_STATIC_ASSETS_PATH}/turkce/images/brandLogo.svg`; diff --git a/src/app/components/ThemeProvider/chameleonLogos/ukchina.tsx b/src/app/components/ThemeProvider/chameleonLogos/ukchina.tsx index 4c68e22ff9e..4006f8a305d 100644 --- a/src/app/components/ThemeProvider/chameleonLogos/ukchina.tsx +++ b/src/app/components/ThemeProvider/chameleonLogos/ukchina.tsx @@ -1,11 +1,8 @@ -import buildLogo from '.'; +import { getEnvConfig } from '#app/lib/utilities/getEnvConfig'; -export default buildLogo({ - group: ( - <> - - - - ), - viewbox: { minY: 145, minX: 690, width: 680, height: 135 }, -}); +const { + SIMORGH_PUBLIC_STATIC_ASSETS_ORIGIN, + SIMORGH_PUBLIC_STATIC_ASSETS_PATH, +} = getEnvConfig(); + +export default `${SIMORGH_PUBLIC_STATIC_ASSETS_ORIGIN}${SIMORGH_PUBLIC_STATIC_ASSETS_PATH}/ukchina/images/brandLogo.svg`; diff --git a/src/app/components/ThemeProvider/chameleonLogos/ukrainian.tsx b/src/app/components/ThemeProvider/chameleonLogos/ukrainian.tsx index 00266b23cea..df1d7de78df 100644 --- a/src/app/components/ThemeProvider/chameleonLogos/ukrainian.tsx +++ b/src/app/components/ThemeProvider/chameleonLogos/ukrainian.tsx @@ -1,11 +1,8 @@ -import build from '.'; +import { getEnvConfig } from '#app/lib/utilities/getEnvConfig'; -export default build({ - group: ( - <> - - - - ), - viewbox: { minY: 145, minX: 690, width: 990, height: 135 }, -}); +const { + SIMORGH_PUBLIC_STATIC_ASSETS_ORIGIN, + SIMORGH_PUBLIC_STATIC_ASSETS_PATH, +} = getEnvConfig(); + +export default `${SIMORGH_PUBLIC_STATIC_ASSETS_ORIGIN}${SIMORGH_PUBLIC_STATIC_ASSETS_PATH}/ukrainian/images/brandLogo.svg`; diff --git a/src/app/components/ThemeProvider/chameleonLogos/urdu.tsx b/src/app/components/ThemeProvider/chameleonLogos/urdu.tsx index b9281089b7e..955acfc4129 100644 --- a/src/app/components/ThemeProvider/chameleonLogos/urdu.tsx +++ b/src/app/components/ThemeProvider/chameleonLogos/urdu.tsx @@ -1,12 +1,8 @@ -import build from '.'; +import { getEnvConfig } from '#app/lib/utilities/getEnvConfig'; -export default build({ - group: ( - <> - - - - - ), - viewbox: { minY: 140, minX: 690, width: 670, height: 145 }, -}); +const { + SIMORGH_PUBLIC_STATIC_ASSETS_ORIGIN, + SIMORGH_PUBLIC_STATIC_ASSETS_PATH, +} = getEnvConfig(); + +export default `${SIMORGH_PUBLIC_STATIC_ASSETS_ORIGIN}${SIMORGH_PUBLIC_STATIC_ASSETS_PATH}/urdu/images/brandLogo.svg`; diff --git a/src/app/components/ThemeProvider/chameleonLogos/uzbek.tsx b/src/app/components/ThemeProvider/chameleonLogos/uzbek.tsx index c43969d5f50..beaa3c0b399 100644 --- a/src/app/components/ThemeProvider/chameleonLogos/uzbek.tsx +++ b/src/app/components/ThemeProvider/chameleonLogos/uzbek.tsx @@ -1,11 +1,8 @@ -import build from '.'; +import { getEnvConfig } from '#app/lib/utilities/getEnvConfig'; -export default build({ - group: ( - <> - - - - ), - viewbox: { minY: 145, minX: 690, width: 892, height: 135 }, -}); +const { + SIMORGH_PUBLIC_STATIC_ASSETS_ORIGIN, + SIMORGH_PUBLIC_STATIC_ASSETS_PATH, +} = getEnvConfig(); + +export default `${SIMORGH_PUBLIC_STATIC_ASSETS_ORIGIN}${SIMORGH_PUBLIC_STATIC_ASSETS_PATH}/uzbek/images/brandLogo.svg`; diff --git a/src/app/components/ThemeProvider/chameleonLogos/vietnamese.tsx b/src/app/components/ThemeProvider/chameleonLogos/vietnamese.tsx index 8d2b3e4c01a..991f234de01 100644 --- a/src/app/components/ThemeProvider/chameleonLogos/vietnamese.tsx +++ b/src/app/components/ThemeProvider/chameleonLogos/vietnamese.tsx @@ -1,11 +1,8 @@ -import build from '.'; +import { getEnvConfig } from '#app/lib/utilities/getEnvConfig'; -export default build({ - group: ( - <> - - - - ), - viewbox: { minY: 145, minX: 690, width: 1100, height: 135 }, -}); +const { + SIMORGH_PUBLIC_STATIC_ASSETS_ORIGIN, + SIMORGH_PUBLIC_STATIC_ASSETS_PATH, +} = getEnvConfig(); + +export default `${SIMORGH_PUBLIC_STATIC_ASSETS_ORIGIN}${SIMORGH_PUBLIC_STATIC_ASSETS_PATH}/vietnamese/images/brandLogo.svg`; diff --git a/src/app/components/ThemeProvider/chameleonLogos/weather.tsx b/src/app/components/ThemeProvider/chameleonLogos/weather.tsx index 9fc7d4f4e92..0e2a6206780 100644 --- a/src/app/components/ThemeProvider/chameleonLogos/weather.tsx +++ b/src/app/components/ThemeProvider/chameleonLogos/weather.tsx @@ -1,24 +1,8 @@ -import build from '.'; +import { getEnvConfig } from '#app/lib/utilities/getEnvConfig'; -const height = 24.188; -const width = 214.889; +const { + SIMORGH_PUBLIC_STATIC_ASSETS_ORIGIN, + SIMORGH_PUBLIC_STATIC_ASSETS_PATH, +} = getEnvConfig(); -export default build({ - height, - width, - group: ( - - - - - ), - viewbox: { - height, - width, - }, -}); +export default `${SIMORGH_PUBLIC_STATIC_ASSETS_ORIGIN}${SIMORGH_PUBLIC_STATIC_ASSETS_PATH}/weather/images/brandLogo.svg`; diff --git a/src/app/components/ThemeProvider/chameleonLogos/ws.tsx b/src/app/components/ThemeProvider/chameleonLogos/ws.tsx index 566a2e4eb18..8b497ba273c 100644 --- a/src/app/components/ThemeProvider/chameleonLogos/ws.tsx +++ b/src/app/components/ThemeProvider/chameleonLogos/ws.tsx @@ -1,12 +1,8 @@ -import build from '.'; +import { getEnvConfig } from '#app/lib/utilities/getEnvConfig'; -export default build({ - width: 2220, - height: 425, - group: ( - <> - - - - ), -}); +const { + SIMORGH_PUBLIC_STATIC_ASSETS_ORIGIN, + SIMORGH_PUBLIC_STATIC_ASSETS_PATH, +} = getEnvConfig(); + +export default `${SIMORGH_PUBLIC_STATIC_ASSETS_ORIGIN}${SIMORGH_PUBLIC_STATIC_ASSETS_PATH}/ws/images/brandLogo.svg`; diff --git a/src/app/components/ThemeProvider/chameleonLogos/yoruba.tsx b/src/app/components/ThemeProvider/chameleonLogos/yoruba.tsx index 3cc7c6e5bad..50b462237bf 100644 --- a/src/app/components/ThemeProvider/chameleonLogos/yoruba.tsx +++ b/src/app/components/ThemeProvider/chameleonLogos/yoruba.tsx @@ -1,11 +1,8 @@ -import build from '.'; +import { getEnvConfig } from '#app/lib/utilities/getEnvConfig'; -export default build({ - group: ( - <> - - - - ), - viewbox: { minY: 145, minX: 690, width: 957, height: 135 }, -}); +const { + SIMORGH_PUBLIC_STATIC_ASSETS_ORIGIN, + SIMORGH_PUBLIC_STATIC_ASSETS_PATH, +} = getEnvConfig(); + +export default `${SIMORGH_PUBLIC_STATIC_ASSETS_ORIGIN}${SIMORGH_PUBLIC_STATIC_ASSETS_PATH}/yoruba/images/brandLogo.svg`; diff --git a/src/app/components/ThemeProvider/chameleonLogos/zhongwen.tsx b/src/app/components/ThemeProvider/chameleonLogos/zhongwen.tsx index b11118fed1a..d6e33f36ef8 100644 --- a/src/app/components/ThemeProvider/chameleonLogos/zhongwen.tsx +++ b/src/app/components/ThemeProvider/chameleonLogos/zhongwen.tsx @@ -1,11 +1,8 @@ -import build from '.'; +import { getEnvConfig } from '#app/lib/utilities/getEnvConfig'; -export default build({ - group: ( - <> - - - - ), - viewbox: { minY: 145, minX: 690, width: 680, height: 135 }, -}); +const { + SIMORGH_PUBLIC_STATIC_ASSETS_ORIGIN, + SIMORGH_PUBLIC_STATIC_ASSETS_PATH, +} = getEnvConfig(); + +export default `${SIMORGH_PUBLIC_STATIC_ASSETS_ORIGIN}${SIMORGH_PUBLIC_STATIC_ASSETS_PATH}/zhongwen/images/brandLogo.svg`; diff --git a/src/app/legacy/psammead/psammead-brand/src/index.jsx b/src/app/legacy/psammead/psammead-brand/src/index.jsx index 360fb7529e8..c7f86618ed5 100644 --- a/src/app/legacy/psammead/psammead-brand/src/index.jsx +++ b/src/app/legacy/psammead/psammead-brand/src/index.jsx @@ -118,21 +118,15 @@ const LocalisedBrandName = ({ const StyledBrand = ({ linkId, product, serviceLocalisedName = null, svg }) => { return svg ? ( <> - + height="30" + style={{"marginLeft": "0.5px"}} + /> Date: Thu, 14 May 2026 19:28:12 +0100 Subject: [PATCH 02/29] ENH: change tests --- .../psammead-brand/src/index.test.jsx | 31 ++++++------------- 1 file changed, 9 insertions(+), 22 deletions(-) diff --git a/src/app/legacy/psammead/psammead-brand/src/index.test.jsx b/src/app/legacy/psammead/psammead-brand/src/index.test.jsx index f6843b44162..9debff087de 100644 --- a/src/app/legacy/psammead/psammead-brand/src/index.test.jsx +++ b/src/app/legacy/psammead/psammead-brand/src/index.test.jsx @@ -4,19 +4,6 @@ import { POSTBOX, WHITE } from '../../../../components/ThemeProvider/palette'; import { render } from '../../../../components/react-testing-library-with-providers'; import Brand from '.'; -const svg = { - group: ( - - - - ), - viewbox: { - height: 24, - width: 167.95, - }, - ratio: 6.9979, -}; - describe('Brand', () => { suppressPropWarnings(['linkId', 'StyledBrand', 'null']); suppressPropWarnings(['linkId', 'LocalisedBrandName', 'null']); @@ -29,7 +16,7 @@ describe('Brand', () => { svgHeight={24} maxWidth={280} minWidth={180} - svg={svg} + svg="/news/images/brandLogo.svg" url="https://www.bbc.co.uk/news" backgroundColour={POSTBOX} logoColour={WHITE} @@ -43,7 +30,7 @@ describe('Brand', () => { { const { container } = render( { svgHeight={24} maxWidth={280} minWidth={180} - svg={svg} + svg="/news/images/brandLogo.svg" url="https://www.bbc.co.uk/news" backgroundColour={POSTBOX} logoColour={WHITE} @@ -97,7 +84,7 @@ describe('Brand', () => { svgHeight={24} maxWidth={280} minWidth={180} - svg={svg} + svg="/news/images/brandLogo.svg" url="https://www.bbc.co.uk/news" backgroundColour={POSTBOX} logoColour={WHITE} @@ -114,7 +101,7 @@ describe('Brand', () => { svgHeight={24} maxWidth={280} minWidth={180} - svg={svg} + svg="/news/images/brandLogo.svg" url="https://www.bbc.co.uk/news" backgroundColour={POSTBOX} logoColour={WHITE} @@ -141,7 +128,7 @@ describe('Brand', () => { svgHeight={24} maxWidth={280} minWidth={180} - svg={svg} + svg="/news/images/brandLogo.svg" url="https://www.bbc.co.uk/news" backgroundColour={POSTBOX} logoColour={WHITE} @@ -162,7 +149,7 @@ describe('Brand', () => { const { container } = render( { expect(brandLink).toBe(container.querySelector('a')); }); }); -}); +}); \ No newline at end of file From 0baa51ffc74e9bfe75e3d29cc66845770381f54f Mon Sep 17 00:00:00 2001 From: eagerterrier Date: Thu, 14 May 2026 19:40:23 +0100 Subject: [PATCH 03/29] FIX: typescript --- src/app/models/types/theming.ts | 13 +------------ 1 file changed, 1 insertion(+), 12 deletions(-) diff --git a/src/app/models/types/theming.ts b/src/app/models/types/theming.ts index c8350aa9d1d..48b3c01248f 100644 --- a/src/app/models/types/theming.ts +++ b/src/app/models/types/theming.ts @@ -449,18 +449,7 @@ export type FontVariant = | 'serifBold' | 'serifLight'; -export type BrandSVG = { - width?: number; - height?: number; - group: JSX.Element; - ratio?: number; - viewbox?: { - height?: number; - width?: number; - minY?: number; - minX?: number; - }; -}; +export type BrandSVG = string; export type GridWidths = { 240: number; From dbc994214ef21ad1ccc0ce3f96009241101bcb55 Mon Sep 17 00:00:00 2001 From: eagerterrier Date: Thu, 14 May 2026 19:44:31 +0100 Subject: [PATCH 04/29] FIX: typescript --- src/app/models/types/theming.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/app/models/types/theming.ts b/src/app/models/types/theming.ts index 48b3c01248f..32c2e9513ee 100644 --- a/src/app/models/types/theming.ts +++ b/src/app/models/types/theming.ts @@ -1,4 +1,4 @@ -import type { ComponentType, JSX } from 'react'; +import type { ComponentType } from 'react'; import { SerbianService, ServicesWithNoVariants, From 0f672a44fa6a5478006954b14579323b9106d290 Mon Sep 17 00:00:00 2001 From: eagerterrier Date: Thu, 14 May 2026 19:52:55 +0100 Subject: [PATCH 05/29] FIX: snapshots --- .../__snapshots__/index.test.tsx.snap | 408 +++--- .../Brand/__snapshots__/index.test.jsx.snap | 51 +- .../Footer/__snapshots__/index.test.jsx.snap | 129 +- .../Header/__snapshots__/index.test.jsx.snap | 1100 +++++++---------- .../src/__snapshots__/index.test.jsx.snap | 144 +-- 5 files changed, 730 insertions(+), 1102 deletions(-) diff --git a/src/app/components/PageLayoutWrapper/__snapshots__/index.test.tsx.snap b/src/app/components/PageLayoutWrapper/__snapshots__/index.test.tsx.snap index 3c5a6b0192f..cf9844177e1 100644 --- a/src/app/components/PageLayoutWrapper/__snapshots__/index.test.tsx.snap +++ b/src/app/components/PageLayoutWrapper/__snapshots__/index.test.tsx.snap @@ -405,32 +405,6 @@ exports[`PageLayoutWrapper should render default page wrapper with children 1`] } .emotion-24 { - box-sizing: content-box; - color: #FFFFFF; - fill: currentColor; - height: 1.25rem; - max-width: 100%; -} - -@media (min-width: 25rem) { - .emotion-24 { - height: 1.5rem; - } -} - -@media (min-width: 37.5rem) { - .emotion-24 { - height: 1.875rem; - } -} - -@media screen and (-ms-high-contrast: active),print { - .emotion-24 { - fill: windowText; - } -} - -.emotion-26 { -webkit-clip-path: inset(100%); clip-path: inset(100%); clip: rect(1px, 1px, 1px, 1px); @@ -441,7 +415,7 @@ exports[`PageLayoutWrapper should render default page wrapper with children 1`] margin: 0; } -.emotion-27 { +.emotion-25 { position: absolute; -webkit-clip-path: inset(100%); clip-path: inset(100%); @@ -463,20 +437,20 @@ exports[`PageLayoutWrapper should render default page wrapper with children 1`] } @media (min-width: 20rem) and (max-width: 37.4375rem) { - .emotion-27 { + .emotion-25 { font-size: 1rem; line-height: 1.25rem; } } @media (min-width: 37.5rem) { - .emotion-27 { + .emotion-25 { font-size: 1rem; line-height: 1.25rem; } } -.emotion-27:focus { +.emotion-25:focus { -webkit-clip-path: none; clip-path: none; clip: auto; @@ -487,24 +461,24 @@ exports[`PageLayoutWrapper should render default page wrapper with children 1`] } @media (min-width: 25rem) { - .emotion-27:focus { + .emotion-25:focus { top: 0.5rem; } } @media (max-width: 37.4375rem) { - .emotion-27 { + .emotion-25 { padding: 0.5rem; } } -.emotion-29 { +.emotion-27 { position: relative; background-color: #FFFFFF; } @media (min-width: 62.9375rem) { - .emotion-29::after { + .emotion-27::after { content: ''; position: absolute; bottom: 0; @@ -514,11 +488,11 @@ exports[`PageLayoutWrapper should render default page wrapper with children 1`] } } -.emotion-29 .emotion-45::after { +.emotion-27 .emotion-43::after { left: 0; } -.emotion-31 { +.emotion-29 { position: relative; max-width: 63.4rem; margin: 0 auto; @@ -526,22 +500,22 @@ exports[`PageLayoutWrapper should render default page wrapper with children 1`] } @media (min-width: 37.5rem) { - .emotion-31 { + .emotion-29 { margin: 0 0.8rem; } } @media (min-width: 66rem) { - .emotion-31 { + .emotion-29 { margin: 0 auto; } } -.emotion-33 { +.emotion-31 { position: relative; } -.emotion-35 { +.emotion-33 { position: relative; padding: 0; margin: 0; @@ -552,14 +526,14 @@ exports[`PageLayoutWrapper should render default page wrapper with children 1`] width: 2.75rem; } -.emotion-35:hover, -.emotion-35:focus { +.emotion-33:hover, +.emotion-33:focus { cursor: pointer; box-shadow: inset 0 0 0 0.25rem #FFFFFF; } -.emotion-35:hover::after, -.emotion-35:focus::after { +.emotion-33:hover::after, +.emotion-33:focus::after { content: ''; position: absolute; left: 0; @@ -570,36 +544,36 @@ exports[`PageLayoutWrapper should render default page wrapper with children 1`] } @media (min-width: 37.5rem) { - .emotion-35 { + .emotion-33 { display: none; visibility: hidden; } } @media (min-width: 20rem) { - .emotion-35 { + .emotion-33 { height: 2.75rem; width: 2.75rem; } } -.emotion-35 svg { +.emotion-33 svg { vertical-align: middle; } -.emotion-37 { +.emotion-35 { color: #000000; fill: currentColor; } @media screen and (forced-colors: active) { - .emotion-37 { + .emotion-35 { fill: linkText; } } @media (max-width: 37.4375rem) { - .emotion-40 { + .emotion-38 { white-space: nowrap; overflow-x: scroll; scroll-behavior: auto; @@ -608,15 +582,15 @@ exports[`PageLayoutWrapper should render default page wrapper with children 1`] -ms-overflow-style: none; } - .emotion-40::-webkit-scrollbar { + .emotion-38::-webkit-scrollbar { display: none; } - .emotion-40:focus-visible { + .emotion-38:focus-visible { outline: none; } - .emotion-40:focus-visible::after { + .emotion-38:focus-visible::after { outline: 0.1875rem solid #000000; content: ''; position: absolute; @@ -624,7 +598,7 @@ exports[`PageLayoutWrapper should render default page wrapper with children 1`] height: 100%; } - .emotion-40:after { + .emotion-38:after { content: ' '; height: 100%; width: 3rem; @@ -642,13 +616,13 @@ exports[`PageLayoutWrapper should render default page wrapper with children 1`] } @media (min-width: 25rem) { - .emotion-40:after { + .emotion-38:after { width: 6rem; } } } -.emotion-42 { +.emotion-40 { list-style-type: none; padding: 0; margin: 0; @@ -656,12 +630,12 @@ exports[`PageLayoutWrapper should render default page wrapper with children 1`] } @media (min-width: 37.5rem) { - .emotion-42 { + .emotion-40 { overflow: hidden; } } -.emotion-44 { +.emotion-42 { display: inline-block; position: relative; z-index: 2; @@ -670,13 +644,13 @@ exports[`PageLayoutWrapper should render default page wrapper with children 1`] } @media (max-width: 37.4375rem) { - .emotion-44:last-child { + .emotion-42:last-child { margin-right: 3rem; } } @media (min-width: 37.5rem) { - .emotion-44::after { + .emotion-42::after { content: ''; position: absolute; bottom: -1px; @@ -686,7 +660,7 @@ exports[`PageLayoutWrapper should render default page wrapper with children 1`] } } -.emotion-46 { +.emotion-44 { font-size: 0.9375rem; line-height: 1.25rem; font-family: ReithSans,Helvetica,Arial,sans-serif; @@ -702,26 +676,26 @@ exports[`PageLayoutWrapper should render default page wrapper with children 1`] } @media (min-width: 20rem) and (max-width: 37.4375rem) { - .emotion-46 { + .emotion-44 { font-size: 1rem; line-height: 1.25rem; } } @media (min-width: 37.5rem) { - .emotion-46 { + .emotion-44 { font-size: 1rem; line-height: 1.25rem; } } @media (max-width: 37.4375rem) { - .emotion-46 { + .emotion-44 { padding: 0.75rem 0.5rem; } } -.emotion-46:hover::after { +.emotion-44:hover::after { content: ''; position: absolute; left: 0; @@ -730,7 +704,7 @@ exports[`PageLayoutWrapper should render default page wrapper with children 1`] border-bottom: 0.25rem solid #B80000; } -.emotion-46:focus::after { +.emotion-44:focus::after { content: ''; position: absolute; left: 0; @@ -741,7 +715,7 @@ exports[`PageLayoutWrapper should render default page wrapper with children 1`] border: 0.1875rem solid #000000; } -.emotion-46:focus-visible::after { +.emotion-44:focus-visible::after { content: ''; position: absolute; left: 0; @@ -752,7 +726,7 @@ exports[`PageLayoutWrapper should render default page wrapper with children 1`] border: 0.1875rem solid #000000; } -.emotion-88 { +.emotion-86 { background-color: #FFFFFF; clear: both; overflow: hidden; @@ -764,37 +738,37 @@ exports[`PageLayoutWrapper should render default page wrapper with children 1`] } @media (min-width: 37.5rem) { - .emotion-88 { + .emotion-86 { display: none; visibility: hidden; } } @media (prefers-reduced-motion: reduce) { - .emotion-88 { + .emotion-86 { -webkit-transition: none; transition: none; } } -.emotion-90 { +.emotion-88 { list-style-type: none; margin: 0; padding: 0 0.5rem; border-bottom: 0.0625rem solid #E6E8EA; } -.emotion-92 { +.emotion-90 { padding: 0.75rem 0; border-bottom: 0.0625rem solid #E6E8EA; } -.emotion-92:last-child { +.emotion-90:last-child { padding-bottom: 0.25rem; border: 0; } -.emotion-94 { +.emotion-92 { font-size: 0.9375rem; line-height: 1.25rem; font-family: ReithSans,Helvetica,Arial,sans-serif; @@ -808,40 +782,40 @@ exports[`PageLayoutWrapper should render default page wrapper with children 1`] } @media (min-width: 20rem) and (max-width: 37.4375rem) { - .emotion-94 { + .emotion-92 { font-size: 1rem; line-height: 1.25rem; } } @media (min-width: 37.5rem) { - .emotion-94 { + .emotion-92 { font-size: 1rem; line-height: 1.25rem; } } -.emotion-94:hover, -.emotion-94:focus { +.emotion-92:hover, +.emotion-92:focus { -webkit-text-decoration: underline; text-decoration: underline; text-decoration-color: #B80000; } -.emotion-136 { +.emotion-134 { position: absolute; width: calc(100vw - 0.8rem); inset-inline-start: 0; } @media (min-width: 1041px) { - .emotion-136 { + .emotion-134 { width: calc(100vw + 0.8rem); inset-inline-start: calc(-1 * (100vw - 1014px) / 2); } } -.emotion-136::after { +.emotion-134::after { content: ''; position: absolute; inset-block-end: 0; @@ -851,12 +825,12 @@ exports[`PageLayoutWrapper should render default page wrapper with children 1`] } @media (min-width: 1008px) { - .emotion-136 { + .emotion-134 { display: none; } } -.emotion-138 { +.emotion-136 { -webkit-box-flex: 1; -webkit-flex-grow: 1; -ms-flex-positive: 1; @@ -864,36 +838,36 @@ exports[`PageLayoutWrapper should render default page wrapper with children 1`] position: relative; } -.emotion-139 { +.emotion-137 { content-visibility: auto; contain-intrinsic-size: 33.125rem; } @media (min-width: 15rem) { - .emotion-139 { + .emotion-137 { contain-intrinsic-size: 26.563rem; } } @media (min-width: 20) { - .emotion-139 { + .emotion-137 { contain-intrinsic-size: 23.438rem; } } @media (min-width: 25rem) { - .emotion-139 { + .emotion-137 { contain-intrinsic-size: 21.875rem; } } @media (min-width: 37.5rem) { - .emotion-139 { + .emotion-137 { contain-intrinsic-size: 17.188rem; } } -.emotion-142 { +.emotion-140 { background-color: #B80000; min-height: 2.75rem; width: 100%; @@ -911,36 +885,36 @@ exports[`PageLayoutWrapper should render default page wrapper with children 1`] } @media (min-width: 15rem) { - .emotion-142 { + .emotion-140 { min-height: 3.75rem; padding: 0 0.5rem; } } @media (min-width: 25rem) { - .emotion-142 { + .emotion-140 { min-height: 3.75rem; padding: 0 1rem; } } @media (min-width: 37.5rem) { - .emotion-142 { + .emotion-140 { min-height: 4rem; } } -.emotion-142 svg { +.emotion-140 svg { fill: currentColor; } @media screen and (forced-colors: active) { - .emotion-142 svg { + .emotion-140 svg { fill: linkText; } } -.emotion-151 { +.emotion-147 { font-size: 0.875rem; line-height: 1.125rem; font-family: ReithSans,Helvetica,Arial,sans-serif; @@ -951,32 +925,32 @@ exports[`PageLayoutWrapper should render default page wrapper with children 1`] } @media (min-width: 20rem) and (max-width: 37.4375rem) { - .emotion-151 { + .emotion-147 { font-size: 0.875rem; line-height: 1.125rem; } } @media (min-width: 37.5rem) { - .emotion-151 { + .emotion-147 { font-size: 0.8125rem; line-height: 1rem; } } @media (max-width: 24.9375rem) { - .emotion-151 { + .emotion-147 { padding: 0 0.5rem; } } -.emotion-152 { +.emotion-148 { max-width: 63rem; margin: 0 auto; padding-top: 0.5rem; } -.emotion-153 { +.emotion-149 { border-bottom: 0.0625rem solid #3F3F42; -webkit-column-count: 4; column-count: 4; @@ -986,14 +960,14 @@ exports[`PageLayoutWrapper should render default page wrapper with children 1`] } @supports (grid-template-columns: fit-content(200px)) { - .emotion-153 { + .emotion-149 { display: grid; grid-auto-flow: column; } } @media (max-width: 14.9375rem) { - .emotion-153 { + .emotion-149 { grid-auto-flow: row; -webkit-column-count: 1; column-count: 1; @@ -1001,7 +975,7 @@ exports[`PageLayoutWrapper should render default page wrapper with children 1`] } @media (min-width: 15rem) and (max-width: 37.4375rem) { - .emotion-153 { + .emotion-149 { grid-column-gap: 0.5rem; grid-template-columns: repeat(2, 1fr); -webkit-column-count: 2; @@ -1010,7 +984,7 @@ exports[`PageLayoutWrapper should render default page wrapper with children 1`] } @media (min-width: 37.5rem) and (max-width: 62.9375rem) { - .emotion-153 { + .emotion-149 { grid-column-gap: 1rem; grid-template-columns: repeat(3, 1fr); -webkit-column-count: 3; @@ -1019,7 +993,7 @@ exports[`PageLayoutWrapper should render default page wrapper with children 1`] } @media (min-width: 63rem) and (max-width: 79.9375rem) { - .emotion-153 { + .emotion-149 { grid-column-gap: 1rem; grid-template-columns: repeat(4, 1fr); -webkit-column-count: 4; @@ -1028,7 +1002,7 @@ exports[`PageLayoutWrapper should render default page wrapper with children 1`] } @media (min-width: 80rem) { - .emotion-153 { + .emotion-149 { grid-column-gap: 1rem; grid-template-columns: repeat(5, 1fr); -webkit-column-count: 5; @@ -1036,7 +1010,7 @@ exports[`PageLayoutWrapper should render default page wrapper with children 1`] } } -.emotion-153>li:first-of-type { +.emotion-149>li:first-of-type { border-bottom: 0.0625rem solid #3F3F42; padding: 0.5rem 0; margin-bottom: 0.5rem; @@ -1047,37 +1021,37 @@ exports[`PageLayoutWrapper should render default page wrapper with children 1`] } @media (min-width: 15rem) and (max-width: 37.4375rem) { - .emotion-153 { + .emotion-149 { grid-template-rows: repeat(4, auto); } } @media (min-width: 37.5rem) and (max-width: 62.9375rem) { - .emotion-153 { + .emotion-149 { grid-template-rows: repeat(3, auto); } } @media (min-width: 63rem) and (max-width: 79.9375rem) { - .emotion-153 { + .emotion-149 { grid-template-rows: repeat(3, auto); } } @media (min-width: 80rem) { - .emotion-153 { + .emotion-149 { grid-template-rows: repeat(3, auto); } } -.emotion-154 { +.emotion-150 { min-width: 50%; -webkit-column-gap: 1rem; column-gap: 1rem; break-inside: avoid-column; } -.emotion-155 { +.emotion-151 { font-family: ReithSans,Helvetica,Arial,sans-serif; font-style: normal; font-weight: 700; @@ -1088,23 +1062,23 @@ exports[`PageLayoutWrapper should render default page wrapper with children 1`] display: block; } -.emotion-155:hover, -.emotion-155:focus { +.emotion-151:hover, +.emotion-151:focus { -webkit-text-decoration: underline; text-decoration: underline; } -.emotion-162 { +.emotion-158 { color: #FFFFFF; margin: 0; padding: 1rem 0; } -.emotion-162 a { +.emotion-158 a { padding: 0; } -.emotion-163 { +.emotion-159 { font-family: ReithSans,Helvetica,Arial,sans-serif; font-style: normal; font-weight: 700; @@ -1115,8 +1089,8 @@ exports[`PageLayoutWrapper should render default page wrapper with children 1`] display: inline; } -.emotion-163:hover, -.emotion-163:focus { +.emotion-159:hover, +.emotion-159:focus { -webkit-text-decoration: underline; text-decoration: underline; } @@ -1207,35 +1181,24 @@ exports[`PageLayoutWrapper should render default page wrapper with children 1`] href="/news" id="topPage" > - + src="http://localhost:7080//news/images/brandLogo.svg" + style="margin-left: 0.5px;" + /> BBC News @@ -1247,26 +1210,26 @@ exports[`PageLayoutWrapper should render default page wrapper with children 1`]

Child element