Add credits section to icon selector

This commit is contained in:
Thomas Ricouard 2023-01-28 08:58:36 +01:00
parent 0fb9e60c3f
commit edb43040a3

View file

@ -21,6 +21,16 @@ struct IconSelectorView: View {
case alt15, alt16, alt17, alt18, alt19, alt20, alt21
case alt22, alt23, alt24
static var officialIcons: [Icon] {
[.alt1, .alt2, .alt3, .alt4, .alt5, .alt6, .alt7, .alt8,
.alt9, .alt10, .alt11, .alt12, .alt13, .alt14,
.alt15, .alt16, .alt17, .alt18, .alt19]
}
static var albertKinngIcons: [Icon] {
[.alt20, .alt21, .alt22, .alt23, .alt24]
}
var appIconName: String {
switch self {
case .primary:
@ -43,8 +53,29 @@ struct IconSelectorView: View {
var body: some View {
ScrollView {
VStack(alignment: .leading) {
Section {
makeIconGridView(icons: Icon.officialIcons)
} header: {
Text("Official icons")
.font(.scaledHeadline)
}
Section {
makeIconGridView(icons: Icon.albertKinngIcons)
} header: {
Text("Icons by Alert Kinng")
.font(.scaledHeadline)
}
}
.padding(6)
.navigationTitle("settings.app.icon.navigation-title")
}
.background(theme.primaryBackgroundColor)
}
private func makeIconGridView(icons: [Icon]) -> some View {
LazyVGrid(columns: columns, spacing: 6) {
ForEach(Icon.allCases) { icon in
ForEach(icons) { icon in
Button {
currentIcon = icon.appIconName
if icon.rawValue == Icon.primary.rawValue {
@ -70,9 +101,4 @@ struct IconSelectorView: View {
}
}
}
.padding(6)
.navigationTitle("settings.app.icon.navigation-title")
}
.background(theme.primaryBackgroundColor)
}
}