SpotiFLAC-Mobile/lib/widgets
zarzet bfb0cad603 feat: add field selection dialog for bulk re-enrich metadata
Add a bottom sheet dialog that lets users choose which metadata field
groups to update during bulk re-enrich (cover, lyrics, album/album
artist, track/disc number, date/ISRC, genre/label/copyright).

Backend (Go):
- Filter FLAC Metadata struct and FFmpeg metadata map by selected
  update_fields so non-selected groups preserve existing file values
- Guard Deezer extended metadata fetch with shouldUpdateField(extra)
- Title/Artist are never overwritten by re-enrich (search keys only)
- enrichedMeta response only includes selected field groups

Frontend (Dart):
- New re_enrich_field_dialog.dart bottom sheet with checkboxes
- FFmpegService embed methods gain preserveMetadata param that uses
  -map_metadata 0 instead of -1 to preserve non-selected tags
- Hide selection overlay/bar before showing dialog, restore on cancel
- Fix setState-after-dispose guard in cancel branches

Cleanup:
- Remove dead code in library_tracks_folder_screen.dart
- Fix use_build_context_synchronously in main_shell.dart
- Suppress false-positive use_null_aware_elements lints
- Update l10n label from 'Title, Artist, Album' to 'Album, Album Artist'
2026-04-13 23:32:13 +07:00
..
animation_utils.dart fix(ui): skip popular section in artist skeleton for providers without top tracks 2026-03-27 13:27:07 +07:00
audio_analysis_widget.dart refactor: enable strict analysis options and fix type safety across codebase 2026-03-27 19:28:42 +07:00
batch_progress_dialog.dart feat: replace batch operation snackbars with progress dialog 2026-04-13 23:32:12 +07:00
bottom_sheet_option_tile.dart perf: lazy extension VM init, incremental startup maintenance, and UI optimizations 2026-03-25 19:55:02 +07:00
cached_cover_image.dart chore: cleanup unused code and dead imports 2026-01-20 02:10:10 +07:00
collapsing_header.dart chore: accessibility improvements, Semantics wrappers, and tooltip additions across screens 2026-03-08 15:08:13 +07:00
donate_icons.dart chore: clean up codebase 2026-03-26 16:43:56 +07:00
download_service_picker.dart fix: use Tidal quality options as fallback instead of DEFAULT for extensions 2026-04-13 23:32:12 +07:00
playlist_picker_sheet.dart feat: auto fill playlist name during import 2026-03-15 02:54:02 +00:00
priority_settings_scaffold.dart chore: accessibility improvements, Semantics wrappers, and tooltip additions across screens 2026-03-08 15:08:13 +07:00
re_enrich_field_dialog.dart feat: add field selection dialog for bulk re-enrich metadata 2026-04-13 23:32:13 +07:00
settings_group.dart refactor: continue code cleanup 2026-02-04 10:42:51 +07:00
track_collection_quick_actions.dart refactor: enable strict analysis options and fix type safety across codebase 2026-03-27 19:28:42 +07:00
update_dialog.dart feat: show 'Internal' version in debug builds, optimize download timeouts, and fix navigation safety 2026-03-12 04:02:14 +07:00