From f0d764296158aa1312ba1b571a093b6bff3a01f3 Mon Sep 17 00:00:00 2001 From: Mikhail Date: Fri, 9 May 2025 16:15:03 +0300 Subject: [PATCH] properly handle `dismiss` from environment in modals --- .../Modal/SwiftUI/Helpers/ModalPresentationModifier.swift | 5 ++++- .../SwiftUI/Helpers/ModalPresentationWithItemModifier.swift | 5 ++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/Sources/ComponentsKit/Components/Modal/SwiftUI/Helpers/ModalPresentationModifier.swift b/Sources/ComponentsKit/Components/Modal/SwiftUI/Helpers/ModalPresentationModifier.swift index 9b0eebc7..0d99bfa0 100644 --- a/Sources/ComponentsKit/Components/Modal/SwiftUI/Helpers/ModalPresentationModifier.swift +++ b/Sources/ComponentsKit/Components/Modal/SwiftUI/Helpers/ModalPresentationModifier.swift @@ -38,7 +38,10 @@ struct ModalPresentationModifier: ViewModifier { } } .fullScreenCover( - isPresented: self.$isPresented, + isPresented: .init( + get: { self.isPresented }, + set: { self.isContentVisible = $0 } + ), onDismiss: self.onDismiss, content: { self.content() diff --git a/Sources/ComponentsKit/Components/Modal/SwiftUI/Helpers/ModalPresentationWithItemModifier.swift b/Sources/ComponentsKit/Components/Modal/SwiftUI/Helpers/ModalPresentationWithItemModifier.swift index 0ad9a283..d6b6eed8 100644 --- a/Sources/ComponentsKit/Components/Modal/SwiftUI/Helpers/ModalPresentationWithItemModifier.swift +++ b/Sources/ComponentsKit/Components/Modal/SwiftUI/Helpers/ModalPresentationWithItemModifier.swift @@ -39,7 +39,10 @@ struct ModalPresentationWithItemModifier: ViewM } } .fullScreenCover( - item: self.$presentedItem, + item: .init( + get: { self.presentedItem }, + set: { self.visibleItem = $0 } + ), onDismiss: self.onDismiss, content: { item in self.content(item)