diff --git a/Projects/Features/ArtistFeature/Sources/ViewControllers/ArtistMusicContentViewController.swift b/Projects/Features/ArtistFeature/Sources/ViewControllers/ArtistMusicContentViewController.swift index 489d13621..5c2213899 100644 --- a/Projects/Features/ArtistFeature/Sources/ViewControllers/ArtistMusicContentViewController.swift +++ b/Projects/Features/ArtistFeature/Sources/ViewControllers/ArtistMusicContentViewController.swift @@ -219,7 +219,9 @@ extension ArtistMusicContentViewController: ArtistMusicCellDelegate { .first(where: { $0.songID == id }) else { return } PlayState.shared.append(item: .init(id: tappedSong.songID, title: tappedSong.title, artist: tappedSong.artist)) - songDetailPresenter.present(id: id) + let playlistIDs = PlayState.shared.currentPlaylist + .map(\.id) + songDetailPresenter.present(ids: playlistIDs, selectedID: tappedSong.songID) } } diff --git a/Projects/Features/ChartFeature/Sources/ViewContrillers/ChartContentViewController.swift b/Projects/Features/ChartFeature/Sources/ViewContrillers/ChartContentViewController.swift index b478b4bfe..6a360643a 100644 --- a/Projects/Features/ChartFeature/Sources/ViewContrillers/ChartContentViewController.swift +++ b/Projects/Features/ChartFeature/Sources/ViewContrillers/ChartContentViewController.swift @@ -196,7 +196,9 @@ extension ChartContentViewController: ChartContentTableViewCellDelegate { .first(where: { $0.id == id }) else { return } PlayState.shared.append(item: .init(id: tappedSong.id, title: tappedSong.title, artist: tappedSong.artist)) - songDetailPresenter.present(id: id) + let playlistIDs = PlayState.shared.currentPlaylist + .map(\.id) + songDetailPresenter.present(ids: playlistIDs, selectedID: tappedSong.id) } } diff --git a/Projects/Features/CreditSongListFeature/Sources/CreditSongListTab/CreditSongListTabItemReactor.swift b/Projects/Features/CreditSongListFeature/Sources/CreditSongListTab/CreditSongListTabItemReactor.swift index 19c44c649..6e1006637 100644 --- a/Projects/Features/CreditSongListFeature/Sources/CreditSongListTab/CreditSongListTabItemReactor.swift +++ b/Projects/Features/CreditSongListFeature/Sources/CreditSongListTab/CreditSongListTabItemReactor.swift @@ -81,7 +81,9 @@ final class CreditSongListTabItemReactor: Reactor { return songDidTap(id: id) case let .songThumbnailDidTap(id): return navigateMutation(navigateType: .dismiss(completion: { [songDetailPresenter] in - songDetailPresenter.present(id: id) + let playlistIDs = PlayState.shared.currentPlaylist + .map(\.id) + songDetailPresenter.present(ids: playlistIDs, selectedID: id) })) case .randomPlayButtonDidTap: return randomPlayButtonDidTap() diff --git a/Projects/Features/HomeFeature/Sources/ViewControllers/HomeViewController.swift b/Projects/Features/HomeFeature/Sources/ViewControllers/HomeViewController.swift index 00a29a596..92bfdd693 100644 --- a/Projects/Features/HomeFeature/Sources/ViewControllers/HomeViewController.swift +++ b/Projects/Features/HomeFeature/Sources/ViewControllers/HomeViewController.swift @@ -410,7 +410,9 @@ extension HomeViewController: HomeChartCellDelegate { func thumbnailDidTap(model: ChartRankingEntity) { LogManager.analytics(HomeAnalyticsLog.clickMusicItem(location: .homeTop100, id: model.id)) PlayState.shared.append(item: .init(id: model.id, title: model.title, artist: model.artist)) - songDetailPresenter.present(id: model.id) + let playlistIDs = PlayState.shared.currentPlaylist + .map(\.id) + songDetailPresenter.present(ids: playlistIDs, selectedID: model.id) } func playButtonDidTap(model: ChartRankingEntity) { @@ -426,7 +428,9 @@ extension HomeViewController: HomeNewSongCellDelegate { func thumbnailDidTap(model: NewSongsEntity) { LogManager.analytics(HomeAnalyticsLog.clickMusicItem(location: .homeRecent, id: model.id)) PlayState.shared.append(item: .init(id: model.id, title: model.title, artist: model.artist)) - songDetailPresenter.present(id: model.id) + let playlistIDs = PlayState.shared.currentPlaylist + .map(\.id) + songDetailPresenter.present(ids: playlistIDs, selectedID: model.id) } func playButtonDidTap(model: NewSongsEntity) { diff --git a/Projects/Features/HomeFeature/Sources/ViewControllers/NewSongsContentViewController.swift b/Projects/Features/HomeFeature/Sources/ViewControllers/NewSongsContentViewController.swift index 558b7b935..0038f5ade 100644 --- a/Projects/Features/HomeFeature/Sources/ViewControllers/NewSongsContentViewController.swift +++ b/Projects/Features/HomeFeature/Sources/ViewControllers/NewSongsContentViewController.swift @@ -221,7 +221,9 @@ extension NewSongsContentViewController: NewSongsCellDelegate { .first(where: { $0.id == id }) else { return } PlayState.shared.append(item: .init(id: tappedSong.id, title: tappedSong.title, artist: tappedSong.artist)) - songDetailPresenter.present(id: id) + let playlistIDs = PlayState.shared.currentPlaylist + .map(\.id) + songDetailPresenter.present(ids: playlistIDs, selectedID: id) } } diff --git a/Projects/Features/MainTabFeature/Sources/ViewControllers/MainTabBarViewController.swift b/Projects/Features/MainTabFeature/Sources/ViewControllers/MainTabBarViewController.swift index e8bff1268..beeff0a99 100644 --- a/Projects/Features/MainTabFeature/Sources/ViewControllers/MainTabBarViewController.swift +++ b/Projects/Features/MainTabFeature/Sources/ViewControllers/MainTabBarViewController.swift @@ -157,7 +157,9 @@ private extension MainTabBarViewController { case "songDetail": let id = params["id"] as? String ?? "" - songDetailPresenter.present(id: id) + let playlistIDs = PlayState.shared.currentPlaylist + .map(\.id) + songDetailPresenter.present(ids: playlistIDs, selectedID: id) default: break diff --git a/Projects/Features/MusicDetailFeature/Sources/MusicDetail/MusicDetailViewController.swift b/Projects/Features/MusicDetailFeature/Sources/MusicDetail/MusicDetailViewController.swift index 8868be31b..788a4906f 100644 --- a/Projects/Features/MusicDetailFeature/Sources/MusicDetail/MusicDetailViewController.swift +++ b/Projects/Features/MusicDetailFeature/Sources/MusicDetail/MusicDetailViewController.swift @@ -60,7 +60,7 @@ final class MusicDetailViewController: BaseReactorViewController