Fix macOS timeline context menu missing the Remove item. (#2830)

The necessary permissions were only being checked when presenting the long press menu.
This commit is contained in:
Doug
2024-05-10 21:38:11 +01:00
committed by GitHub
parent ae06226cbc
commit 178797a178
4 changed files with 25 additions and 17 deletions
@@ -16,7 +16,7 @@
import SwiftUI
struct RoomTimelineItemView: View {
@Environment(\.roomContext) var context: RoomScreenViewModel.Context
@Environment(\.roomContext) var context
@ObservedObject var viewState: RoomTimelineItemViewState
var body: some View {
@@ -25,10 +25,10 @@ struct RoomTimelineItemView: View {
.animation(.elementDefault, value: viewState.type)
.environment(\.timelineGroupStyle, viewState.groupStyle)
.onAppear {
context.send(viewAction: .itemAppeared(itemID: viewState.identifier))
context?.send(viewAction: .itemAppeared(itemID: viewState.identifier))
}
.onDisappear {
context.send(viewAction: .itemDisappeared(itemID: viewState.identifier))
context?.send(viewAction: .itemDisappeared(itemID: viewState.identifier))
}
}
@@ -73,7 +73,7 @@ struct RoomTimelineItemView: View {
case .poll(let item):
PollRoomTimelineView(timelineItem: item)
case .voice(let item):
VoiceMessageRoomTimelineView(timelineItem: item, playerState: context.viewState.audioPlayerStateProvider?(item.id) ?? AudioPlayerState(id: .timelineItemIdentifier(item.id), duration: 0))
VoiceMessageRoomTimelineView(timelineItem: item, playerState: context?.viewState.audioPlayerStateProvider?(item.id) ?? AudioPlayerState(id: .timelineItemIdentifier(item.id), duration: 0))
case .callInvite(let item):
CallInviteRoomTimelineView(timelineItem: item)
}