import SwiftUI private struct SafeAreaInsetsFollowReadableWidthModifier: ViewModifier { static let readableWidth: Double = 672 @ViewBuilder func body(content: Content) -> some View { GeometryReader { geometry in let insetLength = max(0, geometry.size.width - Self.readableWidth) / 2 content .safeAreaInset(edge: .leading, spacing: 0) { Color.clear.frame(width: insetLength) } .safeAreaInset(edge: .trailing, spacing: 0) { Color.clear.frame(width: insetLength) } } } } public extension View { func safeAreaInsetsFollowReadableWidth() -> some View { self.modifier(SafeAreaInsetsFollowReadableWidthModifier()) } }