Skip to content

Commit 813ed79

Browse files
committed
refactor: conditionally show lyrics settings only when embed lyrics is enabled
1 parent 537bab6 commit 813ed79

File tree

1 file changed

+69
-69
lines changed

1 file changed

+69
-69
lines changed

lib/screens/settings/download_settings_page.dart

Lines changed: 69 additions & 69 deletions
Original file line numberDiff line numberDiff line change
@@ -306,80 +306,80 @@ class _DownloadSettingsPageState extends ConsumerState<DownloadSettingsPage> {
306306
onChanged: (value) => ref
307307
.read(settingsProvider.notifier)
308308
.setEmbedLyrics(value),
309+
showDivider: settings.embedLyrics,
309310
),
310-
SettingsItem(
311-
icon: Icons.lyrics_outlined,
312-
title: context.l10n.lyricsMode,
313-
subtitle: settings.embedLyrics
314-
? _getLyricsModeLabel(context, settings.lyricsMode)
315-
: context.l10n.extensionsDisabled,
316-
onTap: settings.embedLyrics
317-
? () => _showLyricsModePicker(
318-
context,
319-
ref,
320-
settings.lyricsMode,
321-
)
322-
: null,
323-
),
324-
SettingsItem(
325-
icon: Icons.source_outlined,
326-
title: 'Lyrics Providers',
327-
subtitle: _getLyricsProvidersSubtitle(
328-
settings.lyricsProviders,
311+
if (settings.embedLyrics) ...[
312+
SettingsItem(
313+
icon: Icons.lyrics_outlined,
314+
title: context.l10n.lyricsMode,
315+
subtitle:
316+
_getLyricsModeLabel(context, settings.lyricsMode),
317+
onTap: () => _showLyricsModePicker(
318+
context,
319+
ref,
320+
settings.lyricsMode,
321+
),
329322
),
330-
onTap: () => Navigator.push(
331-
context,
332-
MaterialPageRoute(
333-
builder: (_) => const LyricsProviderPriorityPage(),
323+
SettingsItem(
324+
icon: Icons.source_outlined,
325+
title: 'Lyrics Providers',
326+
subtitle: _getLyricsProvidersSubtitle(
327+
settings.lyricsProviders,
328+
),
329+
onTap: () => Navigator.push(
330+
context,
331+
MaterialPageRoute(
332+
builder: (_) => const LyricsProviderPriorityPage(),
333+
),
334334
),
335335
),
336-
),
337-
SettingsSwitchItem(
338-
icon: Icons.translate_outlined,
339-
title: 'Netease: Include Translation',
340-
subtitle: settings.lyricsIncludeTranslationNetease
341-
? 'Append translated lyrics when available'
342-
: 'Use original lyrics only',
343-
value: settings.lyricsIncludeTranslationNetease,
344-
onChanged: (value) => ref
345-
.read(settingsProvider.notifier)
346-
.setLyricsIncludeTranslationNetease(value),
347-
),
348-
SettingsSwitchItem(
349-
icon: Icons.text_fields_outlined,
350-
title: 'Netease: Include Romanization',
351-
subtitle: settings.lyricsIncludeRomanizationNetease
352-
? 'Append romanized lyrics when available'
353-
: 'Disabled',
354-
value: settings.lyricsIncludeRomanizationNetease,
355-
onChanged: (value) => ref
356-
.read(settingsProvider.notifier)
357-
.setLyricsIncludeRomanizationNetease(value),
358-
),
359-
SettingsSwitchItem(
360-
icon: Icons.record_voice_over_outlined,
361-
title: 'Apple/QQ Multi-Person Word-by-Word',
362-
subtitle: settings.lyricsMultiPersonWordByWord
363-
? 'Enable v1/v2 speaker and [bg:] tags'
364-
: 'Simplified word-by-word formatting',
365-
value: settings.lyricsMultiPersonWordByWord,
366-
onChanged: (value) => ref
367-
.read(settingsProvider.notifier)
368-
.setLyricsMultiPersonWordByWord(value),
369-
),
370-
SettingsItem(
371-
icon: Icons.language_outlined,
372-
title: 'Musixmatch Language',
373-
subtitle: settings.musixmatchLanguage.isEmpty
374-
? 'Auto (original)'
375-
: settings.musixmatchLanguage.toUpperCase(),
376-
onTap: () => _showMusixmatchLanguagePicker(
377-
context,
378-
ref,
379-
settings.musixmatchLanguage,
336+
SettingsSwitchItem(
337+
icon: Icons.translate_outlined,
338+
title: 'Netease: Include Translation',
339+
subtitle: settings.lyricsIncludeTranslationNetease
340+
? 'Append translated lyrics when available'
341+
: 'Use original lyrics only',
342+
value: settings.lyricsIncludeTranslationNetease,
343+
onChanged: (value) => ref
344+
.read(settingsProvider.notifier)
345+
.setLyricsIncludeTranslationNetease(value),
380346
),
381-
showDivider: false,
382-
),
347+
SettingsSwitchItem(
348+
icon: Icons.text_fields_outlined,
349+
title: 'Netease: Include Romanization',
350+
subtitle: settings.lyricsIncludeRomanizationNetease
351+
? 'Append romanized lyrics when available'
352+
: 'Disabled',
353+
value: settings.lyricsIncludeRomanizationNetease,
354+
onChanged: (value) => ref
355+
.read(settingsProvider.notifier)
356+
.setLyricsIncludeRomanizationNetease(value),
357+
),
358+
SettingsSwitchItem(
359+
icon: Icons.record_voice_over_outlined,
360+
title: 'Apple/QQ Multi-Person Word-by-Word',
361+
subtitle: settings.lyricsMultiPersonWordByWord
362+
? 'Enable v1/v2 speaker and [bg:] tags'
363+
: 'Simplified word-by-word formatting',
364+
value: settings.lyricsMultiPersonWordByWord,
365+
onChanged: (value) => ref
366+
.read(settingsProvider.notifier)
367+
.setLyricsMultiPersonWordByWord(value),
368+
),
369+
SettingsItem(
370+
icon: Icons.language_outlined,
371+
title: 'Musixmatch Language',
372+
subtitle: settings.musixmatchLanguage.isEmpty
373+
? 'Auto (original)'
374+
: settings.musixmatchLanguage.toUpperCase(),
375+
onTap: () => _showMusixmatchLanguagePicker(
376+
context,
377+
ref,
378+
settings.musixmatchLanguage,
379+
),
380+
showDivider: false,
381+
),
382+
],
383383
],
384384
),
385385
),

0 commit comments

Comments
 (0)