Enforce minimum 2 grid columns on tvOS

This commit is contained in:
Arkadiusz Fal
2026-05-08 20:04:29 +02:00
parent 5b9cd8c521
commit f80ba26277
4 changed files with 22 additions and 13 deletions

View File

@@ -28,7 +28,7 @@ struct ViewOptionsSheet: View {
/// Effective columns clamped to valid range.
private var effectiveColumns: Int {
min(max(1, gridColumns), maxGridColumns)
min(max(GridConstants.minAllowedColumns, gridColumns), max(GridConstants.minAllowedColumns, maxGridColumns))
}
var body: some View {
@@ -64,7 +64,7 @@ struct ViewOptionsSheet: View {
if layout == .grid {
Picker("viewOptions.columns.header", selection: $gridColumns) {
ForEach(1...maxGridColumns, id: \.self) { count in
ForEach(GridConstants.minAllowedColumns...max(GridConstants.minAllowedColumns, maxGridColumns), id: \.self) { count in
Text("\(count)").tag(count)
}
}
@@ -123,7 +123,7 @@ struct ViewOptionsSheet: View {
if layout == .grid {
#if os(tvOS)
Picker("viewOptions.columns.header", selection: $gridColumns) {
ForEach(1...maxGridColumns, id: \.self) { count in
ForEach(GridConstants.minAllowedColumns...max(GridConstants.minAllowedColumns, maxGridColumns), id: \.self) { count in
Text("\(count)").tag(count)
}
}
@@ -131,7 +131,7 @@ struct ViewOptionsSheet: View {
Stepper(
"viewOptions.columns \(effectiveColumns)",
value: $gridColumns,
in: 1...maxGridColumns
in: GridConstants.minAllowedColumns...max(GridConstants.minAllowedColumns, maxGridColumns)
)
#endif
}

View File

@@ -142,16 +142,16 @@ struct ManageChannelsView: View {
if layout == .grid {
#if os(tvOS)
Picker("viewOptions.columns.header", selection: $gridColumns) {
ForEach(1...max(1, gridConfig.maxColumns), id: \.self) { count in
ForEach(GridConstants.minAllowedColumns...max(GridConstants.minAllowedColumns, gridConfig.maxColumns), id: \.self) { count in
Text("\(count)").tag(count)
}
}
.pickerStyle(.segmented)
#else
Stepper(
"viewOptions.columns \(min(max(1, gridColumns), gridConfig.maxColumns))",
"viewOptions.columns \(min(max(GridConstants.minAllowedColumns, gridColumns), gridConfig.maxColumns))",
value: $gridColumns,
in: 1...gridConfig.maxColumns
in: GridConstants.minAllowedColumns...max(GridConstants.minAllowedColumns, gridConfig.maxColumns)
)
#endif
}

View File

@@ -359,16 +359,16 @@ struct SubscriptionsView: View {
if layout == .grid {
#if os(tvOS)
Picker("viewOptions.columns.header", selection: $gridColumns) {
ForEach(1...max(1, gridConfig.maxColumns), id: \.self) { count in
ForEach(GridConstants.minAllowedColumns...max(GridConstants.minAllowedColumns, gridConfig.maxColumns), id: \.self) { count in
Text("\(count)").tag(count)
}
}
.pickerStyle(.segmented)
#else
Stepper(
"viewOptions.columns \(min(max(1, gridColumns), gridConfig.maxColumns))",
"viewOptions.columns \(min(max(GridConstants.minAllowedColumns, gridColumns), gridConfig.maxColumns))",
value: $gridColumns,
in: 1...gridConfig.maxColumns
in: GridConstants.minAllowedColumns...max(GridConstants.minAllowedColumns, gridConfig.maxColumns)
)
#endif
}