From 689ad5465abea12ac982318fb0210a1c89f3a066 Mon Sep 17 00:00:00 2001
From: Mustafa Merza <mustafa.merza95@gmail.com>
Date: Wed, 14 Aug 2024 10:23:54 +0300
Subject: [PATCH] - Added detents parameter for iOS 15 devices.

---
 MiniScanner/Extensions/View/Sheet/View+CustomSheet.swift     | 5 ++++-
 .../Features/Settings/Presentation/SettingsView.swift        | 4 ++++
 2 files changed, 8 insertions(+), 1 deletion(-)

diff --git a/MiniScanner/Extensions/View/Sheet/View+CustomSheet.swift b/MiniScanner/Extensions/View/Sheet/View+CustomSheet.swift
index 8e1f651..b007219 100644
--- a/MiniScanner/Extensions/View/Sheet/View+CustomSheet.swift
+++ b/MiniScanner/Extensions/View/Sheet/View+CustomSheet.swift
@@ -13,6 +13,7 @@ struct CustomSheetModifier<SheetContent: View>: ViewModifier {
     var isPresented: Binding<Bool>
     var dismissable: Bool = true
     var height: CGFloat
+    var detents: [BottomSheet.Detent]
     @ViewBuilder var sheetContent: () -> SheetContent
     
     func body(content: Content) -> some View {
@@ -40,6 +41,7 @@ struct CustomSheetModifier<SheetContent: View>: ViewModifier {
         
         content
             .bottomSheet(isPresented: isPresented,
+                         detents: detents,
                          shouldScrollExpandSheet: true,
                          showGrabber: false,
                          showNavigationBar: true,
@@ -53,8 +55,9 @@ extension View {
     func customSheet<Content: View>(isPresented: Binding<Bool>,
                                     dismissable: Bool = true,
                                     height: CGFloat,
+                                    detents: [BottomSheet.Detent],
                                     @ViewBuilder content: @escaping () -> Content) -> some View {
         
-        ModifiedContent(content: self, modifier: CustomSheetModifier(isPresented: isPresented, dismissable: dismissable, height: height, sheetContent: content))
+        ModifiedContent(content: self, modifier: CustomSheetModifier(isPresented: isPresented, dismissable: dismissable, height: height, detents: detents, sheetContent: content))
     }
 }
diff --git a/MiniScanner/Features/Settings/Presentation/SettingsView.swift b/MiniScanner/Features/Settings/Presentation/SettingsView.swift
index eff78c4..3150944 100644
--- a/MiniScanner/Features/Settings/Presentation/SettingsView.swift
+++ b/MiniScanner/Features/Settings/Presentation/SettingsView.swift
@@ -33,24 +33,28 @@ struct SettingsView: View {
             .environment(\.layoutDirection, viewModel.layoutDirection)
             .customSheet(isPresented: $viewModel.isLanguageSettingSheetPresented,
                          height: viewModel.sheetSize.height,
+                         detents: [.medium],
                          content: {
                 languageSheet
                     .readSize(size: $viewModel.sheetSize)
             })
             .customSheet(isPresented: $viewModel.isColorSchemeSettingSheetPresented,
                          height: viewModel.sheetSize.height,
+                         detents: [.medium],
                          content : {
                 colorSchemeSheet
                     .readSize(size: $viewModel.sheetSize)
             })
             .customSheet(isPresented: $viewModel.isFileTypeSettingSheetPresented,
                          height: viewModel.sheetSize.height,
+                         detents: [.medium],
                          content : {
                 fileTypeSheet
                     .readSize(size: $viewModel.sheetSize)
             })
             .customSheet(isPresented: $viewModel.isScreenSettingSheetPresented,
                          height: viewModel.sheetSize.height,
+                         detents: [.medium],
                          content : {
                 screenSheet
                     .readSize(size: $viewModel.sheetSize)
-- 
GitLab