* Settings Cleanup. Replace strings with labels. Enforce the same font. Ensure Forms don't get clipped by their boundries. Create consistent, reusable button sizing/coloring. Apply to all Settings Pages. * Remove custom Button/Form styling in exchange for just using .scrollClipDisabled() * Swap back to Jellyfin Purple from Purple. * Remove Check Button. Check all Section Inits where possible. Make Server Details Server non-focusable. Create a new menu for Server Details selection. This is a WIP awaiting feedback from https://github.com/jellyfin/Swiftfin/pull/1163#discussion_r1705957885 --------- Co-authored-by: Joseph Kribs <joseph@kribs.net>
42 lines
1.1 KiB
Swift
42 lines
1.1 KiB
Swift
//
|
|
// Swiftfin is subject to the terms of the Mozilla Public
|
|
// License, v2.0. If a copy of the MPL was not distributed with this
|
|
// file, you can obtain one at https://mozilla.org/MPL/2.0/.
|
|
//
|
|
// Copyright (c) 2024 Jellyfin & Jellyfin Contributors
|
|
//
|
|
|
|
import Defaults
|
|
import SwiftUI
|
|
|
|
struct ExperimentalSettingsView: View {
|
|
|
|
@Default(.Experimental.forceDirectPlay)
|
|
private var forceDirectPlay
|
|
@Default(.Experimental.liveTVForceDirectPlay)
|
|
private var liveTVForceDirectPlay
|
|
|
|
var body: some View {
|
|
SplitFormWindowView()
|
|
.descriptionView {
|
|
Image(systemName: "gearshape")
|
|
.resizable()
|
|
.aspectRatio(contentMode: .fit)
|
|
.frame(maxWidth: 400)
|
|
}
|
|
.contentView {
|
|
|
|
Section("Video Player") {
|
|
|
|
Toggle("Force Direct Play", isOn: $forceDirectPlay)
|
|
}
|
|
|
|
Section("Live TV") {
|
|
|
|
Toggle("Live TV Force Direct Play", isOn: $liveTVForceDirectPlay)
|
|
}
|
|
}
|
|
.navigationTitle(L10n.experimental)
|
|
}
|
|
}
|