This POC implements a temporary signed-in preview experience for guest users to test the hypothesis that allowing non-registered users to build a temporary My News experience will increase BBC account registrations.
- Location:
src/app/components/SaveArticleButton/SaveArticleButtonGuestWithPreview/ - Features:
- Hover tooltip on save button with info: "Save this article for later. It will appear in your My News page."
- Save/unsave functionality using localStorage
- Confirmation notification after saving with link to My News
- Visual feedback showing saved state
- Location:
src/app/hooks/useTemporarySavedArticles/ - Features:
- Stores articles in browser localStorage
- 2-day expiry period
- Auto-cleanup on expiry
- Tracks save timestamp and article metadata
- Location:
ws-nextjs-app/pages/[service]/my-news/MyNewsPage/MyNewsPageTemporary/ - Features:
- Displays saved articles in a grid
- Prominent banner explaining temporary nature
- Shows countdown to expiry
- Prompts for registration/sign-in with call-to-action buttons
- Integrates with existing AccountActionButtons component
- Article Pages: Save button now uses
enableGuestPreviewprop to activate POC - My News Page: Automatically shows temporary view when user has saved articles but isn't signed in
- Smooth transition: When user signs in, they see their temporary saves migrate to permanent storage
The POC is enabled by default on article pages. The SaveArticleButton component accepts an enableGuestPreview prop:
<SaveArticleButton
saveArticlePageData={extractSaveArticleProps(articlePageData)}
enableGuestPreview={true}
/>-
Article with Save Button
- Guest user sees "Save for later" button
- Hovering shows tooltip explaining the feature
-
Clicking Save
- Article is saved to localStorage
- Confirmation notification appears with "View My News" link
-
Visiting My News Page
- Shows temporary My News page with:
- Banner: "This is a temporary page available for 2 days"
- Expiry countdown
- Sign in / Register buttons
- Grid of saved articles
- Shows temporary My News page with:
-
Registration/Sign-in
- User clicks register or sign in
- Completes account creation
- Returns to My News with personalized experience
- (Future enhancement: migrate temporary saves to permanent account)
- Key:
bbc_temp_saved_articles - Expiry Key:
bbc_temp_saved_articles_expiry - Format: JSON array of article objects
- Lifecycle: 2 days from first save
{
id: string;
title: string;
link: string;
imageUrl?: string;
imageAlt?: string;
promoImage?: string;
type: string;
description: string;
savedAt: number;
}SaveButton- Base save button componentCurationGrid- Displays article gridAccountActionButtons- Sign in/register buttonsAccountSignInModal- Modal for guest save (original flow)Heading,Text,CallToActionLink- UI primitives
src/app/hooks/useTemporarySavedArticles/index.tssrc/app/components/SaveArticleButton/SaveArticleButtonGuestWithPreview/index.tsxsrc/app/components/SaveArticleButton/SaveArticleButtonGuestWithPreview/SaveButtonTooltip.tsxsrc/app/components/SaveArticleButton/SaveArticleButtonGuestWithPreview/SaveArticleConfirmation.tsxws-nextjs-app/pages/[service]/my-news/MyNewsPage/MyNewsPageTemporary/index.tsx
src/app/components/SaveArticleButton/index.tsx- AddedenableGuestPreviewpropws-nextjs-app/pages/[service]/my-news/MyNewsPage/index.tsx- Added conditional rendering for temporary viewsrc/app/pages/ArticlePage/ArticlePage.tsx- Enabled guest preview on article pages
- Migration on Sign-in: Transfer temporary saves to permanent UAS storage when user creates account
- Analytics: Track conversion rates from temporary saves to registrations
- Recommendations: Show personalized recommendations based on temporary saves
- Persistence Warning: Show warning before expiry (e.g., "1 hour left")
- Cross-device: Sync temporary saves using anonymous token
- Topic/Place Following: Extend to topics and places, not just articles
This POC does not include test suites as requested. For manual testing:
- Open any article page as a guest user
- Hover over the save button to see tooltip
- Click save and verify confirmation appears
- Navigate to My News page
- Verify temporary banner and articles display
- Wait 2 days or manually clear localStorage to test expiry
- Sign in to test transition (saves will not migrate in POC)
[copilot]