Archived
Make the countdown narrow enough for the slot it sits in
Text(style: .timer) renders 1:23:45 once more than an hour out. An accessoryCorner has room for three or four characters beside its curved label, and a circular gauge for about the same, so the live timer overlapped what it sat next to. Replaced with a compact value — "23m", "2h", "3d" — recomputed per timeline entry, which is why the timeline now carries a mark every minute for the first hour. Both corner kinds and the gauge also get lineLimit(1) and a minimum scale factor, so an unexpectedly wide value shrinks instead of colliding. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5
parent
fdae680e02
commit
b489f10c28
@@ -14,7 +14,12 @@ struct CornerCountdownComplicationView: View {
|
||||
let next = WatchComplicationSupport.nextEvent(in: entry.snapshot, at: entry.date)
|
||||
Group {
|
||||
if let next {
|
||||
Text(WatchComplicationSupport.countdownTarget(next, at: entry.date), style: .timer)
|
||||
Text(WatchComplicationSupport.compactCountdown(
|
||||
to: WatchComplicationSupport.countdownTarget(next, at: entry.date),
|
||||
at: entry.date,
|
||||
language: entry.language))
|
||||
.lineLimit(1)
|
||||
.minimumScaleFactor(0.6)
|
||||
.widgetAccentable()
|
||||
} else {
|
||||
Image(systemName: "calendar")
|
||||
@@ -37,6 +42,8 @@ struct CornerTimeComplicationView: View {
|
||||
Text(next.isAllDay
|
||||
? WatchL10n.t("watch.allday", entry.language)
|
||||
: WatchComplicationSupport.time(next.start, language: entry.language))
|
||||
.lineLimit(1)
|
||||
.minimumScaleFactor(0.6)
|
||||
.widgetAccentable()
|
||||
} else {
|
||||
Image(systemName: "calendar")
|
||||
|
||||
Reference in New Issue
Block a user