home: navegacion de semanas visible (flechas en circulo + hint en titulo)

Los chevrons finos coral sobre la barra ya coral eran invisibles en la
practica — un usuario premium no encontraba como planificar la semana
siguiente. Ahora son botones circulares blancos con chevron en negrita,
y el titulo lleva un chevron.down que delata que abre el selector de
semana. UI test de regresion: navegar a la semana siguiente debe
renderizar sus huecos sin paywall (la creacion del plan al navegar ya
funcionaba, verificado con captura).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_013H6bXqGX1ygwib1Dm3n3UG
This commit is contained in:
alexandrev-tibco
2026-09-10 20:11:44 +02:00
parent e77d1c2f80
commit 22e65148a3
4 changed files with 56 additions and 4 deletions
+17 -2
View File
@@ -154,25 +154,36 @@ struct HomeView: View {
}
}
ToolbarItem(placement: .principal) {
HStack(spacing: 10) {
// Bold circled arrows: the previous thin chevrons were so
// subtle that users couldn't find how to change week.
HStack(spacing: 8) {
if let settings = settings {
Button {
viewModel.goToPreviousWeek()
showWeekLimitUpsell = false
} label: {
Image(systemName: "chevron.left")
.font(.system(size: 13, weight: .bold))
.foregroundColor(.mealMoodCoral)
.frame(width: 30, height: 30)
.background(Circle().fill(Color.white.opacity(0.75)))
}
.buttonStyle(.plain)
.accessibilityLabel(Text("home_previous"))
Button {
weekPickerDate = viewModel.currentWeekStart
showWeekPicker = true
} label: {
VStack(spacing: 2) {
HStack(spacing: 4) {
Text(viewModel.weekRangeText)
.font(.mealMoodH2)
.foregroundColor(.mealMoodTextPrimary)
.lineLimit(1)
.minimumScaleFactor(0.7)
Image(systemName: "chevron.down")
.font(.system(size: 10, weight: .bold))
.foregroundColor(.mealMoodTextSecondary)
}
}
.buttonStyle(.plain)
@@ -192,8 +203,12 @@ struct HomeView: View {
}
} label: {
Image(systemName: "chevron.right")
.font(.system(size: 13, weight: .bold))
.foregroundColor(.mealMoodCoral)
.frame(width: 30, height: 30)
.background(Circle().fill(Color.white.opacity(0.75)))
}
.buttonStyle(.plain)
.accessibilityLabel(Text("home_next"))
}
}