docs(sdd): add delta specs for the functional redesign
This commit is contained in:
@@ -0,0 +1,47 @@
|
||||
# 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
|
||||
Reference in New Issue
Block a user