Dynamic Content Desks Driven by Claim Topic from Superdesk
The Content Desks section on the homepage needs to be fully dynamic. The PWA should fetch the list of Claim Topics from Publisher via GraphQL and render a Content Desk card for each topic automatically. When a new Claim Topic is added in Superdesk, it appears as a new Content Desk card on the homepage with no code changes needed.
Each Content Desk card links to a dedicated topic page that lists all articles tagged with that Claim Topic in Superdesk, paginated. The topic page uses the same article listing page design already built. No new design is needed.
Acceptance Criteria
The homepage fetches all available Claim Topics from Publisher via GraphQL and renders a Content Desk card for each one dynamically.
No Claim Topic names are hardcoded in the frontend. Adding a new topic in Superdesk automatically creates a new Content Desk card on the homepage.
Each Content Desk card links to a dynamic route following the pattern pesacheck.org/topic/[topic-name].
The topic page fetches and displays all articles tagged with that Claim Topic from Publisher, paginated.
The topic page uses the existing article listing page design, so no new component design is needed.
Removing or renaming a Claim Topic in Superdesk is reflected on the site without a code deployment.
All topic pages are tested with at least two different Claim Topics in staging before go-live.

Dynamic Content Desks Driven by Claim Topic from Superdesk
The Content Desks section on the homepage needs to be fully dynamic. The PWA should fetch the list of Claim Topics from Publisher via GraphQL and render a Content Desk card for each topic automatically. When a new Claim Topic is added in Superdesk, it appears as a new Content Desk card on the homepage with no code changes needed.
Each Content Desk card links to a dedicated topic page that lists all articles tagged with that Claim Topic in Superdesk, paginated. The topic page uses the same article listing page design already built. No new design is needed.
Acceptance Criteria
The homepage fetches all available Claim Topics from Publisher via GraphQL and renders a Content Desk card for each one dynamically.
No Claim Topic names are hardcoded in the frontend. Adding a new topic in Superdesk automatically creates a new Content Desk card on the homepage.
Each Content Desk card links to a dynamic route following the pattern pesacheck.org/topic/[topic-name].
The topic page fetches and displays all articles tagged with that Claim Topic from Publisher, paginated.
The topic page uses the existing article listing page design, so no new component design is needed.
Removing or renaming a Claim Topic in Superdesk is reflected on the site without a code deployment.
All topic pages are tested with at least two different Claim Topics in staging before go-live.