From cce5779430909381d9c12e081c6fda0845e9dc14 Mon Sep 17 00:00:00 2001 From: Laurent Date: Sat, 30 May 2026 13:06:40 +0200 Subject: [PATCH] fix: stable view identity in TrackContextMenuModifier, remove @Sendable from config closures --- Music/Models/TrackContextMenuConfig.swift | 6 +++--- Music/Views/TrackContextMenuModifier.swift | 6 ++---- 2 files changed, 5 insertions(+), 7 deletions(-) diff --git a/Music/Models/TrackContextMenuConfig.swift b/Music/Models/TrackContextMenuConfig.swift index ba66fe7..a089db2 100644 --- a/Music/Models/TrackContextMenuConfig.swift +++ b/Music/Models/TrackContextMenuConfig.swift @@ -2,7 +2,7 @@ nonisolated struct TrackContextMenuConfig { let playlists: [Playlist] let lastUsedPlaylistName: String? let selectedPlaylist: Playlist? - let onAddToPlaylist: @Sendable (Track, Playlist) -> Void - let onAddToLastPlaylist: (@Sendable (Track) -> Void)? - let onRemoveFromPlaylist: (@Sendable (Track) -> Void)? + let onAddToPlaylist: (Track, Playlist) -> Void + let onAddToLastPlaylist: ((Track) -> Void)? + let onRemoveFromPlaylist: ((Track) -> Void)? } diff --git a/Music/Views/TrackContextMenuModifier.swift b/Music/Views/TrackContextMenuModifier.swift index 0e2ef10..fd68b8b 100644 --- a/Music/Views/TrackContextMenuModifier.swift +++ b/Music/Views/TrackContextMenuModifier.swift @@ -7,8 +7,8 @@ struct TrackContextMenuModifier: ViewModifier { let config: TrackContextMenuConfig? func body(content: Content) -> some View { - if let track, let config { - content.contextMenu { + content.contextMenu { + if let track, let config { if let lastPlaylistName = config.lastUsedPlaylistName, let onAddToLastPlaylist = config.onAddToLastPlaylist { Button("Add to \(lastPlaylistName)") { @@ -35,8 +35,6 @@ struct TrackContextMenuModifier: ViewModifier { } } } - } else { - content } } }