Skip to content

feat: embedded paywall, CLIENT type handling, improved images#6

Merged
kherembourg merged 2 commits intomainfrom
feat/final-polish
Mar 30, 2026
Merged

feat: embedded paywall, CLIENT type handling, improved images#6
kherembourg merged 2 commits intomainfrom
feat/final-polish

Conversation

@kherembourg
Copy link
Copy Markdown
Contributor

Summary

  • Embedded paywall banner on Android Home screen for non-premium users via PLYPresentationView using "home_banner" placement (iOS skipped — no embedded view API in current SDK)
  • CLIENT presentation type handling in all fetchPresentation call sites on both platforms — logs and gracefully handles custom paywall scenarios
  • Improved placeholder images for non-alcoholic cocktails — radial gradient vignettes replacing flat gradients

CLIENT type handling added to:

File Placements
HomeScreen (both) filters
DetailScreen/ViewModel (both) recipe_detail, favorites
FavoritesScreen (both) favorites
SettingsScreen (both) onboarding
OnboardingScreen (iOS) onboarding

Console setup needed

  • Create home_banner placement for embedded paywall (Android)
  • Configure a placement to return CLIENT type to test custom paywall flow

Test plan

  • Android: Non-premium users see embedded banner on Home (if home_banner placement exists)
  • Both: When console returns CLIENT type, app logs instead of crashing
  • Both: Normal paywall flow still works for non-CLIENT presentations
  • Both: New cocktail images display with vignette gradient

🤖 Generated with Claude Code

kherembourg and others added 2 commits March 30, 2026 19:24
Guard against .client type presentations across all fetchPresentation call sites
(filters, recipe_detail, favorites, onboarding) — log and return instead of
attempting to display a server-built screen the app must render itself.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Add EmbeddedPaywallBanner composable using Purchasely.presentationView()
  with placement "home_banner", shown as a LazyVerticalGrid header item
  for non-premium users on the Home screen
- Add PLYPresentationType.CLIENT guard in all fetchPresentation call sites
  (HomeScreen/filters, DetailScreen/favorites+recipe_detail,
  FavoritesScreen/favorites, SettingsScreen/onboarding) — logs and skips
  display() for client-built paywalls

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@kherembourg kherembourg merged commit 59384ef into main Mar 30, 2026
2 checks passed
@kherembourg kherembourg deleted the feat/final-polish branch March 30, 2026 17:25
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant