Creates modifier for customInsetGrouped rows

This commit is contained in:
Stuart Breckenridge
2022-12-22 08:42:43 +08:00
parent 89b1de92f1
commit bb40169dda
3 changed files with 42 additions and 17 deletions

View File

@@ -16,19 +16,12 @@ struct TimelineCustomizerView: View {
var body: some View {
List {
Section(header: Text("Icon Size", comment: "Timline Customiser: Icon size section header")) {
ZStack {
TickMarkSliderView(minValue: 1, maxValue: 3, currentValue: Binding(get: {
Float(appDefaults.timelineIconSize.rawValue)
}, set: { AppDefaults.shared.timelineIconSize = IconSize(rawValue: Int($0))! }))
}
.padding(.horizontal, 16)
.padding(.vertical, 8)
.listRowInsets(EdgeInsets(top: 0, leading: 15, bottom: 0, trailing: 15))
.background(
RoundedRectangle(cornerRadius: 8)
.foregroundColor(Color(uiColor: UIColor.secondarySystemGroupedBackground))
)
.customInsetGroupedRowStyle()
}
.listRowInsets(EdgeInsets(top: 0, leading: 30, bottom: 0, trailing: 30))
.listRowBackground(Color.clear)
@@ -40,13 +33,7 @@ struct TimelineCustomizerView: View {
Float(appDefaults.timelineNumberOfLines)
}, set: { appDefaults.timelineNumberOfLines = Int($0) }))
}
.padding(.horizontal, 16)
.padding(.vertical, 8)
.listRowInsets(EdgeInsets(top: 0, leading: 15, bottom: 0, trailing: 15))
.background(
RoundedRectangle(cornerRadius: 8)
.foregroundColor(Color(uiColor: UIColor.secondarySystemGroupedBackground))
)
.customInsetGroupedRowStyle()
}
.listRowInsets(EdgeInsets(top: 0, leading: 30, bottom: 0, trailing: 30))
.listRowBackground(Color.clear)

View File

@@ -0,0 +1,34 @@
//
// CustomInsetGroupedRowStyle.swift
// NetNewsWire-iOS
//
// Created by Stuart Breckenridge on 22/12/2022.
// Copyright © 2022 Ranchero Software. All rights reserved.
//
import SwiftUI
struct CustomInsetGroupedRowStyle: ViewModifier {
func body(content: Content) -> some View {
content
.padding(.horizontal, 16)
.padding(.vertical, 8)
.listRowInsets(EdgeInsets(top: 0, leading: 15, bottom: 0, trailing: 15))
.background(
RoundedRectangle(cornerRadius: 8)
.foregroundColor(Color(uiColor: UIColor.secondarySystemGroupedBackground))
)
}
}
extension View {
/// This function dismisses a view when the user launches from
/// an external action, for example, opening the app from the widget.
/// - Returns: `View`
func customInsetGroupedRowStyle() -> some View {
modifier(CustomInsetGroupedRowStyle())
}
}