diff --git a/capacitor.config.ts b/capacitor.config.ts index b678f974..35f275b6 100644 --- a/capacitor.config.ts +++ b/capacitor.config.ts @@ -17,7 +17,7 @@ const config: CapacitorConfig = { }, ios: { backgroundColor: '#14161f', - contentInset: 'automatic', + contentInset: 'never', scheme: 'Ditto' } }; diff --git a/ios/App/App.xcodeproj/project.pbxproj b/ios/App/App.xcodeproj/project.pbxproj index 81630153..1fbf9f4d 100644 --- a/ios/App/App.xcodeproj/project.pbxproj +++ b/ios/App/App.xcodeproj/project.pbxproj @@ -16,6 +16,7 @@ 504EC3121FED79650016851F /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 504EC3101FED79650016851F /* LaunchScreen.storyboard */; }; 50B271D11FEDC1A000F3C39B /* public in Resources */ = {isa = PBXBuildFile; fileRef = 50B271D01FEDC1A000F3C39B /* public */; }; B1A2C3D40001000100000001 /* SandboxPlugin.swift in Sources */ = {isa = PBXBuildFile; fileRef = B1A2C3D40001000100000002 /* SandboxPlugin.swift */; }; + B1A2C3D40002000100000001 /* DittoBridgeViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = B1A2C3D40002000100000002 /* DittoBridgeViewController.swift */; }; /* End PBXBuildFile section */ /* Begin PBXFileReference section */ @@ -30,6 +31,7 @@ 50B271D01FEDC1A000F3C39B /* public */ = {isa = PBXFileReference; lastKnownFileType = folder; path = public; sourceTree = ""; }; 958DCC722DB07C7200EA8C5F /* debug.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; name = debug.xcconfig; path = ../debug.xcconfig; sourceTree = SOURCE_ROOT; }; B1A2C3D40001000100000002 /* SandboxPlugin.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SandboxPlugin.swift; sourceTree = ""; }; + B1A2C3D40002000100000002 /* DittoBridgeViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DittoBridgeViewController.swift; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -67,6 +69,7 @@ 50379B222058CBB4000EE86E /* capacitor.config.json */, 504EC3071FED79650016851F /* AppDelegate.swift */, B1A2C3D40001000100000002 /* SandboxPlugin.swift */, + B1A2C3D40002000100000002 /* DittoBridgeViewController.swift */, 504EC30B1FED79650016851F /* Main.storyboard */, 504EC30E1FED79650016851F /* Assets.xcassets */, 504EC3101FED79650016851F /* LaunchScreen.storyboard */, @@ -160,6 +163,7 @@ files = ( 504EC3081FED79650016851F /* AppDelegate.swift in Sources */, B1A2C3D40001000100000001 /* SandboxPlugin.swift in Sources */, + B1A2C3D40002000100000001 /* DittoBridgeViewController.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; diff --git a/ios/App/App/Base.lproj/Main.storyboard b/ios/App/App/Base.lproj/Main.storyboard index b44df7be..468ef29f 100644 --- a/ios/App/App/Base.lproj/Main.storyboard +++ b/ios/App/App/Base.lproj/Main.storyboard @@ -11,7 +11,7 @@ - + diff --git a/ios/App/App/DittoBridgeViewController.swift b/ios/App/App/DittoBridgeViewController.swift new file mode 100644 index 00000000..91869d81 --- /dev/null +++ b/ios/App/App/DittoBridgeViewController.swift @@ -0,0 +1,9 @@ +import UIKit +import Capacitor + +class DittoBridgeViewController: CAPBridgeViewController { + override func capacitorDidLoad() { + super.capacitorDidLoad() + webView?.allowsBackForwardNavigationGestures = true + } +} diff --git a/src/components/MobileBottomNav.tsx b/src/components/MobileBottomNav.tsx index 9648828a..70e68db5 100644 --- a/src/components/MobileBottomNav.tsx +++ b/src/components/MobileBottomNav.tsx @@ -137,8 +137,8 @@ export function MobileBottomNav() { - {/* Safe area spacer — fully opaque so any subpixel gap is invisible */} -
+ {/* Safe area fill — matches the arc's semi-transparent background */} +
); diff --git a/src/components/NsitePreviewDialog.tsx b/src/components/NsitePreviewDialog.tsx index 61361329..00413cfa 100644 --- a/src/components/NsitePreviewDialog.tsx +++ b/src/components/NsitePreviewDialog.tsx @@ -186,7 +186,7 @@ export function NsitePreviewDialog({ event, appName, appPicture, open, onOpenCha }} > {/* Nav bar */} -
+
{/* App icon + name */}
{appPicture ? (