mirror of
https://github.com/yattee/yattee.git
synced 2026-07-21 06:42:01 +00:00
Add card style option for Home shortcut cards
Adds a Style picker (Plain / Accent / Colorful) to the Customize Home sheet, shown when the shortcuts layout is Cards. Defaults to Plain. - Plain: current look (light accent tint + accent border) - Accent: solid accent fill, white icon/text - Colorful: solid fill with a fixed color per shortcut type The filled styles use a Reminders-style layout (icon top-leading, count top-trailing, title anchored to the bottom) with a subtle gradient sheen over the fill color. Cards without a meaningful count (Open Link, Remote, Subscriptions, instance content, media sources) hide the number; Remote shows its status dot in the top-right slot instead. Persisted via SettingsKey.homeShortcutCardStyle, mirroring the existing homeShortcutLayout accessor.
This commit is contained in:
@@ -12,6 +12,7 @@ struct HomeSettingsView: View {
|
||||
|
||||
// Local state for editing (copied from settings on appear, saved on dismiss)
|
||||
@State private var shortcutLayout: HomeShortcutLayout = .cards
|
||||
@State private var shortcutCardStyle: HomeShortcutCardStyle = .plain
|
||||
@State private var shortcutOrder: [HomeShortcutItem] = []
|
||||
@State private var shortcutVisibility: [HomeShortcutItem: Bool] = [:]
|
||||
@State private var sectionOrder: [HomeSectionItem] = []
|
||||
@@ -73,6 +74,15 @@ struct HomeSettingsView: View {
|
||||
}
|
||||
}
|
||||
.pickerStyle(.segmented)
|
||||
|
||||
// Card style picker (Plain / Accent / Colorful) — only for cards layout
|
||||
if shortcutLayout == .cards {
|
||||
Picker(String(localized: "home.settings.shortcuts.style"), selection: $shortcutCardStyle) {
|
||||
ForEach(HomeShortcutCardStyle.allCases, id: \.self) { style in
|
||||
Text(style.displayName).tag(style)
|
||||
}
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
#if os(tvOS)
|
||||
@@ -268,6 +278,7 @@ struct HomeSettingsView: View {
|
||||
let env = appEnvironment else { return }
|
||||
|
||||
shortcutLayout = settings.homeShortcutLayout
|
||||
shortcutCardStyle = settings.homeShortcutCardStyle
|
||||
shortcutOrder = settings.homeShortcutOrder
|
||||
shortcutVisibility = settings.homeShortcutVisibility
|
||||
sectionOrder = settings.homeSectionOrder
|
||||
@@ -288,6 +299,7 @@ struct HomeSettingsView: View {
|
||||
private func saveSettings() {
|
||||
guard let settings = settingsManager else { return }
|
||||
settings.homeShortcutLayout = shortcutLayout
|
||||
settings.homeShortcutCardStyle = shortcutCardStyle
|
||||
settings.homeShortcutOrder = shortcutOrder
|
||||
settings.homeShortcutVisibility = shortcutVisibility
|
||||
settings.homeSectionOrder = sectionOrder
|
||||
|
||||
Reference in New Issue
Block a user