refactor(ajustes): split Settings AUDIO/EMISORAS into pushed detail screens
Moves the AUDIO group (Ecualizador, Salida de audio, Temporizador de
sueno) and the EMISORAS group (Grupos de favoritos, Emisora preferida,
Emisoras personalizadas, Orden de listas) out of pantalla_ajustes.dart
into 7 new lib/pantallas/ajustes/*.dart screens, each wrapped in
PluriPushScaffold. The root now reaches them through FilaAjuste rows
under two new GrupoAjustes cards (lib/pantallas/ajustes/widgets/
fila_ajuste.dart), per design ADR-3.
Verbatim-move rule applied throughout: only each section's panel header
(icon + title, sometimes a status chip) was removed, since the pushed
screen's own 56px header now carries the title. Two sections whose
header row carried a real action (Temporizador de sueno's "Add",
Grupos de favoritos' "Add list", Emisoras personalizadas' "Add") kept
that action in the body instead of dropping it.
size:exception (move-only diff, pre-recorded at design/tasks time):
34 files, ~4250 changed lines excluding the 13 auto-regenerated l10n
files (~90 more lines there) - higher than the 800-1000 estimate
because that estimate covered the 7 production screens but not the
matching 7 new test files (task 3a.2), one of which relocates ~10
pre-existing device-management test cases verbatim. Business logic is
untouched; app.dart's import of pantalla_ajustes.dart is unchanged.
Correction to tasks.md 3a.1/3a.8: those two lines describe the combined
WU3a+WU3b end state ("4 grouped nav lists", "<400 lines"), matching
design ADR-3's own aggregate blast-radius note - not a WU3a-only claim.
This commit converts only the 2 groups that are WU3a's job; the root
is 788 lines with 5 sections (Grabaciones, Musica local, Idioma,
Backup, Info) still inline, reachable, and unchanged, pending WU3b.
Two new ARB keys (settingsGroupAudioTitle, settingsGroupStationsTitle),
en/es only per the WU1 precedent - all 7 detail-screen titles reuse
existing keys. Discovered and worked around, without touching app
code: Directory.systemTemp hangs real dart:io writes in this sandbox,
and pumpAndSettle() cannot settle while a screen shows an indeterminate
CircularProgressIndicator - both are test-only concerns, documented
inline where hit.
Tests: 560 -> 579 (32 in this commit's scope, net +19 after retiring
13 relocated cases from the old combined pantalla_ajustes_test.dart).
flutter analyze: unchanged at 1 pre-existing info. git diff is empty
for navegacion_auto.dart, servicio_ecualizador.dart and
servicio_audio.dart; pantalla_alarma_sonando_dismiss_guard_test.dart
untouched.
This commit is contained in:
@@ -274,6 +274,18 @@ abstract class AppLocalizations {
|
||||
/// **'Control fino de sonido, copias de seguridad y emisoras personalizadas.'**
|
||||
String get settingsSubtitle;
|
||||
|
||||
/// No description provided for @settingsGroupAudioTitle.
|
||||
///
|
||||
/// In es, this message translates to:
|
||||
/// **'AUDIO'**
|
||||
String get settingsGroupAudioTitle;
|
||||
|
||||
/// No description provided for @settingsGroupStationsTitle.
|
||||
///
|
||||
/// In es, this message translates to:
|
||||
/// **'EMISORAS'**
|
||||
String get settingsGroupStationsTitle;
|
||||
|
||||
/// No description provided for @languageSectionTitle.
|
||||
///
|
||||
/// In es, this message translates to:
|
||||
|
||||
@@ -99,6 +99,12 @@ class AppLocalizationsAr extends AppLocalizations {
|
||||
String get settingsSubtitle =>
|
||||
'تحكم دقيق في الصوت والنسخ الاحتياطية والمحطات المخصصة.';
|
||||
|
||||
@override
|
||||
String get settingsGroupAudioTitle => 'AUDIO';
|
||||
|
||||
@override
|
||||
String get settingsGroupStationsTitle => 'EMISORAS';
|
||||
|
||||
@override
|
||||
String get languageSectionTitle => 'اللغة';
|
||||
|
||||
|
||||
@@ -100,6 +100,12 @@ class AppLocalizationsBn extends AppLocalizations {
|
||||
String get settingsSubtitle =>
|
||||
'শব্দ, ব্যাকআপ এবং নিজস্ব স্টেশনের সূক্ষ্ম নিয়ন্ত্রণ।';
|
||||
|
||||
@override
|
||||
String get settingsGroupAudioTitle => 'AUDIO';
|
||||
|
||||
@override
|
||||
String get settingsGroupStationsTitle => 'EMISORAS';
|
||||
|
||||
@override
|
||||
String get languageSectionTitle => 'ভাষা';
|
||||
|
||||
|
||||
@@ -99,6 +99,12 @@ class AppLocalizationsDe extends AppLocalizations {
|
||||
String get settingsSubtitle =>
|
||||
'Feinabstimmung von Klang, Backups und benutzerdefinierten Sendern.';
|
||||
|
||||
@override
|
||||
String get settingsGroupAudioTitle => 'AUDIO';
|
||||
|
||||
@override
|
||||
String get settingsGroupStationsTitle => 'EMISORAS';
|
||||
|
||||
@override
|
||||
String get languageSectionTitle => 'Sprache';
|
||||
|
||||
|
||||
@@ -99,6 +99,12 @@ class AppLocalizationsEn extends AppLocalizations {
|
||||
String get settingsSubtitle =>
|
||||
'Fine-grained sound control, backups, and custom stations.';
|
||||
|
||||
@override
|
||||
String get settingsGroupAudioTitle => 'AUDIO';
|
||||
|
||||
@override
|
||||
String get settingsGroupStationsTitle => 'STATIONS';
|
||||
|
||||
@override
|
||||
String get languageSectionTitle => 'Language';
|
||||
|
||||
|
||||
@@ -99,6 +99,12 @@ class AppLocalizationsEs extends AppLocalizations {
|
||||
String get settingsSubtitle =>
|
||||
'Control fino de sonido, copias de seguridad y emisoras personalizadas.';
|
||||
|
||||
@override
|
||||
String get settingsGroupAudioTitle => 'AUDIO';
|
||||
|
||||
@override
|
||||
String get settingsGroupStationsTitle => 'EMISORAS';
|
||||
|
||||
@override
|
||||
String get languageSectionTitle => 'Idioma';
|
||||
|
||||
|
||||
@@ -100,6 +100,12 @@ class AppLocalizationsFr extends AppLocalizations {
|
||||
String get settingsSubtitle =>
|
||||
'Réglage précis du son, sauvegardes et stations personnalisées.';
|
||||
|
||||
@override
|
||||
String get settingsGroupAudioTitle => 'AUDIO';
|
||||
|
||||
@override
|
||||
String get settingsGroupStationsTitle => 'EMISORAS';
|
||||
|
||||
@override
|
||||
String get languageSectionTitle => 'Langue';
|
||||
|
||||
|
||||
@@ -99,6 +99,12 @@ class AppLocalizationsHi extends AppLocalizations {
|
||||
String get settingsSubtitle =>
|
||||
'ध्वनि, बैकअप और मनचाहे स्टेशनों पर बारीक नियंत्रण।';
|
||||
|
||||
@override
|
||||
String get settingsGroupAudioTitle => 'AUDIO';
|
||||
|
||||
@override
|
||||
String get settingsGroupStationsTitle => 'EMISORAS';
|
||||
|
||||
@override
|
||||
String get languageSectionTitle => 'भाषा';
|
||||
|
||||
|
||||
@@ -100,6 +100,12 @@ class AppLocalizationsId extends AppLocalizations {
|
||||
String get settingsSubtitle =>
|
||||
'Kontrol halus untuk suara, cadangan, dan stasiun khusus.';
|
||||
|
||||
@override
|
||||
String get settingsGroupAudioTitle => 'AUDIO';
|
||||
|
||||
@override
|
||||
String get settingsGroupStationsTitle => 'EMISORAS';
|
||||
|
||||
@override
|
||||
String get languageSectionTitle => 'Bahasa';
|
||||
|
||||
|
||||
@@ -99,6 +99,12 @@ class AppLocalizationsIt extends AppLocalizations {
|
||||
String get settingsSubtitle =>
|
||||
'Controllo fine del suono, backup e stazioni personalizzate.';
|
||||
|
||||
@override
|
||||
String get settingsGroupAudioTitle => 'AUDIO';
|
||||
|
||||
@override
|
||||
String get settingsGroupStationsTitle => 'EMISORAS';
|
||||
|
||||
@override
|
||||
String get languageSectionTitle => 'Lingua';
|
||||
|
||||
|
||||
@@ -97,6 +97,12 @@ class AppLocalizationsJa extends AppLocalizations {
|
||||
@override
|
||||
String get settingsSubtitle => '音質、バックアップ、カスタム局を細かく管理します。';
|
||||
|
||||
@override
|
||||
String get settingsGroupAudioTitle => 'AUDIO';
|
||||
|
||||
@override
|
||||
String get settingsGroupStationsTitle => 'EMISORAS';
|
||||
|
||||
@override
|
||||
String get languageSectionTitle => '言語';
|
||||
|
||||
|
||||
@@ -99,6 +99,12 @@ class AppLocalizationsPt extends AppLocalizations {
|
||||
String get settingsSubtitle =>
|
||||
'Controle fino de som, backups e estações personalizadas.';
|
||||
|
||||
@override
|
||||
String get settingsGroupAudioTitle => 'AUDIO';
|
||||
|
||||
@override
|
||||
String get settingsGroupStationsTitle => 'EMISORAS';
|
||||
|
||||
@override
|
||||
String get languageSectionTitle => 'Idioma';
|
||||
|
||||
|
||||
@@ -99,6 +99,12 @@ class AppLocalizationsRu extends AppLocalizations {
|
||||
String get settingsSubtitle =>
|
||||
'Точная настройка звука, резервных копий и пользовательских станций.';
|
||||
|
||||
@override
|
||||
String get settingsGroupAudioTitle => 'AUDIO';
|
||||
|
||||
@override
|
||||
String get settingsGroupStationsTitle => 'EMISORAS';
|
||||
|
||||
@override
|
||||
String get languageSectionTitle => 'Язык';
|
||||
|
||||
|
||||
@@ -97,6 +97,12 @@ class AppLocalizationsZh extends AppLocalizations {
|
||||
@override
|
||||
String get settingsSubtitle => '精细控制声音、备份和自定义电台。';
|
||||
|
||||
@override
|
||||
String get settingsGroupAudioTitle => 'AUDIO';
|
||||
|
||||
@override
|
||||
String get settingsGroupStationsTitle => 'EMISORAS';
|
||||
|
||||
@override
|
||||
String get languageSectionTitle => '语言';
|
||||
|
||||
|
||||
Reference in New Issue
Block a user