mirror of
https://github.com/Novaloop-AG/element-x-ios.git
synced 2026-11-03 16:10:20 +00:00
Fix MediaTimeline screen header iOS 26 crash, update remaining version predicates.
This commit is contained in:
@@ -6,28 +6,28 @@
|
|||||||
//
|
//
|
||||||
|
|
||||||
import SwiftUI
|
import SwiftUI
|
||||||
import SwiftUIIntrospect
|
@_spi(Advanced) import SwiftUIIntrospect
|
||||||
|
|
||||||
extension PlatformViewVersionPredicate<TextFieldType, UITextField> {
|
extension PlatformViewVersionPredicate<TextFieldType, UITextField> {
|
||||||
static var supportedVersions: Self {
|
static var supportedVersions: Self {
|
||||||
.iOS(.v17, .v18)
|
.iOS(.v16...)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
extension PlatformViewVersionPredicate<ScrollViewType, UIScrollView> {
|
extension PlatformViewVersionPredicate<ScrollViewType, UIScrollView> {
|
||||||
static var supportedVersions: Self {
|
static var supportedVersions: Self {
|
||||||
.iOS(.v17, .v18)
|
.iOS(.v16...)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
extension PlatformViewVersionPredicate<ViewControllerType, UIViewController> {
|
extension PlatformViewVersionPredicate<ViewControllerType, UIViewController> {
|
||||||
static var supportedVersions: Self {
|
static var supportedVersions: Self {
|
||||||
.iOS(.v17, .v18)
|
.iOS(.v16...)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
extension PlatformViewVersionPredicate<NavigationStackType, UINavigationController> {
|
extension PlatformViewVersionPredicate<NavigationStackType, UINavigationController> {
|
||||||
static var supportedVersions: Self {
|
static var supportedVersions: Self {
|
||||||
.iOS(.v17, .v18)
|
.iOS(.v16...)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+17
-9
@@ -194,16 +194,12 @@ struct MediaEventsTimelineScreen: View {
|
|||||||
@ToolbarContentBuilder
|
@ToolbarContentBuilder
|
||||||
private var toolbar: some ToolbarContent {
|
private var toolbar: some ToolbarContent {
|
||||||
ToolbarItem(placement: .principal) {
|
ToolbarItem(placement: .principal) {
|
||||||
Picker("", selection: $context.screenMode) {
|
if #available(iOS 19, *) {
|
||||||
Text(L10n.screenMediaBrowserListModeMedia)
|
screenModePicker
|
||||||
.padding()
|
} else {
|
||||||
.tag(MediaEventsTimelineScreenMode.media)
|
screenModePicker
|
||||||
Text(L10n.screenMediaBrowserListModeFiles)
|
.frame(idealWidth: .greatestFiniteMagnitude)
|
||||||
.padding()
|
|
||||||
.tag(MediaEventsTimelineScreenMode.files)
|
|
||||||
}
|
}
|
||||||
.pickerStyle(.segmented)
|
|
||||||
.frame(idealWidth: .greatestFiniteMagnitude)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
ToolbarItem(placement: .primaryAction) {
|
ToolbarItem(placement: .primaryAction) {
|
||||||
@@ -212,6 +208,18 @@ struct MediaEventsTimelineScreen: View {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private var screenModePicker: some View {
|
||||||
|
Picker("", selection: $context.screenMode) {
|
||||||
|
Text(L10n.screenMediaBrowserListModeMedia)
|
||||||
|
.padding()
|
||||||
|
.tag(MediaEventsTimelineScreenMode.media)
|
||||||
|
Text(L10n.screenMediaBrowserListModeFiles)
|
||||||
|
.padding()
|
||||||
|
.tag(MediaEventsTimelineScreenMode.files)
|
||||||
|
}
|
||||||
|
.pickerStyle(.segmented)
|
||||||
|
}
|
||||||
|
|
||||||
func tappedItem(_ item: RoomTimelineItemViewState) {
|
func tappedItem(_ item: RoomTimelineItemViewState) {
|
||||||
context.send(viewAction: .tappedItem(item: item))
|
context.send(viewAction: .tappedItem(item: item))
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user