feat(bar-app): tune density and add spend chart style toggle

Narrow the dropdown (380 to 360) and give it more vertical room (620 to 700).
Tighten the subscription cards (less spacing/padding) since they carry only a
few window rows. Make the spend chart taller (18 to 30) and let the user pick
its style in Settings: chunk bars (default) or a line graph with a subtle area
fill. Persist the choice in UserDefaults.
This commit is contained in:
Tam Nhu Tran committed 2026-06-09 17:06:33 -04:00
1 parent b9a4a4a3a4
commit 0b1c4e4908
8 files changed
+187 -27

No files matched your search

@@ -24,7 +24,9 @@ struct BarSubscriptionCard: View {
}
var body: some View {
VStack(alignment: .leading, spacing: 6) {
// spacing: 4 (down from 6) and vertical padding: 8 (down from 11) keep the
// card compact so 2-3 cards fit in the dropdown without triggering scroll.
VStack(alignment: .leading, spacing: 4) {
titleRow
if windows.isEmpty {
emptyState
@@ -33,7 +35,7 @@ struct BarSubscriptionCard: View {
staleFootnote
}
}
.padding(.vertical, 11)
.padding(.vertical, 8)
.padding(.horizontal, 10)
.frame(maxWidth: .infinity, alignment: .leading)
.background(
@@ -71,7 +73,9 @@ struct BarSubscriptionCard: View {
let ordered = orderedWindows
let bindingKey = binding?.key
return VStack(alignment: .leading, spacing: 5) {
// spacing: 4 (down from 5) — rows are already compact; tighter gap fits more
// without hurting legibility.
return VStack(alignment: .leading, spacing: 4) {
ForEach(ordered) { w in
windowBarRow(w, isBinding: w.key == bindingKey)
}