From becfc61f39a16871e84c7feed6b57c625e1d6dc2 Mon Sep 17 00:00:00 2001 From: gustavo-olmedo Date: Wed, 16 Sep 2026 13:42:22 +0100 Subject: [PATCH] Update to support existing crossword routes in puzzle cards --- dotcom-rendering/src/components/PuzzlesDirectory.test.tsx | 3 +++ dotcom-rendering/src/components/PuzzlesDirectory.tsx | 2 +- dotcom-rendering/src/components/PuzzlesSupporting.test.tsx | 2 +- dotcom-rendering/src/components/PuzzlesSupporting.tsx | 4 +++- 4 files changed, 8 insertions(+), 3 deletions(-) diff --git a/dotcom-rendering/src/components/PuzzlesDirectory.test.tsx b/dotcom-rendering/src/components/PuzzlesDirectory.test.tsx index 891f01635eb..95721d9e64e 100644 --- a/dotcom-rendering/src/components/PuzzlesDirectory.test.tsx +++ b/dotcom-rendering/src/components/PuzzlesDirectory.test.tsx @@ -339,6 +339,9 @@ describe('PuzzlesDirectory', () => { expect( getPuzzleUrl(item({ slug: 'word-wheel', variant: 'archive-page' })), ).toBe('/puzzles-and-games/word-wheel/archive'); + expect(getPuzzleUrl(item({ url: '/crosswords/quick/123' }))).toBe( + '/crosswords/quick/123', + ); expect(getPuzzleUrl(item({ url: 'https://example.com/play' }))).toBe( 'https://example.com/play', ); diff --git a/dotcom-rendering/src/components/PuzzlesDirectory.tsx b/dotcom-rendering/src/components/PuzzlesDirectory.tsx index b3114920b42..7fd81c6fd9b 100644 --- a/dotcom-rendering/src/components/PuzzlesDirectory.tsx +++ b/dotcom-rendering/src/components/PuzzlesDirectory.tsx @@ -423,7 +423,7 @@ export const getPuzzleUrl = (item: PuzzleItem): string | undefined => { if ( url !== undefined && (url.startsWith('/puzzles-and-games') || - url.startsWith('/crosswords/series/') || + url.startsWith('/crosswords/') || /^https?:\/\//.test(url)) ) { return url; diff --git a/dotcom-rendering/src/components/PuzzlesSupporting.test.tsx b/dotcom-rendering/src/components/PuzzlesSupporting.test.tsx index 9169c62439d..56ed97b0671 100644 --- a/dotcom-rendering/src/components/PuzzlesSupporting.test.tsx +++ b/dotcom-rendering/src/components/PuzzlesSupporting.test.tsx @@ -43,7 +43,7 @@ const layout: PuzzlesLayoutType = { set: 'quick', cardVariant: 'primary', cadence: 'Daily', - url: '/puzzles-and-games/crosswords/quick/1', + url: '/crosswords/quick/1', }, { id: 'wordiply', diff --git a/dotcom-rendering/src/components/PuzzlesSupporting.tsx b/dotcom-rendering/src/components/PuzzlesSupporting.tsx index e4149b974c1..55bea3aea9c 100644 --- a/dotcom-rendering/src/components/PuzzlesSupporting.tsx +++ b/dotcom-rendering/src/components/PuzzlesSupporting.tsx @@ -246,7 +246,9 @@ const puzzleUrl = (item: PuzzleItem): string | undefined => { const url = item.url; if ( url !== undefined && - (url.startsWith('/puzzles-and-games') || /^https?:\/\//.test(url)) + (url.startsWith('/puzzles-and-games') || + url.startsWith('/crosswords/') || + /^https?:\/\//.test(url)) ) { return url; }