Restrict orientation locking to iPhone only

- Add device checks in Orientation enum to prevent locking on iPad
- Hide "Lock portrait mode" setting on iPad in BrowsingSettings
- Use Constants.isIPhone for consistent device detection
This commit is contained in:
Arkadiusz Fal
2025-11-23 13:41:03 +01:00
parent e6e69eb757
commit 36190e62f5
2 changed files with 13 additions and 1 deletions

View File

@@ -185,7 +185,7 @@ struct BrowsingSettings: View {
#if os(iOS)
Toggle("Show Documents", isOn: $showDocuments)
if Constants.isIPad {
if Constants.isIPhone {
Toggle("Lock portrait mode", isOn: $lockPortraitWhenBrowsing)
.onChange(of: lockPortraitWhenBrowsing) { lock in
if lock {

View File

@@ -6,6 +6,12 @@ enum Orientation {
static var logger = Logger(label: "stream.yattee.orientation")
static func lockOrientation(_ orientation: UIInterfaceOrientationMask) {
// Orientation locking is only for iPhone, not iPad
guard Constants.isIPhone else {
logger.info("skipping orientation lock on iPad")
return
}
if let delegate = AppDelegate.instance {
delegate.orientationLock = orientation
@@ -18,6 +24,12 @@ enum Orientation {
}
static func lockOrientation(_ orientation: UIInterfaceOrientationMask, andRotateTo rotateOrientation: UIInterfaceOrientation? = nil) {
// Orientation locking and rotation is only for iPhone, not iPad
guard Constants.isIPhone else {
logger.info("skipping orientation lock and rotation on iPad")
return
}
lockOrientation(orientation)
guard let rotateOrientation else {