diff --git a/android/app/capacitor.build.gradle b/android/app/capacitor.build.gradle index ff90a30fe1..4699097e2b 100644 --- a/android/app/capacitor.build.gradle +++ b/android/app/capacitor.build.gradle @@ -16,6 +16,7 @@ dependencies { implementation project(':capacitor-camera') implementation project(':capacitor-clipboard') implementation project(':capacitor-device') + implementation project(':capacitor-dialog') implementation project(':capacitor-filesystem') implementation project(':capacitor-haptics') implementation project(':capacitor-keyboard') diff --git a/android/app/src/main/assets/capacitor.plugins.json b/android/app/src/main/assets/capacitor.plugins.json index 5e97c77f87..8afb504d66 100644 --- a/android/app/src/main/assets/capacitor.plugins.json +++ b/android/app/src/main/assets/capacitor.plugins.json @@ -27,6 +27,10 @@ "pkg": "@capacitor/device", "classpath": "com.capacitorjs.plugins.device.DevicePlugin" }, + { + "pkg": "@capacitor/dialog", + "classpath": "com.capacitorjs.plugins.dialog.DialogPlugin" + }, { "pkg": "@capacitor/filesystem", "classpath": "com.capacitorjs.plugins.filesystem.FilesystemPlugin" diff --git a/android/capacitor.settings.gradle b/android/capacitor.settings.gradle index 713caf6ddd..a96f262927 100644 --- a/android/capacitor.settings.gradle +++ b/android/capacitor.settings.gradle @@ -23,6 +23,9 @@ project(':capacitor-clipboard').projectDir = new File('../node_modules/@capacito include ':capacitor-device' project(':capacitor-device').projectDir = new File('../node_modules/@capacitor/device/android') +include ':capacitor-dialog' +project(':capacitor-dialog').projectDir = new File('../node_modules/@capacitor/dialog/android') + include ':capacitor-filesystem' project(':capacitor-filesystem').projectDir = new File('../node_modules/@capacitor/filesystem/android') diff --git a/ios/App/Podfile b/ios/App/Podfile index 6132b5de15..348965efdd 100644 --- a/ios/App/Podfile +++ b/ios/App/Podfile @@ -18,6 +18,7 @@ def capacitor_pods pod 'CapacitorCamera', :path => '../../node_modules/@capacitor/camera' pod 'CapacitorClipboard', :path => '../../node_modules/@capacitor/clipboard' pod 'CapacitorDevice', :path => '../../node_modules/@capacitor/device' + pod 'CapacitorDialog', :path => '../../node_modules/@capacitor/dialog' pod 'CapacitorFilesystem', :path => '../../node_modules/@capacitor/filesystem' pod 'CapacitorHaptics', :path => '../../node_modules/@capacitor/haptics' pod 'CapacitorKeyboard', :path => '../../node_modules/@capacitor/keyboard' diff --git a/ios/App/Podfile.lock b/ios/App/Podfile.lock index a1de75833b..830aaf1f4f 100644 --- a/ios/App/Podfile.lock +++ b/ios/App/Podfile.lock @@ -17,6 +17,8 @@ PODS: - CapacitorCordova (7.2.0) - CapacitorDevice (7.0.2): - Capacitor + - CapacitorDialog (7.0.2): + - Capacitor - CapacitorFilesystem (7.0.1): - Capacitor - CapacitorHaptics (7.0.1): @@ -49,6 +51,7 @@ DEPENDENCIES: - "CapacitorCommunitySafeArea (from `../../node_modules/@capacitor-community/safe-area`)" - "CapacitorCordova (from `../../node_modules/@capacitor/ios`)" - "CapacitorDevice (from `../../node_modules/@capacitor/device`)" + - "CapacitorDialog (from `../../node_modules/@capacitor/dialog`)" - "CapacitorFilesystem (from `../../node_modules/@capacitor/filesystem`)" - "CapacitorHaptics (from `../../node_modules/@capacitor/haptics`)" - "CapacitorKeyboard (from `../../node_modules/@capacitor/keyboard`)" @@ -83,6 +86,8 @@ EXTERNAL SOURCES: :path: "../../node_modules/@capacitor/ios" CapacitorDevice: :path: "../../node_modules/@capacitor/device" + CapacitorDialog: + :path: "../../node_modules/@capacitor/dialog" CapacitorFilesystem: :path: "../../node_modules/@capacitor/filesystem" CapacitorHaptics: @@ -114,6 +119,7 @@ SPEC CHECKSUMS: CapacitorCommunitySafeArea: 3f049619072ab5d0da2529bcb05b358ff6c13dc1 CapacitorCordova: 5967b9ba03915ef1d585469d6e31f31dc49be96f CapacitorDevice: 81ae78d5d1942707caad79276badd458bf6ec603 + CapacitorDialog: 5bf72a94b747fb339df6f64ef60812e5e4630ad2 CapacitorFilesystem: e6261c410436f54908c11f94336c5b58286b1db0 CapacitorHaptics: 1f1e17041f435d8ead9ff2a34edd592c6aa6a8d6 CapacitorKeyboard: 09fd91dcde4f8a37313e7f11bde553ad1ed52036 @@ -126,6 +132,6 @@ SPEC CHECKSUMS: KeychainSwift: 4a71a45c802fd9e73906457c2dcbdbdc06c9419d SendIntent: 8a6f646a4489f788d253ffbd1082a98ea388d870 -PODFILE CHECKSUM: bf3859ae3f2ef96dbee7c801e4be9d91c6e68077 +PODFILE CHECKSUM: 2ba428e46e22e2bca616c46fc132c5699b98e54b COCOAPODS: 1.16.2 diff --git a/package.json b/package.json index fc5ee050ba..657845d331 100644 --- a/package.json +++ b/package.json @@ -117,6 +117,7 @@ "@capacitor/clipboard": "7.0.1", "@capacitor/core": "7.2.0", "@capacitor/device": "^7.0.2", + "@capacitor/dialog": "^7.0.2", "@capacitor/filesystem": "7.0.1", "@capacitor/haptics": "7.0.1", "@capacitor/ios": "7.2.0", diff --git a/src/main/frontend/handler/events.cljs b/src/main/frontend/handler/events.cljs index 1167b69374..e11c134ce6 100644 --- a/src/main/frontend/handler/events.cljs +++ b/src/main/frontend/handler/events.cljs @@ -139,10 +139,12 @@ (page-handler/ (shui/dialog-confirm! - (str "⚠️ Are you sure you want to delete this " - (if (entity-util/page? block) "page" "block") - "?")) - (p/then + {:on-click + (fn [] + (p/do! + (shui/popup-hide!) + (-> (.confirm ^js Dialog + #js {:title "Confirm" + :message (str "Are you sure to delete this " + (if (entity-util/page? block) "page" "block") + "?")}) + (p/then + (fn [^js result] + (let [value (.-value result)] + (when value + (some-> + (:block/uuid block) + (page-handler/ - (:block/uuid block) - (page-handler/ (.routeDidChange mobile-util/ui-local payload) - (p/catch (fn [err] - (log/warn :mobile-native-navigation/route-report-failed - {:error err - :payload payload})))))))) + (-> (.routeDidChange mobile-util/ui-local payload) + (p/catch (fn [err] + (log/warn :mobile-native-navigation/route-report-failed + {:error err + :payload payload}))))))) diff --git a/yarn.lock b/yarn.lock index dd38337fb8..ceb33e297f 100644 --- a/yarn.lock +++ b/yarn.lock @@ -323,6 +323,11 @@ resolved "https://registry.yarnpkg.com/@capacitor/device/-/device-7.0.2.tgz#406bde129d3fcf55f0de0b691509535e2a00e315" integrity sha512-OMGMBjLbh7ApaqW1oOJIV73iyrFK/T5v2MzuQYq3GLT+jnGvCuj/y82Ofq2Fz9/hlJ2fukztPwG1K80jyk0i6w== +"@capacitor/dialog@^7.0.2": + version "7.0.2" + resolved "https://registry.yarnpkg.com/@capacitor/dialog/-/dialog-7.0.2.tgz#ff0b50a0fd4d9792fd6e47dcf28e2cee49c41568" + integrity sha512-2lRMKEdBV/2LMCwHbC5a03jiU4tdlIN4hXAqmQMxnaa7CAVLfk/vEE+vxA5mpnI/pzoXF/QDQEUXJUd10hbcKA== + "@capacitor/filesystem@7.0.1": version "7.0.1" resolved "https://registry.yarnpkg.com/@capacitor/filesystem/-/filesystem-7.0.1.tgz#b0518d781f7640e936f529b80a59724e221d0471"