1.6 KiB
1.6 KiB
Onboarding Welcome Specification
Purpose
A first-run welcome surface in the new visual language, explicitly monetization-free. Traceable to WU17.
Requirements
Requirement: Full-Screen Welcome Route
The welcome screen MUST render as a full-screen route (not a modal dialog), containing: logo mark, headline, body copy, exactly 3 feature bullets, and exactly one primary call-to-action ("Empezar a escuchar").
Scenario: All elements render, one CTA
- GIVEN the app launches for the first time
- WHEN the welcome screen renders
- THEN a logo, headline, body copy, and 3 feature bullets are visible
- AND exactly 1 primary CTA is present
Requirement: No Monetization Content (First-Class, Binding)
The welcome screen MUST NOT render a PRO pill, any trial-duration text (e.g. a day count), any price, or a secondary "free version" link. This follows the binding no-monetization decision for this change.
Scenario: Rendered content contains no monetization strings
- GIVEN the welcome screen is rendered
- WHEN its widget tree's text content is scanned
- THEN it contains none of: the substring "PRO", a currency amount, or a day-count trial phrase
- AND no secondary "free version" link is present
Requirement: CTA Dismisses to Escuchar
Tapping the primary CTA MUST dismiss the welcome screen and land on the Escuchar tab (index 0), with the welcome route removed from the navigation stack.
Scenario: CTA navigates to Escuchar
- GIVEN the welcome screen is showing
- WHEN the user taps "Empezar a escuchar"
- THEN the app shows the Escuchar tab
- AND the welcome route is no longer on the back stack