* replace NavigationStack with ElementNavigationStack to allow the content to be rendered without a NavigationStack in a11y tests * fix a11y tests * update xcodeproject * swiftformat fix * use iOS 26.1 for CI * use a wrapper to solve the issue for a11y tests * ElementNavigationStack only uses the trick in DEBUG mode, and added a swiftlint rule to prevent the usage of NavigationStack
34 lines
839 B
Swift
34 lines
839 B
Swift
//
|
|
// Copyright 2026 Element Creations Ltd.
|
|
//
|
|
// SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial.
|
|
// Please see LICENSE files in the repository root for full details.
|
|
//
|
|
|
|
import SwiftUI
|
|
|
|
struct ElementNavigationStack<Content: View>: View {
|
|
@ViewBuilder let content: Content
|
|
|
|
var body: some View {
|
|
#if DEBUG
|
|
if ProcessInfo.isRunningAccessibilityTests {
|
|
// Wrap in VStack to safely apply .id() since applying .id() directly to NavigationStack crashes on iOS 26
|
|
VStack(spacing: 0) {
|
|
NavigationStack {
|
|
content
|
|
}
|
|
}
|
|
} else {
|
|
NavigationStack {
|
|
content
|
|
}
|
|
}
|
|
#else
|
|
NavigationStack {
|
|
content
|
|
}
|
|
#endif
|
|
}
|
|
}
|