mirror of
https://github.com/omnivore-app/omnivore.git
synced 2026-03-11 08:54:26 +00:00
Merge pull request #1188 from omnivore-app/fix/recently-read-nav-pop
Fix: View Article from Audio Player
This commit is contained in:
commit
31c13cb00e
2 changed files with 34 additions and 11 deletions
|
|
@ -348,15 +348,20 @@ public struct MiniPlayer: View {
|
|||
public var body: some View {
|
||||
ZStack(alignment: .center) {
|
||||
presentingView
|
||||
VStack {
|
||||
Spacer(minLength: 0)
|
||||
if let itemAudioProperties = self.audioController.itemAudioProperties, isPresented {
|
||||
playerContent(itemAudioProperties)
|
||||
.offset(y: offset)
|
||||
.frame(maxHeight: expanded ? .infinity : 88)
|
||||
.tint(.appGrayTextContrast)
|
||||
.gesture(DragGesture().onEnded(onDragEnded(value:)).onChanged(onDragChanged(value:)))
|
||||
.background(expanded ? .clear : .systemBackground)
|
||||
if let itemAudioProperties = self.audioController.itemAudioProperties, isPresented {
|
||||
ZStack(alignment: .bottom) {
|
||||
Color.systemBackground.edgesIgnoringSafeArea(.bottom)
|
||||
.frame(height: 88, alignment: .bottom)
|
||||
|
||||
VStack {
|
||||
Spacer(minLength: 0)
|
||||
playerContent(itemAudioProperties)
|
||||
.offset(y: offset)
|
||||
.frame(maxHeight: expanded ? .infinity : 88)
|
||||
.tint(.appGrayTextContrast)
|
||||
.gesture(DragGesture().onEnded(onDragEnded(value:)).onChanged(onDragChanged(value:)))
|
||||
.background(expanded ? .clear : .systemBackground)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -36,8 +36,26 @@ import Views
|
|||
)
|
||||
|
||||
func handleReaderItemNotification(objectID: NSManagedObjectID, dataService: DataService) {
|
||||
selectedItem = dataService.viewContext.object(with: objectID) as? LinkedItem
|
||||
linkIsActive = true
|
||||
// Pop the current selected item if needed
|
||||
if selectedItem != nil, selectedItem?.objectID != objectID {
|
||||
// Temporarily disable animation to avoid excessive animations
|
||||
UIView.setAnimationsEnabled(false)
|
||||
|
||||
linkIsActive = false
|
||||
selectedItem = nil
|
||||
|
||||
DispatchQueue.main.asyncAfter(deadline: .now() + .milliseconds(100)) {
|
||||
self.selectedItem = dataService.viewContext.object(with: objectID) as? LinkedItem
|
||||
self.linkIsActive = true
|
||||
}
|
||||
|
||||
DispatchQueue.main.asyncAfter(deadline: .now() + .milliseconds(200)) {
|
||||
UIView.setAnimationsEnabled(true)
|
||||
}
|
||||
} else {
|
||||
selectedItem = dataService.viewContext.object(with: objectID) as? LinkedItem
|
||||
linkIsActive = true
|
||||
}
|
||||
}
|
||||
|
||||
var cursor: String?
|
||||
|
|
|
|||
Loading…
Reference in a new issue