feat(lyrics): animate pronunciation and translation visibility

Add a contextual language menu for available lyric supplements in portrait and landscape. Remember independent visibility choices across tracks and player sessions without changing embedded lyrics or download options.

Fade and collapse supplements over 320 ms while interpolating lyric row heights and keeping the active line aligned. Honor reduced motion and control auto-hide; cover menu availability, persistence, animation, and word timing in widget tests.
This commit is contained in:
zarzet committed 2026-09-25 10:29:22 +07:00
1 parent 87321c7efd
commit 3ca881b169
8 files changed
+500 -33

No files matched your search

+4
View File
@@ -101,6 +101,8 @@ AppSettings _$AppSettingsFromJson(Map<String, dynamic> json) => AppSettings(
allowQualityVariants: json['allowQualityVariants'] as bool? ?? false,
saveDownloadHistory: json['saveDownloadHistory'] as bool? ?? true,
playerMode: json['playerMode'] as String? ?? 'external',
playerShowPronunciation: json['playerShowPronunciation'] as bool? ?? true,
playerShowTranslation: json['playerShowTranslation'] as bool? ?? true,
);
Map<String, dynamic> _$AppSettingsToJson(
@@ -181,4 +183,6 @@ Map<String, dynamic> _$AppSettingsToJson(
'allowQualityVariants': instance.allowQualityVariants,
'saveDownloadHistory': instance.saveDownloadHistory,
'playerMode': instance.playerMode,
'playerShowPronunciation': instance.playerShowPronunciation,
'playerShowTranslation': instance.playerShowTranslation,
};