mirror of
https://github.com/zarzet/SpotiFLAC-Mobile.git
synced 2026-09-30 13:19:44 +02:00
Add a selectable Mornye theme with shared glass controls, dialogs, sheets, notifications, and collection headers while retaining Material components. Update player artwork, lyrics transitions and highlighting, synchronized rolling time labels, volume controls, and compact navigation. Unify metadata, Library, search, and extension surfaces; preserve restored artwork and report extension load failures. Validation: full Flutter analyzer clean; 713 tests passed and 4 skipped; pinned Dart formatting and diff checks passed; signed ARM64 and ARM32 release APKs built and verified.
162 lines
7.1 KiB
Dart
162 lines
7.1 KiB
Dart
import 'package:flutter/cupertino.dart' show CupertinoIcons;
|
|
import 'package:flutter/material.dart';
|
|
|
|
/// Cupertino counterparts for the shared Settings and extension UI symbols.
|
|
IconData mornyeIconFor(IconData icon) {
|
|
if (icon.fontFamily == CupertinoIcons.iconFont) return icon;
|
|
return switch (icon) {
|
|
Icons.extension ||
|
|
Icons.extension_outlined ||
|
|
Icons.apps ||
|
|
Icons.grid_view ||
|
|
Icons.grid_view_outlined ||
|
|
Icons.grid_view_rounded => CupertinoIcons.square_grid_2x2,
|
|
Icons.palette_outlined ||
|
|
Icons.color_lens_outlined => CupertinoIcons.paintbrush,
|
|
Icons.library_music ||
|
|
Icons.library_music_outlined ||
|
|
Icons.playlist_play_outlined ||
|
|
Icons.queue_music_outlined => CupertinoIcons.music_note_list,
|
|
Icons.sell_outlined ||
|
|
Icons.label_outline ||
|
|
Icons.tag => CupertinoIcons.tag,
|
|
Icons.lyrics ||
|
|
Icons.lyrics_outlined ||
|
|
Icons.subtitles_outlined ||
|
|
Icons.forum_outlined => CupertinoIcons.quote_bubble,
|
|
Icons.download ||
|
|
Icons.download_outlined ||
|
|
Icons.file_download_outlined ||
|
|
Icons.downloading_outlined => CupertinoIcons.arrow_down_circle,
|
|
Icons.folder_outlined ||
|
|
Icons.folder_special_outlined => CupertinoIcons.folder,
|
|
Icons.create_new_folder_outlined => CupertinoIcons.folder_badge_plus,
|
|
Icons.storage_outlined ||
|
|
Icons.sd_storage_outlined ||
|
|
Icons.memory_outlined ||
|
|
Icons.usb_rounded => CupertinoIcons.tray,
|
|
Icons.settings_backup_restore ||
|
|
Icons.history ||
|
|
Icons.history_toggle_off_outlined => CupertinoIcons.clock,
|
|
Icons.article_outlined || Icons.source_outlined => CupertinoIcons.doc_text,
|
|
Icons.favorite_outline || Icons.favorite_border => CupertinoIcons.heart,
|
|
Icons.favorite => CupertinoIcons.heart_fill,
|
|
Icons.arrow_back || Icons.chevron_left => CupertinoIcons.chevron_back,
|
|
Icons.close => CupertinoIcons.xmark,
|
|
Icons.play_arrow || Icons.play_arrow_rounded => CupertinoIcons.play_fill,
|
|
Icons.shuffle => CupertinoIcons.shuffle,
|
|
Icons.playlist_add || Icons.queue_music => CupertinoIcons.text_badge_plus,
|
|
Icons.edit_outlined => CupertinoIcons.pencil,
|
|
Icons.edit_note => CupertinoIcons.pencil_ellipsis_rectangle,
|
|
Icons.fingerprint => CupertinoIcons.number,
|
|
Icons.playlist_add_check ||
|
|
Icons.playlist_add_check_circle => CupertinoIcons.text_badge_checkmark,
|
|
Icons.add_circle_outline => CupertinoIcons.add_circled,
|
|
Icons.format_list_numbered => CupertinoIcons.list_number,
|
|
Icons.checklist => CupertinoIcons.list_bullet,
|
|
Icons.calendar_today_outlined => CupertinoIcons.calendar,
|
|
Icons.preview_outlined => CupertinoIcons.doc_text_search,
|
|
Icons.check || Icons.check_rounded => CupertinoIcons.checkmark,
|
|
Icons.download_for_offline_outlined => CupertinoIcons.arrow_down_circle,
|
|
Icons.call_split => CupertinoIcons.arrow_branch,
|
|
Icons.download_rounded => CupertinoIcons.arrow_down,
|
|
Icons.info_outline => CupertinoIcons.info,
|
|
Icons.settings_outlined => CupertinoIcons.gear_alt,
|
|
Icons.tune ||
|
|
Icons.tune_outlined ||
|
|
Icons.table_chart_outlined => CupertinoIcons.slider_horizontal_3,
|
|
Icons.build_outlined => CupertinoIcons.wrench,
|
|
Icons.people_alt_outlined ||
|
|
Icons.people_outline => CupertinoIcons.person_2,
|
|
Icons.person ||
|
|
Icons.person_outline ||
|
|
Icons.person_outline_rounded ||
|
|
Icons.person_search_outlined => CupertinoIcons.person,
|
|
Icons.group_remove_outlined =>
|
|
CupertinoIcons.person_crop_circle_badge_xmark,
|
|
Icons.photo_size_select_large_outlined ||
|
|
Icons.image_outlined ||
|
|
Icons.wallpaper => CupertinoIcons.photo,
|
|
Icons.graphic_eq ||
|
|
Icons.graphic_eq_outlined ||
|
|
Icons.graphic_eq_rounded => CupertinoIcons.waveform,
|
|
Icons.filter_alt_outlined ||
|
|
Icons.filter_list ||
|
|
Icons.filter_list_outlined => CupertinoIcons.line_horizontal_3_decrease,
|
|
Icons.travel_explore ||
|
|
Icons.language ||
|
|
Icons.language_outlined ||
|
|
Icons.public ||
|
|
Icons.translate ||
|
|
Icons.translate_outlined => CupertinoIcons.globe,
|
|
Icons.text_fields ||
|
|
Icons.text_fields_outlined => CupertinoIcons.textformat,
|
|
Icons.record_voice_over_outlined => CupertinoIcons.mic,
|
|
Icons.music_note ||
|
|
Icons.audio_file_outlined ||
|
|
Icons.audiotrack ||
|
|
Icons.music_note_outlined => CupertinoIcons.music_note,
|
|
Icons.speed || Icons.speed_outlined => CupertinoIcons.gauge,
|
|
Icons.auto_fix_high ||
|
|
Icons.auto_fix_high_outlined ||
|
|
Icons.auto_awesome_outlined => CupertinoIcons.wand_stars,
|
|
Icons.wifi => CupertinoIcons.wifi,
|
|
Icons.dynamic_feed_outlined ||
|
|
Icons.tab_outlined => CupertinoIcons.square_on_square,
|
|
Icons.security_outlined => CupertinoIcons.lock_shield,
|
|
Icons.lan_outlined || Icons.link => CupertinoIcons.link,
|
|
Icons.sync || Icons.autorenew_rounded => CupertinoIcons.arrow_2_circlepath,
|
|
Icons.refresh ||
|
|
Icons.update ||
|
|
Icons.system_update => CupertinoIcons.arrow_clockwise,
|
|
Icons.content_copy_outlined ||
|
|
Icons.content_copy_rounded ||
|
|
Icons.copy_all_rounded ||
|
|
Icons.copy_outlined ||
|
|
Icons.copy => CupertinoIcons.doc_on_doc,
|
|
Icons.swap_horiz ||
|
|
Icons.compare_arrows ||
|
|
Icons.difference_outlined ||
|
|
Icons.alt_route => CupertinoIcons.arrow_right_arrow_left,
|
|
Icons.cleaning_services_outlined => CupertinoIcons.sparkles,
|
|
Icons.delete_outline ||
|
|
Icons.delete_forever ||
|
|
Icons.delete_sweep_outlined => CupertinoIcons.trash,
|
|
Icons.open_in_new ||
|
|
Icons.open_in_new_rounded ||
|
|
Icons.open_in_browser => CupertinoIcons.arrow_up_right_square,
|
|
Icons.play_circle_outline => CupertinoIcons.play_circle,
|
|
Icons.share ||
|
|
Icons.share_outlined ||
|
|
Icons.ios_share => CupertinoIcons.share,
|
|
Icons.brightness_2 || Icons.dark_mode => CupertinoIcons.moon,
|
|
Icons.light_mode => CupertinoIcons.sun_max,
|
|
Icons.contrast ||
|
|
Icons.brightness_auto => CupertinoIcons.circle_lefthalf_fill,
|
|
Icons.animation => CupertinoIcons.play_rectangle,
|
|
Icons.blur_on => CupertinoIcons.drop,
|
|
Icons.new_releases => CupertinoIcons.star_circle,
|
|
Icons.bug_report || Icons.bug_report_outlined => CupertinoIcons.ant,
|
|
Icons.timer_outlined => CupertinoIcons.timer,
|
|
Icons.timer_off_outlined => CupertinoIcons.timer,
|
|
Icons.bedtime_outlined => CupertinoIcons.moon_zzz,
|
|
Icons.explore_outlined => CupertinoIcons.compass,
|
|
Icons.vpn_key_outlined => CupertinoIcons.lock,
|
|
Icons.bookmark_outline => CupertinoIcons.bookmark,
|
|
Icons.low_priority => CupertinoIcons.sort_down,
|
|
Icons.search || Icons.manage_search => CupertinoIcons.search,
|
|
Icons.add => CupertinoIcons.add,
|
|
Icons.code => CupertinoIcons.chevron_left_slash_chevron_right,
|
|
Icons.lightbulb_outline => CupertinoIcons.lightbulb,
|
|
Icons.telegram => CupertinoIcons.paperplane,
|
|
Icons.check => CupertinoIcons.check_mark,
|
|
Icons.album || Icons.album_outlined => CupertinoIcons.square_stack,
|
|
Icons.playlist_play => CupertinoIcons.music_note_list,
|
|
Icons.video_library => CupertinoIcons.play_rectangle,
|
|
Icons.podcasts => CupertinoIcons.mic,
|
|
Icons.monitor_heart_outlined => CupertinoIcons.waveform_path_ecg,
|
|
Icons.warning_amber_rounded => CupertinoIcons.exclamationmark_triangle,
|
|
_ => CupertinoIcons.gear_alt,
|
|
};
|
|
}
|