Summary
Implement the signed-in flow for NewsletterSignup.island.tsx, including matching Storybook coverage.
Parent epic: @guardian/dotcom-rendering/issues/15677
Tasks
Suggested component structure
NewsletterSignup.island.tsx as the top-level auth-aware wrapper
- Shared
NewsletterSignupCard / card shell for the outer chrome
- Shared
NewsletterSignupSuccessConfirmation for the success state
- Shared
NewsletterPrivacyMessage beneath the card
- Signed-in state can be kept as a small focused view inside the wrapper
Reuse
Existing request and tracking logic can likely be reused from SecureSignup.island.tsx, including:
useAuthStatus
postFormData
buildFormData
sendTracking
The privacy message placement pattern already exists in:
ContributionsEpicNewsletterSignup.tsx
NewsletterSignupLayout.tsx
Notes
- The
Preview latest CTA is intentionally out of scope here and will be added in a later ticket.
Out of scope
- Signed-out email entry flow
- Validation errors
- Active-field reveal behavior for logged-out users
- Feature flag work
- Preview latest button
Summary
Implement the signed-in flow for
NewsletterSignup.island.tsx, including matching Storybook coverage.Parent epic: @guardian/dotcom-rendering/issues/15677
Tasks
Sign upbutton in the signed-in experienceYou're signed upBrowse more newsletterslinkSuggested component structure
NewsletterSignup.island.tsxas the top-level auth-aware wrapperNewsletterSignupCard/ card shell for the outer chromeNewsletterSignupSuccessConfirmationfor the success stateNewsletterPrivacyMessagebeneath the cardReuse
Existing request and tracking logic can likely be reused from
SecureSignup.island.tsx, including:useAuthStatuspostFormDatabuildFormDatasendTrackingThe privacy message placement pattern already exists in:
ContributionsEpicNewsletterSignup.tsxNewsletterSignupLayout.tsxNotes
Preview latestCTA is intentionally out of scope here and will be added in a later ticket.Out of scope