diff --git a/lib/app/view/master_detail_page.dart b/lib/app/view/master_detail_page.dart index 66dcb8947..aa40d8293 100644 --- a/lib/app/view/master_detail_page.dart +++ b/lib/app/view/master_detail_page.dart @@ -6,6 +6,7 @@ import 'package:watch_it/watch_it.dart'; import 'package:yaru/yaru.dart'; import '../../app_config.dart'; +import '../../common/page_ids.dart'; import '../../common/view/back_gesture.dart'; import '../../common/view/global_keys.dart'; import '../../common/view/header_bar.dart'; @@ -64,7 +65,7 @@ class MasterDetailPage extends StatelessWidget with WatchItMixin { if (context.showMasterPanel) const VerticalDivider(), Expanded( child: Navigator( - initialRoute: libraryModel.selectedPageId ?? kSearchPageId, + initialRoute: libraryModel.selectedPageId ?? PageIDs.searchPage, onDidRemovePage: (page) {}, key: libraryModel.masterNavigatorKey, observers: [libraryModel], @@ -122,7 +123,7 @@ class MasterPanel extends StatelessWidget { return MasterTile( key: ValueKey(item.pageId), onTap: () { - if (item.pageId == kNewPlaylistPageId) { + if (item.pageId == PageIDs.newPlaylist) { showDialog( context: context, builder: (context) { diff --git a/lib/app/view/master_items.dart b/lib/app/view/master_items.dart index 86822b8f8..6e7d9e5a9 100644 --- a/lib/app/view/master_items.dart +++ b/lib/app/view/master_items.dart @@ -3,10 +3,10 @@ import 'package:flutter/material.dart'; import '../../app_config.dart'; import '../../common/data/audio_type.dart'; +import '../../common/page_ids.dart'; import '../../common/view/icons.dart'; import '../../common/view/side_bar_fall_back_image.dart'; import '../../common/view/theme.dart'; -import '../../constants.dart'; import '../../home/home_page.dart'; import '../../l10n/l10n.dart'; import '../../library/library_model.dart'; @@ -47,7 +47,7 @@ List createMasterItems({required LibraryModel libraryModel}) { titleBuilder: (context) => Text(context.l10n.search), pageBuilder: (_) => const SearchPage(), iconBuilder: (_) => Icon(Iconz.search), - pageId: kSearchPageId, + pageId: PageIDs.searchPage, ), MasterItem( titleBuilder: (context) => Text(context.l10n.local), @@ -56,7 +56,7 @@ List createMasterItems({required LibraryModel libraryModel}) { audioType: AudioType.local, selected: selected, ), - pageId: kLocalAudioPageId, + pageId: PageIDs.localAudio, ), MasterItem( titleBuilder: (context) => Text(context.l10n.radio), @@ -65,7 +65,7 @@ List createMasterItems({required LibraryModel libraryModel}) { audioType: AudioType.radio, selected: selected, ), - pageId: kRadioPageId, + pageId: PageIDs.radio, ), MasterItem( titleBuilder: (context) => Text(context.l10n.podcasts), @@ -74,7 +74,7 @@ List createMasterItems({required LibraryModel libraryModel}) { audioType: AudioType.podcast, selected: selected, ), - pageId: kPodcastsPageId, + pageId: PageIDs.podcasts, ), if (isMobilePlatform) MasterItem( @@ -82,7 +82,7 @@ List createMasterItems({required LibraryModel libraryModel}) { iconBuilder: (selected) => Icon(selected ? Iconz.settingsFilled : Iconz.settings), pageBuilder: (context) => const SettingsPage(), - pageId: kSettingsPageId, + pageId: PageIDs.settings, ), if (isMobilePlatform) MasterItem( @@ -90,17 +90,17 @@ List createMasterItems({required LibraryModel libraryModel}) { iconBuilder: (selected) => Icon(selected ? Iconz.homeFilled : Iconz.home), pageBuilder: (context) => const HomePage(), - pageId: kHomePageId, + pageId: PageIDs.homePage, ), MasterItem( iconBuilder: (selected) => Icon(Iconz.plus), titleBuilder: (context) => Text(context.l10n.add), pageBuilder: (_) => const SizedBox.shrink(), - pageId: kNewPlaylistPageId, + pageId: PageIDs.newPlaylist, ), MasterItem( titleBuilder: (context) => Text(context.l10n.likedSongs), - pageId: kLikedAudiosPageId, + pageId: PageIDs.likedAudios, pageBuilder: (_) => const LikedAudioPage(), subtitleBuilder: (context) => Text(context.l10n.playlist), iconBuilder: (selected) => LikedAudioPageIcon(selected: selected), diff --git a/lib/app/view/master_tile.dart b/lib/app/view/master_tile.dart index 7fde1a1f5..73faf2688 100644 --- a/lib/app/view/master_tile.dart +++ b/lib/app/view/master_tile.dart @@ -3,13 +3,13 @@ import 'package:watch_it/watch_it.dart'; import 'package:yaru/yaru.dart'; import '../../common/data/audio_type.dart'; +import '../../common/page_ids.dart'; +import '../../common/view/icons.dart'; +import '../../common/view/spaced_divider.dart'; import '../../common/view/ui_constants.dart'; -import '../../constants.dart'; import '../../extensions/build_context_x.dart'; import '../../library/library_model.dart'; import '../../player/player_model.dart'; -import '../../common/view/icons.dart'; -import '../../common/view/spaced_divider.dart'; import '../../radio/radio_model.dart'; class MasterTile extends StatelessWidget { @@ -46,7 +46,7 @@ class MasterTile extends StatelessWidget { ); final Widget tile; - if (pageId == kNewPlaylistPageId) { + if (pageId == PageIDs.newPlaylist) { tile = _FramedMasterTile(tile: yaruMasterTile); } else { tile = yaruMasterTile; diff --git a/lib/app/view/mobile_musicpod_app.dart b/lib/app/view/mobile_musicpod_app.dart index 4b5b818ec..de22fd045 100644 --- a/lib/app/view/mobile_musicpod_app.dart +++ b/lib/app/view/mobile_musicpod_app.dart @@ -6,6 +6,7 @@ import 'package:phoenix_theme/phoenix_theme.dart'; import 'package:watch_it/watch_it.dart'; import '../../app_config.dart'; +import '../../common/page_ids.dart'; import '../../common/view/theme.dart'; import '../../constants.dart'; import '../../external_path/external_path_service.dart'; @@ -57,7 +58,7 @@ class _MobileMusicPodAppState extends State { navigatorKey: libraryModel.masterNavigatorKey, navigatorObservers: [libraryModel], initialRoute: isMobilePlatform - ? (libraryModel.selectedPageId ?? kHomePageId) + ? (libraryModel.selectedPageId ?? PageIDs.homePage) : null, onGenerateRoute: (settings) { final page = (masterItems.firstWhereOrNull( diff --git a/lib/app/view/mobile_navigation_bar.dart b/lib/app/view/mobile_navigation_bar.dart index 9944e7290..8a9b4cbbb 100644 --- a/lib/app/view/mobile_navigation_bar.dart +++ b/lib/app/view/mobile_navigation_bar.dart @@ -1,12 +1,13 @@ +import 'package:flutter/material.dart'; +import 'package:watch_it/watch_it.dart'; + +import '../../common/page_ids.dart'; import '../../common/view/icons.dart'; import '../../common/view/theme.dart'; import '../../common/view/ui_constants.dart'; -import '../../constants.dart'; import '../../extensions/build_context_x.dart'; import '../../l10n/l10n.dart'; import '../../library/library_model.dart'; -import 'package:flutter/material.dart'; -import 'package:watch_it/watch_it.dart'; class MobileNavigationBar extends StatelessWidget with WatchItMixin { const MobileNavigationBar({super.key}); @@ -31,34 +32,35 @@ class MobileNavigationBar extends StatelessWidget with WatchItMixin { mainAxisAlignment: MainAxisAlignment.spaceEvenly, children: [ IconButton( - isSelected: selectedPageId == kHomePageId, + isSelected: selectedPageId == PageIDs.homePage, selectedIcon: Icon(Iconz.homeFilled), icon: Icon(Iconz.home), tooltip: l10n.home, - onPressed: () => di().push(pageId: kHomePageId), + onPressed: () => + di().push(pageId: PageIDs.homePage), ), IconButton( - isSelected: selectedPageId == kLocalAudioPageId, + isSelected: selectedPageId == PageIDs.localAudio, selectedIcon: Icon(Iconz.localAudioFilled), icon: Icon(Iconz.localAudio), tooltip: l10n.local, onPressed: () => - di().push(pageId: kLocalAudioPageId), + di().push(pageId: PageIDs.localAudio), ), IconButton( - isSelected: selectedPageId == kRadioPageId, + isSelected: selectedPageId == PageIDs.radio, selectedIcon: Icon(Iconz.radioFilled), icon: Icon(Iconz.radio), tooltip: l10n.radio, - onPressed: () => di().push(pageId: kRadioPageId), + onPressed: () => di().push(pageId: PageIDs.radio), ), IconButton( - isSelected: selectedPageId == kPodcastsPageId, + isSelected: selectedPageId == PageIDs.podcasts, selectedIcon: Icon(Iconz.podcastFilled), icon: Icon(Iconz.podcast), tooltip: l10n.podcasts, onPressed: () => - di().push(pageId: kPodcastsPageId), + di().push(pageId: PageIDs.podcasts), ), ], ), diff --git a/lib/common/file_names.dart b/lib/common/file_names.dart new file mode 100644 index 000000000..2d954eafb --- /dev/null +++ b/lib/common/file_names.dart @@ -0,0 +1,29 @@ +class FileNames { + static const likedAudios = 'likedAudios.json'; + static const playlists = 'playlists.json'; + static const pinnedAlbums = 'finallyFixedPinnedAlbums.json'; + static const podcasts = 'podcasts.json'; + static const podcastUpdates = 'podcastsupdates.json'; + static const starredStations = 'uuidStarredStations.json'; + static const lastPositions = 'lastPositions.json'; + static const playerState = 'playerstate.json'; + static const appState = 'appstate.json'; + static const downloads = 'downloads.json'; + static const feedsWithDownloads = 'feedswithdownloads.json'; + static const coverStore = 'coverStore.json'; + + static const all = { + likedAudios, + playlists, + pinnedAlbums, + podcasts, + podcastUpdates, + starredStations, + lastPositions, + playerState, + appState, + downloads, + feedsWithDownloads, + coverStore, + }; +} diff --git a/lib/common/page_ids.dart b/lib/common/page_ids.dart new file mode 100644 index 000000000..397c19d0d --- /dev/null +++ b/lib/common/page_ids.dart @@ -0,0 +1,21 @@ +class PageIDs { + static const settings = 'settings'; + static const homePage = 'homePage'; + static const selectedPage = 'selectedPageId'; + static const localAudio = 'localAudio'; + static const podcasts = 'podcasts'; + static const radio = 'radio'; + static const newPlaylist = 'newPlaylist'; + static const likedAudios = 'likedAudios'; + static const searchPage = 'searchPageId'; + + static const permanent = { + homePage, + searchPage, + likedAudios, + localAudio, + podcasts, + radio, + settings, + }; +} diff --git a/lib/common/view/audio_tile_bottom_sheet.dart b/lib/common/view/audio_tile_bottom_sheet.dart index cae15bd83..e8ce4f79a 100644 --- a/lib/common/view/audio_tile_bottom_sheet.dart +++ b/lib/common/view/audio_tile_bottom_sheet.dart @@ -2,7 +2,6 @@ import 'package:collection/collection.dart'; import 'package:flutter/material.dart'; import 'package:watch_it/watch_it.dart'; -import '../../constants.dart'; import '../../extensions/build_context_x.dart'; import '../../l10n/l10n.dart'; import '../../library/library_model.dart'; @@ -13,6 +12,7 @@ import '../../player/player_model.dart'; import '../../playlists/view/add_to_playlist_dialog.dart'; import '../data/audio.dart'; import '../data/audio_type.dart'; +import '../page_ids.dart'; import 'audio_tile_image.dart'; import 'icons.dart'; import 'like_all_icon.dart'; @@ -135,7 +135,7 @@ class AudioTileBottomSheet extends StatelessWidget { children: [ _Button( onPressed: () { - playlistId == kLikedAudiosPageId + playlistId == PageIDs.likedAudios ? libraryModel.removeLikedAudios(audios) : libraryModel.removeAudiosFromPlaylist( id: playlistId, @@ -147,7 +147,7 @@ class AudioTileBottomSheet extends StatelessWidget { ), _ButtonLabel( label: - '${l10n.removeFrom} ${playlistId == kLikedAudiosPageId ? l10n.likedSongs : playlistId}', + '${l10n.removeFrom} ${playlistId == PageIDs.likedAudios ? l10n.likedSongs : playlistId}', ), ], ), diff --git a/lib/common/view/audio_tile_option_button.dart b/lib/common/view/audio_tile_option_button.dart index 84770d107..bfb471bc2 100644 --- a/lib/common/view/audio_tile_option_button.dart +++ b/lib/common/view/audio_tile_option_button.dart @@ -4,7 +4,6 @@ import 'package:watch_it/watch_it.dart'; import 'package:yaru/yaru.dart'; import '../../app_config.dart'; -import '../../constants.dart'; import '../../extensions/build_context_x.dart'; import '../../l10n/l10n.dart'; import '../../library/library_model.dart'; @@ -12,6 +11,7 @@ import '../../player/player_model.dart'; import '../../playlists/view/add_to_playlist_dialog.dart'; import '../data/audio.dart'; import '../data/audio_type.dart'; +import '../page_ids.dart'; import 'audio_tile_bottom_sheet.dart'; import 'icons.dart'; import 'meta_data_dialog.dart'; @@ -63,26 +63,36 @@ class AudioTileOptionButton extends StatelessWidget { tooltip: l10n.moreOptions, padding: EdgeInsets.zero, itemBuilder: (context) { + final currentAudioType = di().audio?.audioType; return [ if (audios.none((e) => e.audioType == AudioType.radio)) PopupMenuItem( onTap: () { - di().insertIntoQueue(audios); - showSnackBar( - context: context, - content: Text( - '${l10n.addedTo} ${l10n.queue}: $searchTerm', - ), - ); + if (di().audio?.audioType == AudioType.radio) { + di() + .startPlaylist(audios: audios, listName: playlistId); + } else { + di().insertIntoQueue(audios); + showSnackBar( + context: context, + content: Text( + '${l10n.addedTo} ${l10n.queue}: $searchTerm', + ), + ); + } }, child: YaruTile( leading: Icon(Iconz.insertIntoQueue), - title: Text(l10n.playNext), + title: Text( + currentAudioType == AudioType.radio + ? l10n.playAll + : l10n.playNext, + ), ), ), if (allowRemove) PopupMenuItem( - onTap: () => playlistId == kLikedAudiosPageId + onTap: () => playlistId == PageIDs.likedAudios ? libraryModel.removeLikedAudios(audios) : libraryModel.removeAudiosFromPlaylist( id: playlistId, @@ -91,7 +101,7 @@ class AudioTileOptionButton extends StatelessWidget { child: YaruTile( leading: Icon(Iconz.remove), title: Text( - '${l10n.removeFrom} ${playlistId == kLikedAudiosPageId ? l10n.likedSongs : playlistId}', + '${l10n.removeFrom} ${playlistId == PageIDs.likedAudios ? l10n.likedSongs : playlistId}', ), ), ), @@ -109,18 +119,23 @@ class AudioTileOptionButton extends StatelessWidget { ), ), ), - PopupMenuItem( - onTap: () => showDialog( - context: context, - builder: (context) => MetaDataContent.dialog(audio: audios.first), - ), - child: YaruTile( - leading: Icon(Iconz.info), - title: Text( - '${l10n.showMetaData} ...', + if (audios.none( + (e) => e.audioType == AudioType.podcast, + ) && + audios.length == 1) + PopupMenuItem( + onTap: () => showDialog( + context: context, + builder: (context) => + MetaDataContent.dialog(audio: audios.first), + ), + child: YaruTile( + leading: Icon(Iconz.info), + title: Text( + '${l10n.showMetaData} ...', + ), ), ), - ), if (audios.none((e) => e.audioType == AudioType.radio)) PopupMenuItem( enabled: false, diff --git a/lib/common/view/icons.dart b/lib/common/view/icons.dart index 0c03ea6e2..1f20c5674 100644 --- a/lib/common/view/icons.dart +++ b/lib/common/view/icons.dart @@ -231,10 +231,10 @@ class Iconz { ? CupertinoIcons.refresh : Icons.refresh_rounded; static IconData get replay => yaruStyled - ? YaruIcons.history + ? YaruIcons.revert : appleStyled - ? CupertinoIcons.clock - : Icons.history_rounded; + ? CupertinoIcons.arrow_counterclockwise_circle + : Icons.undo; static IconData get speakerLowFilled => yaruStyled ? YaruIcons.speaker_low_filled : appleStyled @@ -467,4 +467,9 @@ class Iconz { : appleStyled ? CupertinoIcons.check_mark_circled_solid : Icons.check_circle; + static IconData get radioHistory => yaruStyled + ? YaruIcons.music_history + : appleStyled + ? CupertinoIcons.clock + : Icons.history_rounded; } diff --git a/lib/common/view/like_icon.dart b/lib/common/view/like_icon.dart index 53bf2b323..78bb336a1 100644 --- a/lib/common/view/like_icon.dart +++ b/lib/common/view/like_icon.dart @@ -1,11 +1,11 @@ import 'package:flutter/material.dart'; import 'package:watch_it/watch_it.dart'; -import '../../constants.dart'; import '../../l10n/l10n.dart'; import '../../library/library_model.dart'; import '../../playlists/view/add_to_playlist_snack_bar.dart'; import '../data/audio.dart'; +import '../page_ids.dart'; import 'animated_like_icon.dart'; class LikeIcon extends StatelessWidget with WatchItMixin { @@ -39,7 +39,7 @@ class LikeIcon extends StatelessWidget with WatchItMixin { showAddedToPlaylistSnackBar( context: context, libraryModel: libraryModel, - id: kLikedAudiosPageId, + id: PageIDs.likedAudios, ); } }; diff --git a/lib/common/view/search_button.dart b/lib/common/view/search_button.dart index 549e5387c..c5e348cef 100644 --- a/lib/common/view/search_button.dart +++ b/lib/common/view/search_button.dart @@ -3,9 +3,9 @@ import 'package:watch_it/watch_it.dart'; import 'package:yaru/yaru.dart'; import '../../app_config.dart'; -import '../../constants.dart'; import '../../extensions/build_context_x.dart'; import '../../library/library_model.dart'; +import '../page_ids.dart'; import 'icons.dart'; import 'theme.dart'; @@ -26,7 +26,7 @@ class SearchButton extends StatelessWidget { @override Widget build(BuildContext context) { final onTap = - onPressed ?? () => di().push(pageId: kSearchPageId); + onPressed ?? () => di().push(pageId: PageIDs.searchPage); return yaruStyled ? YaruSearchButton( diff --git a/lib/common/view/sliver_audio_page.dart b/lib/common/view/sliver_audio_page.dart index e17b6f129..9ceaa27e5 100644 --- a/lib/common/view/sliver_audio_page.dart +++ b/lib/common/view/sliver_audio_page.dart @@ -2,12 +2,12 @@ import 'package:flutter/material.dart'; import 'package:watch_it/watch_it.dart'; import '../../app_config.dart'; -import '../../constants.dart'; import '../../library/library_model.dart'; import '../../search/search_model.dart'; import '../../search/search_type.dart'; import '../data/audio.dart'; import '../data/audio_type.dart'; +import '../page_ids.dart'; import 'adaptive_container.dart'; import 'audio_page_header.dart'; import 'audio_page_type.dart'; @@ -66,7 +66,7 @@ class SliverAudioPage extends StatelessWidget { padding: appBarSingleActionSpacing, child: SearchButton( onPressed: () { - di().push(pageId: kSearchPageId); + di().push(pageId: PageIDs.searchPage); final searchModel = di(); if (searchModel.audioType != AudioType.local) { searchModel diff --git a/lib/constants.dart b/lib/constants.dart index d3052b2c0..a20c01ec6 100644 --- a/lib/constants.dart +++ b/lib/constants.dart @@ -22,36 +22,10 @@ const kInternetArchiveHeaders = { 'User-Agent': '$kAppTitle ($kRepoUrl)', }; -// persistence and library IDs and filenames -const kLikedAudiosFileName = 'likedAudios.json'; -const kRadioTagFavsFileName = 'tagFavs.json'; -const kCountryFavsFileName = 'countryfavs.json'; -const kFavLanguageCodesFileName = 'languagefavs.json'; -const kLastRadioTag = 'lastFav'; -const kPlaylistsFileName = 'playlists.json'; -const kPinnedAlbumsFileName = 'finallyFixedPinnedAlbums.json'; -const kPodcastsFileName = 'podcasts.json'; -const kPodcastsUpdates = 'podcastsupdates.json'; -const kStarredStationsFileName = 'uuidStarredStations.json'; -const kSettingsFileName = 'settings.json'; -const kLastPositionsFileName = 'lastPositions.json'; -const kPlayerStateFileName = 'playerstate.json'; -const kAppStateFileName = 'appstate.json'; -const kRadioHistoryFileName = 'radiohistory.json'; -const kDownloads = 'downloads.json'; -const kFeedsWithDownloads = 'feedswithdownloads.json'; -const kCoverStore = 'coverStore.json'; const kDirectoryProperty = 'directory'; const kDownloadsCustomDir = 'downloadsCustomDir'; -const kRadioUrl = 'de1.api.radio-browser.info'; -const kRadioBrowserBaseUrl = 'all.api.radio-browser.info'; -const kLastAudio = 'lastAudio'; -const kLastPositionAsString = 'lastPositionAsString'; -const kLastDurationAsString = 'lastDurationAsString'; const kLocalAudioIndex = 'localAudioIndex'; -const kSelectedPageId = 'selectedPageId'; -const kRadioIndex = 'radioIndex'; -const kPodcastIndex = 'podcastIndex'; + const kNeverShowImportFails = 'neverShowImportFails'; const kEnableDiscordRPC = 'enableDiscordRPC'; const kEnableLastFmScrobbling = 'enableLastFmScrobbling'; @@ -63,18 +37,13 @@ const kEnableListenBrainzScrobbling = 'enableListenBrainzScrobbling'; const kListenBrainzApiKey = 'listenBrainzApiKey'; const kLastCountryCode = 'lastCountryCode'; const kLastLanguageCode = 'lastLanguageCode'; -const kSearchResult = 'searchResult'; -const kLocalAudioPageId = 'localAudio'; -const kPodcastsPageId = 'podcasts'; -const kRadioPageId = 'radio'; -const kNewPlaylistPageId = 'newPlaylist'; -const kLikedAudiosPageId = 'likedAudios'; + const kUsePodcastIndex = 'usePodcastIndex'; const kThemeIndex = 'themeIndex'; const kPodcastIndexApiKey = 'podcastIndexApiKey'; const kPodcastIndexApiSecret = 'podcastIndexApiSecret'; const kUseArtistGridView = 'useArtistGridView'; -const kSearchPageId = 'searchPageId'; + const kFavRadioTags = 'favRadioTags'; const kFavCountryCodes = 'favCountryCodes'; const kFavLanguageCodes = 'favLanguageCodes'; @@ -83,7 +52,6 @@ const kPatchNotesDisposed = 'kPatchNotesDisposed'; const kCloseBtnAction = 'closeBtnAction'; const kUseMoreAnimations = 'useMoreAnimations'; const kShowPositionDuration = 'showPositionDuration'; -const kSettingsPageId = 'settings'; -const kHomePageId = 'homePage'; + const kPlaybackRate = 'playbackRate'; const kNotifyDataSafeMode = 'notifyDataSafeMode'; diff --git a/lib/home/home_page.dart b/lib/home/home_page.dart index 7f187e95c..cfcab5843 100644 --- a/lib/home/home_page.dart +++ b/lib/home/home_page.dart @@ -2,13 +2,13 @@ import 'package:flutter/material.dart'; import 'package:watch_it/watch_it.dart'; import '../common/data/audio_type.dart'; +import '../common/page_ids.dart'; import '../common/view/adaptive_container.dart'; import '../common/view/header_bar.dart'; import '../common/view/icons.dart'; import '../common/view/search_button.dart'; import '../common/view/theme.dart'; import '../common/view/ui_constants.dart'; -import '../constants.dart'; import '../extensions/country_x.dart'; import '../l10n/l10n.dart'; import '../library/library_model.dart'; @@ -47,7 +47,7 @@ class HomePage extends StatelessWidget with WatchItMixin { selectedIcon: Icon(Iconz.settingsFilled), icon: Icon(Iconz.settings), tooltip: l10n.settings, - onPressed: () => di().push(pageId: kSettingsPageId), + onPressed: () => di().push(pageId: PageIDs.settings), ), const SizedBox( width: kSmallestSpace, @@ -72,7 +72,7 @@ class HomePage extends StatelessWidget with WatchItMixin { ), trailing: Icon(Iconz.goNext), onTap: () { - di().push(pageId: kSearchPageId); + di().push(pageId: PageIDs.searchPage); di() ..setAudioType(AudioType.podcast) ..setSearchType(SearchType.podcastTitle) @@ -97,7 +97,7 @@ class HomePage extends StatelessWidget with WatchItMixin { '${l10n.radio} ${l10n.charts} ${country ?? ''}', ), onTap: () { - di().push(pageId: kSearchPageId); + di().push(pageId: PageIDs.searchPage); di() ..setAudioType(AudioType.radio) ..setSearchType(SearchType.radioCountry) @@ -121,7 +121,7 @@ class HomePage extends StatelessWidget with WatchItMixin { onTap: () { di().localAudioindex = LocalAudioView.playlists.index; - di().push(pageId: kLocalAudioPageId); + di().push(pageId: PageIDs.localAudio); }, ), ), diff --git a/lib/library/library_model.dart b/lib/library/library_model.dart index 07c71e44f..ead671ef6 100644 --- a/lib/library/library_model.dart +++ b/lib/library/library_model.dart @@ -7,8 +7,8 @@ import '../app/view/mobile_page.dart'; import '../app_config.dart'; import '../common/data/audio.dart'; import '../common/logging.dart'; +import '../common/page_ids.dart'; import '../common/view/back_gesture.dart'; -import '../constants.dart'; import 'library_service.dart'; class LibraryModel extends SafeChangeNotifier implements NavigatorObserver { @@ -32,7 +32,7 @@ class LibraryModel extends SafeChangeNotifier implements NavigatorObserver { } List