Fix sidebar tabs getting extra left padding when update pill is visible

Move GeometryReader from wrapping the entire VStack to wrapping only the
ScrollView so proxy.size.height reflects available height (minus pill),
preventing unnecessary scrollability that triggered macOS horizontal insets.

Also clamp update pill text width with maxWidth instead of fixed width so
it truncates gracefully at narrow sidebar widths and grows when wider, add
horizontal padding, left-align truncated text, and add debug menu item for
testing with long nightly version strings.
This commit is contained in:
Lawrence Chen 2026-02-16 03:20:51 -08:00
parent b3945bdc7f
commit c0f7a07a7b
5 changed files with 32 additions and 14 deletions

View file

@ -6,12 +6,18 @@ import Sparkle
class UpdateViewModel: ObservableObject {
@Published var state: UpdateState = .idle
@Published var overrideState: UpdateState?
#if DEBUG
@Published var debugOverrideText: String?
#endif
var effectiveState: UpdateState {
overrideState ?? state
}
var text: String {
#if DEBUG
if let debugOverrideText { return debugOverrideText }
#endif
switch effectiveState {
case .idle:
return ""