feat(bienvenida): add monetization-free welcome screen
Build the first-run welcome surface from mockup screen 14, stripped of its entire monetization block: no PRO pill, no "14 dias PRO gratis" trial line, no pricing card, no secondary "free version" link. Ships only logo, headline, body copy, exactly 3 feature bullets, and the single "Empezar a escuchar" CTA, as a full-screen route (not a modal). Spanish copy is re-cast from the mockup's "tu" form to the app's established voseo register (matching ~750 existing app_es.arb lines), using "auto" instead of "coche" per the one existing precedent. The 3 bullet icons reuse existing tokens (electricMagenta/liveGreen/ warmCoral) that already match the mockup's own hex values for them. CTA switches to the Escuchar tab and pops the route. Wiring this screen into the real first-launch flow (main.dart/app.dart) is left for a follow-up unit, same shape as WU15/WU15b - this WU only covers the isolated, tested screen per its own task list and verify command. WU17.
This commit is contained in:
@@ -2869,6 +2869,60 @@ abstract class AppLocalizations {
|
||||
/// In es, this message translates to:
|
||||
/// **'Carpeta seleccionada'**
|
||||
String get localMusicFolderGenericName;
|
||||
|
||||
/// No description provided for @welcomeHeadline.
|
||||
///
|
||||
/// In es, this message translates to:
|
||||
/// **'Tu mundo, en directo'**
|
||||
String get welcomeHeadline;
|
||||
|
||||
/// No description provided for @welcomeBody.
|
||||
///
|
||||
/// In es, this message translates to:
|
||||
/// **'53.412 emisoras de 238 países. Guardá tus favoritas, llevalas al auto y despertate con ellas.'**
|
||||
String get welcomeBody;
|
||||
|
||||
/// No description provided for @welcomeBullet1Title.
|
||||
///
|
||||
/// In es, this message translates to:
|
||||
/// **'Ecualizador por emisora'**
|
||||
String get welcomeBullet1Title;
|
||||
|
||||
/// No description provided for @welcomeBullet1Subtitle.
|
||||
///
|
||||
/// In es, this message translates to:
|
||||
/// **'Y un preset por dispositivo de salida'**
|
||||
String get welcomeBullet1Subtitle;
|
||||
|
||||
/// No description provided for @welcomeBullet2Title.
|
||||
///
|
||||
/// In es, this message translates to:
|
||||
/// **'Android Auto'**
|
||||
String get welcomeBullet2Title;
|
||||
|
||||
/// No description provided for @welcomeBullet2Subtitle.
|
||||
///
|
||||
/// In es, this message translates to:
|
||||
/// **'Tus favoritas y tu música local en el auto'**
|
||||
String get welcomeBullet2Subtitle;
|
||||
|
||||
/// No description provided for @welcomeBullet3Title.
|
||||
///
|
||||
/// In es, this message translates to:
|
||||
/// **'Alarmas musicales'**
|
||||
String get welcomeBullet3Title;
|
||||
|
||||
/// No description provided for @welcomeBullet3Subtitle.
|
||||
///
|
||||
/// In es, this message translates to:
|
||||
/// **'Con subida progresiva y modo vacaciones'**
|
||||
String get welcomeBullet3Subtitle;
|
||||
|
||||
/// No description provided for @welcomeCtaLabel.
|
||||
///
|
||||
/// In es, this message translates to:
|
||||
/// **'Empezar a escuchar'**
|
||||
String get welcomeCtaLabel;
|
||||
}
|
||||
|
||||
class _AppLocalizationsDelegate
|
||||
|
||||
@@ -1580,4 +1580,34 @@ class AppLocalizationsAr extends AppLocalizations {
|
||||
|
||||
@override
|
||||
String get localMusicFolderGenericName => 'مجلد محدد';
|
||||
|
||||
@override
|
||||
String get welcomeHeadline => 'Tu mundo, en directo';
|
||||
|
||||
@override
|
||||
String get welcomeBody =>
|
||||
'53.412 emisoras de 238 países. Guardá tus favoritas, llevalas al auto y despertate con ellas.';
|
||||
|
||||
@override
|
||||
String get welcomeBullet1Title => 'Ecualizador por emisora';
|
||||
|
||||
@override
|
||||
String get welcomeBullet1Subtitle => 'Y un preset por dispositivo de salida';
|
||||
|
||||
@override
|
||||
String get welcomeBullet2Title => 'Android Auto';
|
||||
|
||||
@override
|
||||
String get welcomeBullet2Subtitle =>
|
||||
'Tus favoritas y tu música local en el auto';
|
||||
|
||||
@override
|
||||
String get welcomeBullet3Title => 'Alarmas musicales';
|
||||
|
||||
@override
|
||||
String get welcomeBullet3Subtitle =>
|
||||
'Con subida progresiva y modo vacaciones';
|
||||
|
||||
@override
|
||||
String get welcomeCtaLabel => 'Empezar a escuchar';
|
||||
}
|
||||
|
||||
@@ -1588,4 +1588,34 @@ class AppLocalizationsBn extends AppLocalizations {
|
||||
|
||||
@override
|
||||
String get localMusicFolderGenericName => 'নির্বাচিত ফোল্ডার';
|
||||
|
||||
@override
|
||||
String get welcomeHeadline => 'Tu mundo, en directo';
|
||||
|
||||
@override
|
||||
String get welcomeBody =>
|
||||
'53.412 emisoras de 238 países. Guardá tus favoritas, llevalas al auto y despertate con ellas.';
|
||||
|
||||
@override
|
||||
String get welcomeBullet1Title => 'Ecualizador por emisora';
|
||||
|
||||
@override
|
||||
String get welcomeBullet1Subtitle => 'Y un preset por dispositivo de salida';
|
||||
|
||||
@override
|
||||
String get welcomeBullet2Title => 'Android Auto';
|
||||
|
||||
@override
|
||||
String get welcomeBullet2Subtitle =>
|
||||
'Tus favoritas y tu música local en el auto';
|
||||
|
||||
@override
|
||||
String get welcomeBullet3Title => 'Alarmas musicales';
|
||||
|
||||
@override
|
||||
String get welcomeBullet3Subtitle =>
|
||||
'Con subida progresiva y modo vacaciones';
|
||||
|
||||
@override
|
||||
String get welcomeCtaLabel => 'Empezar a escuchar';
|
||||
}
|
||||
|
||||
@@ -1599,4 +1599,34 @@ class AppLocalizationsDe extends AppLocalizations {
|
||||
|
||||
@override
|
||||
String get localMusicFolderGenericName => 'Ausgewählter Ordner';
|
||||
|
||||
@override
|
||||
String get welcomeHeadline => 'Tu mundo, en directo';
|
||||
|
||||
@override
|
||||
String get welcomeBody =>
|
||||
'53.412 emisoras de 238 países. Guardá tus favoritas, llevalas al auto y despertate con ellas.';
|
||||
|
||||
@override
|
||||
String get welcomeBullet1Title => 'Ecualizador por emisora';
|
||||
|
||||
@override
|
||||
String get welcomeBullet1Subtitle => 'Y un preset por dispositivo de salida';
|
||||
|
||||
@override
|
||||
String get welcomeBullet2Title => 'Android Auto';
|
||||
|
||||
@override
|
||||
String get welcomeBullet2Subtitle =>
|
||||
'Tus favoritas y tu música local en el auto';
|
||||
|
||||
@override
|
||||
String get welcomeBullet3Title => 'Alarmas musicales';
|
||||
|
||||
@override
|
||||
String get welcomeBullet3Subtitle =>
|
||||
'Con subida progresiva y modo vacaciones';
|
||||
|
||||
@override
|
||||
String get welcomeCtaLabel => 'Empezar a escuchar';
|
||||
}
|
||||
|
||||
@@ -1581,4 +1581,34 @@ class AppLocalizationsEn extends AppLocalizations {
|
||||
|
||||
@override
|
||||
String get localMusicFolderGenericName => 'Selected folder';
|
||||
|
||||
@override
|
||||
String get welcomeHeadline => 'Your world, live';
|
||||
|
||||
@override
|
||||
String get welcomeBody =>
|
||||
'53,412 stations from 238 countries. Save your favorites, take them to the car, and wake up to them.';
|
||||
|
||||
@override
|
||||
String get welcomeBullet1Title => 'Per-station equalizer';
|
||||
|
||||
@override
|
||||
String get welcomeBullet1Subtitle => 'Plus a preset per output device';
|
||||
|
||||
@override
|
||||
String get welcomeBullet2Title => 'Android Auto';
|
||||
|
||||
@override
|
||||
String get welcomeBullet2Subtitle =>
|
||||
'Your favorites and local music in the car';
|
||||
|
||||
@override
|
||||
String get welcomeBullet3Title => 'Music alarms';
|
||||
|
||||
@override
|
||||
String get welcomeBullet3Subtitle =>
|
||||
'With gradual volume rise and vacation mode';
|
||||
|
||||
@override
|
||||
String get welcomeCtaLabel => 'Start listening';
|
||||
}
|
||||
|
||||
@@ -1594,4 +1594,34 @@ class AppLocalizationsEs extends AppLocalizations {
|
||||
|
||||
@override
|
||||
String get localMusicFolderGenericName => 'Carpeta seleccionada';
|
||||
|
||||
@override
|
||||
String get welcomeHeadline => 'Tu mundo, en directo';
|
||||
|
||||
@override
|
||||
String get welcomeBody =>
|
||||
'53.412 emisoras de 238 países. Guardá tus favoritas, llevalas al auto y despertate con ellas.';
|
||||
|
||||
@override
|
||||
String get welcomeBullet1Title => 'Ecualizador por emisora';
|
||||
|
||||
@override
|
||||
String get welcomeBullet1Subtitle => 'Y un preset por dispositivo de salida';
|
||||
|
||||
@override
|
||||
String get welcomeBullet2Title => 'Android Auto';
|
||||
|
||||
@override
|
||||
String get welcomeBullet2Subtitle =>
|
||||
'Tus favoritas y tu música local en el auto';
|
||||
|
||||
@override
|
||||
String get welcomeBullet3Title => 'Alarmas musicales';
|
||||
|
||||
@override
|
||||
String get welcomeBullet3Subtitle =>
|
||||
'Con subida progresiva y modo vacaciones';
|
||||
|
||||
@override
|
||||
String get welcomeCtaLabel => 'Empezar a escuchar';
|
||||
}
|
||||
|
||||
@@ -1603,4 +1603,34 @@ class AppLocalizationsFr extends AppLocalizations {
|
||||
|
||||
@override
|
||||
String get localMusicFolderGenericName => 'Dossier sélectionné';
|
||||
|
||||
@override
|
||||
String get welcomeHeadline => 'Tu mundo, en directo';
|
||||
|
||||
@override
|
||||
String get welcomeBody =>
|
||||
'53.412 emisoras de 238 países. Guardá tus favoritas, llevalas al auto y despertate con ellas.';
|
||||
|
||||
@override
|
||||
String get welcomeBullet1Title => 'Ecualizador por emisora';
|
||||
|
||||
@override
|
||||
String get welcomeBullet1Subtitle => 'Y un preset por dispositivo de salida';
|
||||
|
||||
@override
|
||||
String get welcomeBullet2Title => 'Android Auto';
|
||||
|
||||
@override
|
||||
String get welcomeBullet2Subtitle =>
|
||||
'Tus favoritas y tu música local en el auto';
|
||||
|
||||
@override
|
||||
String get welcomeBullet3Title => 'Alarmas musicales';
|
||||
|
||||
@override
|
||||
String get welcomeBullet3Subtitle =>
|
||||
'Con subida progresiva y modo vacaciones';
|
||||
|
||||
@override
|
||||
String get welcomeCtaLabel => 'Empezar a escuchar';
|
||||
}
|
||||
|
||||
@@ -1586,4 +1586,34 @@ class AppLocalizationsHi extends AppLocalizations {
|
||||
|
||||
@override
|
||||
String get localMusicFolderGenericName => 'चयनित फ़ोल्डर';
|
||||
|
||||
@override
|
||||
String get welcomeHeadline => 'Tu mundo, en directo';
|
||||
|
||||
@override
|
||||
String get welcomeBody =>
|
||||
'53.412 emisoras de 238 países. Guardá tus favoritas, llevalas al auto y despertate con ellas.';
|
||||
|
||||
@override
|
||||
String get welcomeBullet1Title => 'Ecualizador por emisora';
|
||||
|
||||
@override
|
||||
String get welcomeBullet1Subtitle => 'Y un preset por dispositivo de salida';
|
||||
|
||||
@override
|
||||
String get welcomeBullet2Title => 'Android Auto';
|
||||
|
||||
@override
|
||||
String get welcomeBullet2Subtitle =>
|
||||
'Tus favoritas y tu música local en el auto';
|
||||
|
||||
@override
|
||||
String get welcomeBullet3Title => 'Alarmas musicales';
|
||||
|
||||
@override
|
||||
String get welcomeBullet3Subtitle =>
|
||||
'Con subida progresiva y modo vacaciones';
|
||||
|
||||
@override
|
||||
String get welcomeCtaLabel => 'Empezar a escuchar';
|
||||
}
|
||||
|
||||
@@ -1592,4 +1592,34 @@ class AppLocalizationsId extends AppLocalizations {
|
||||
|
||||
@override
|
||||
String get localMusicFolderGenericName => 'Folder terpilih';
|
||||
|
||||
@override
|
||||
String get welcomeHeadline => 'Tu mundo, en directo';
|
||||
|
||||
@override
|
||||
String get welcomeBody =>
|
||||
'53.412 emisoras de 238 países. Guardá tus favoritas, llevalas al auto y despertate con ellas.';
|
||||
|
||||
@override
|
||||
String get welcomeBullet1Title => 'Ecualizador por emisora';
|
||||
|
||||
@override
|
||||
String get welcomeBullet1Subtitle => 'Y un preset por dispositivo de salida';
|
||||
|
||||
@override
|
||||
String get welcomeBullet2Title => 'Android Auto';
|
||||
|
||||
@override
|
||||
String get welcomeBullet2Subtitle =>
|
||||
'Tus favoritas y tu música local en el auto';
|
||||
|
||||
@override
|
||||
String get welcomeBullet3Title => 'Alarmas musicales';
|
||||
|
||||
@override
|
||||
String get welcomeBullet3Subtitle =>
|
||||
'Con subida progresiva y modo vacaciones';
|
||||
|
||||
@override
|
||||
String get welcomeCtaLabel => 'Empezar a escuchar';
|
||||
}
|
||||
|
||||
@@ -1598,4 +1598,34 @@ class AppLocalizationsIt extends AppLocalizations {
|
||||
|
||||
@override
|
||||
String get localMusicFolderGenericName => 'Cartella selezionata';
|
||||
|
||||
@override
|
||||
String get welcomeHeadline => 'Tu mundo, en directo';
|
||||
|
||||
@override
|
||||
String get welcomeBody =>
|
||||
'53.412 emisoras de 238 países. Guardá tus favoritas, llevalas al auto y despertate con ellas.';
|
||||
|
||||
@override
|
||||
String get welcomeBullet1Title => 'Ecualizador por emisora';
|
||||
|
||||
@override
|
||||
String get welcomeBullet1Subtitle => 'Y un preset por dispositivo de salida';
|
||||
|
||||
@override
|
||||
String get welcomeBullet2Title => 'Android Auto';
|
||||
|
||||
@override
|
||||
String get welcomeBullet2Subtitle =>
|
||||
'Tus favoritas y tu música local en el auto';
|
||||
|
||||
@override
|
||||
String get welcomeBullet3Title => 'Alarmas musicales';
|
||||
|
||||
@override
|
||||
String get welcomeBullet3Subtitle =>
|
||||
'Con subida progresiva y modo vacaciones';
|
||||
|
||||
@override
|
||||
String get welcomeCtaLabel => 'Empezar a escuchar';
|
||||
}
|
||||
|
||||
@@ -1545,4 +1545,34 @@ class AppLocalizationsJa extends AppLocalizations {
|
||||
|
||||
@override
|
||||
String get localMusicFolderGenericName => '選択したフォルダー';
|
||||
|
||||
@override
|
||||
String get welcomeHeadline => 'Tu mundo, en directo';
|
||||
|
||||
@override
|
||||
String get welcomeBody =>
|
||||
'53.412 emisoras de 238 países. Guardá tus favoritas, llevalas al auto y despertate con ellas.';
|
||||
|
||||
@override
|
||||
String get welcomeBullet1Title => 'Ecualizador por emisora';
|
||||
|
||||
@override
|
||||
String get welcomeBullet1Subtitle => 'Y un preset por dispositivo de salida';
|
||||
|
||||
@override
|
||||
String get welcomeBullet2Title => 'Android Auto';
|
||||
|
||||
@override
|
||||
String get welcomeBullet2Subtitle =>
|
||||
'Tus favoritas y tu música local en el auto';
|
||||
|
||||
@override
|
||||
String get welcomeBullet3Title => 'Alarmas musicales';
|
||||
|
||||
@override
|
||||
String get welcomeBullet3Subtitle =>
|
||||
'Con subida progresiva y modo vacaciones';
|
||||
|
||||
@override
|
||||
String get welcomeCtaLabel => 'Empezar a escuchar';
|
||||
}
|
||||
|
||||
@@ -1590,4 +1590,34 @@ class AppLocalizationsPt extends AppLocalizations {
|
||||
|
||||
@override
|
||||
String get localMusicFolderGenericName => 'Pasta selecionada';
|
||||
|
||||
@override
|
||||
String get welcomeHeadline => 'Tu mundo, en directo';
|
||||
|
||||
@override
|
||||
String get welcomeBody =>
|
||||
'53.412 emisoras de 238 países. Guardá tus favoritas, llevalas al auto y despertate con ellas.';
|
||||
|
||||
@override
|
||||
String get welcomeBullet1Title => 'Ecualizador por emisora';
|
||||
|
||||
@override
|
||||
String get welcomeBullet1Subtitle => 'Y un preset por dispositivo de salida';
|
||||
|
||||
@override
|
||||
String get welcomeBullet2Title => 'Android Auto';
|
||||
|
||||
@override
|
||||
String get welcomeBullet2Subtitle =>
|
||||
'Tus favoritas y tu música local en el auto';
|
||||
|
||||
@override
|
||||
String get welcomeBullet3Title => 'Alarmas musicales';
|
||||
|
||||
@override
|
||||
String get welcomeBullet3Subtitle =>
|
||||
'Con subida progresiva y modo vacaciones';
|
||||
|
||||
@override
|
||||
String get welcomeCtaLabel => 'Empezar a escuchar';
|
||||
}
|
||||
|
||||
@@ -1594,4 +1594,34 @@ class AppLocalizationsRu extends AppLocalizations {
|
||||
|
||||
@override
|
||||
String get localMusicFolderGenericName => 'Выбранная папка';
|
||||
|
||||
@override
|
||||
String get welcomeHeadline => 'Tu mundo, en directo';
|
||||
|
||||
@override
|
||||
String get welcomeBody =>
|
||||
'53.412 emisoras de 238 países. Guardá tus favoritas, llevalas al auto y despertate con ellas.';
|
||||
|
||||
@override
|
||||
String get welcomeBullet1Title => 'Ecualizador por emisora';
|
||||
|
||||
@override
|
||||
String get welcomeBullet1Subtitle => 'Y un preset por dispositivo de salida';
|
||||
|
||||
@override
|
||||
String get welcomeBullet2Title => 'Android Auto';
|
||||
|
||||
@override
|
||||
String get welcomeBullet2Subtitle =>
|
||||
'Tus favoritas y tu música local en el auto';
|
||||
|
||||
@override
|
||||
String get welcomeBullet3Title => 'Alarmas musicales';
|
||||
|
||||
@override
|
||||
String get welcomeBullet3Subtitle =>
|
||||
'Con subida progresiva y modo vacaciones';
|
||||
|
||||
@override
|
||||
String get welcomeCtaLabel => 'Empezar a escuchar';
|
||||
}
|
||||
|
||||
@@ -1537,4 +1537,34 @@ class AppLocalizationsZh extends AppLocalizations {
|
||||
|
||||
@override
|
||||
String get localMusicFolderGenericName => '已选文件夹';
|
||||
|
||||
@override
|
||||
String get welcomeHeadline => 'Tu mundo, en directo';
|
||||
|
||||
@override
|
||||
String get welcomeBody =>
|
||||
'53.412 emisoras de 238 países. Guardá tus favoritas, llevalas al auto y despertate con ellas.';
|
||||
|
||||
@override
|
||||
String get welcomeBullet1Title => 'Ecualizador por emisora';
|
||||
|
||||
@override
|
||||
String get welcomeBullet1Subtitle => 'Y un preset por dispositivo de salida';
|
||||
|
||||
@override
|
||||
String get welcomeBullet2Title => 'Android Auto';
|
||||
|
||||
@override
|
||||
String get welcomeBullet2Subtitle =>
|
||||
'Tus favoritas y tu música local en el auto';
|
||||
|
||||
@override
|
||||
String get welcomeBullet3Title => 'Alarmas musicales';
|
||||
|
||||
@override
|
||||
String get welcomeBullet3Subtitle =>
|
||||
'Con subida progresiva y modo vacaciones';
|
||||
|
||||
@override
|
||||
String get welcomeCtaLabel => 'Empezar a escuchar';
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user