From acb38d0436a325c935369544d8424b48ab52747d Mon Sep 17 00:00:00 2001 From: James Mockett <1166188+jamesmockett@users.noreply.github.com> Date: Thu, 30 Jan 2025 10:22:06 +0000 Subject: [PATCH] Validate setter profile URL --- dotcom-rendering/src/components/ArticleMeta.web.tsx | 2 +- dotcom-rendering/src/components/CrosswordSetter.tsx | 11 ++++++++--- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/dotcom-rendering/src/components/ArticleMeta.web.tsx b/dotcom-rendering/src/components/ArticleMeta.web.tsx index 7ed2d216c3..ca01755ba8 100644 --- a/dotcom-rendering/src/components/ArticleMeta.web.tsx +++ b/dotcom-rendering/src/components/ArticleMeta.web.tsx @@ -401,7 +401,7 @@ export const ArticleMeta = ({ {crossword?.creator && ( )} diff --git a/dotcom-rendering/src/components/CrosswordSetter.tsx b/dotcom-rendering/src/components/CrosswordSetter.tsx index c48d8938ac..dc17314353 100644 --- a/dotcom-rendering/src/components/CrosswordSetter.tsx +++ b/dotcom-rendering/src/components/CrosswordSetter.tsx @@ -17,17 +17,22 @@ const setterStyles = css` } `; +const isValidProfileUrl = (url: string): boolean => { + return url.startsWith('https://www.theguardian.com/profile/'); +}; + type Props = { setter: string; - profile: string; + profileUrl: string; }; -export const CrosswordSetter = ({ setter, profile }: Props) => ( +export const CrosswordSetter = ({ setter, profileUrl: profile }: Props) => (
- Set by: {setter} + Set by:{' '} + {isValidProfileUrl(profile) ? {setter} : setter}
);