From aec3d0126c6c26fa0b17fdffa8529bd06b1794bd Mon Sep 17 00:00:00 2001 From: Sartxi Date: Thu, 25 Jul 2024 09:48:18 -0600 Subject: [PATCH] check for media in urls pathnames --- libs/blocks/locui/actions/index.js | 4 ++-- libs/blocks/locui/loc/index.js | 10 ++++++++-- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/libs/blocks/locui/actions/index.js b/libs/blocks/locui/actions/index.js index ab6d771966..e92c952948 100644 --- a/libs/blocks/locui/actions/index.js +++ b/libs/blocks/locui/actions/index.js @@ -14,7 +14,7 @@ import { import { setExcelStatus, setStatus } from '../utils/status.js'; import { origin, preview } from '../utils/franklin.js'; import { createTag, decorateSections, decorateFooterPromo } from '../../../utils/utils.js'; -import { getUrls, validateUrlsOrigin } from '../loc/index.js'; +import { getUrls, validateUrlsFormat } from '../loc/index.js'; import updateExcelTable from '../../../tools/sharepoint/excel.js'; import { getItemId } from '../../../tools/sharepoint/shared.js'; import { @@ -146,7 +146,7 @@ export async function findFragments() { } return acc; }, []); - return validateUrlsOrigin(foundFragments); + return validateUrlsFormat(foundFragments, true); } export async function syncToExcel(paths) { diff --git a/libs/blocks/locui/loc/index.js b/libs/blocks/locui/loc/index.js index 97c48b2f22..a6afb3fd1e 100644 --- a/libs/blocks/locui/loc/index.js +++ b/libs/blocks/locui/loc/index.js @@ -34,7 +34,7 @@ async function validateUrl(url) { } } -export function validateUrlsOrigin(projectUrls) { +export function validateUrlsFormat(projectUrls, removeMedia = false) { projectUrls.forEach((projectUrl) => { const url = Array.isArray(projectUrl) ? projectUrl[0] : projectUrl; let urlOrigin = url.origin; @@ -49,7 +49,13 @@ export function validateUrlsOrigin(projectUrls) { if (urlOrigin !== origin) { url.valid = 'not same domain'; } + if ((/\.(gif|jpg|jpeg|tiff|png|webp)$/i).test(url.pathname)) { + url.valid = 'media'; + } }); + if (removeMedia) { + return projectUrls.filter((url) => url.valid === 'media'); + } return projectUrls; } @@ -67,7 +73,7 @@ async function validatedUrls(projectUrls) { setStatus('details', 'error', 'There was an error validating project URLs.', error); } } - return validateUrlsOrigin(projectUrls); + return validateUrlsFormat(projectUrls); } export function getUrls(jsonUrls) {