Fix tvOS settings icon alignment

This commit is contained in:
Dave Nicolson 2023-09-10 20:08:42 +02:00
parent 2f10dc8368
commit 57038c590e

View File

@ -119,6 +119,20 @@ struct SettingsView: View {
#endif #endif
} }
struct SettingsLabel: LabelStyle {
func makeBody(configuration: Configuration) -> some View {
#if os(tvOS)
Label {
configuration.title.padding(.leading, 10)
} icon: {
configuration.icon
}
#else
Label(configuration)
#endif
}
}
#if !os(macOS) #if !os(macOS)
var settingsList: some View { var settingsList: some View {
List { List {
@ -141,51 +155,51 @@ struct SettingsView: View {
NavigationLink { NavigationLink {
BrowsingSettings() BrowsingSettings()
} label: { } label: {
Label("Browsing", systemImage: "list.and.film") Label("Browsing", systemImage: "list.and.film").labelStyle(SettingsLabel())
} }
NavigationLink { NavigationLink {
PlayerSettings() PlayerSettings()
} label: { } label: {
Label("Player", systemImage: "play.rectangle") Label("Player", systemImage: "play.rectangle").labelStyle(SettingsLabel())
} }
NavigationLink { NavigationLink {
PlayerControlsSettings() PlayerControlsSettings()
} label: { } label: {
Label("Controls", systemImage: "hand.tap") Label("Controls", systemImage: "hand.tap").labelStyle(SettingsLabel())
} }
NavigationLink { NavigationLink {
QualitySettings() QualitySettings()
} label: { } label: {
Label("Quality", systemImage: "4k.tv") Label("Quality", systemImage: "4k.tv").labelStyle(SettingsLabel())
} }
NavigationLink { NavigationLink {
HistorySettings() HistorySettings()
} label: { } label: {
Label("History", systemImage: "clock.arrow.circlepath") Label("History", systemImage: "clock.arrow.circlepath").labelStyle(SettingsLabel())
} }
if !accounts.isEmpty { if !accounts.isEmpty {
NavigationLink { NavigationLink {
SponsorBlockSettings() SponsorBlockSettings()
} label: { } label: {
Label("SponsorBlock", systemImage: "dollarsign.circle") Label("SponsorBlock", systemImage: "dollarsign.circle").labelStyle(SettingsLabel())
} }
} }
NavigationLink { NavigationLink {
LocationsSettings() LocationsSettings()
} label: { } label: {
Label("Locations", systemImage: "globe") Label("Locations", systemImage: "globe").labelStyle(SettingsLabel())
} }
NavigationLink { NavigationLink {
AdvancedSettings() AdvancedSettings()
} label: { } label: {
Label("Advanced", systemImage: "wrench.and.screwdriver") Label("Advanced", systemImage: "wrench.and.screwdriver").labelStyle(SettingsLabel())
} }
} }
@ -193,7 +207,7 @@ struct SettingsView: View {
NavigationLink { NavigationLink {
Help() Help()
} label: { } label: {
Label("Help", systemImage: "questionmark.circle") Label("Help", systemImage: "questionmark.circle").labelStyle(SettingsLabel())
} }
} }