Skip to content

Commit 33337f2

Browse files
committed
Widget spacing ui fix
1 parent dd8b59b commit 33337f2

File tree

4 files changed

+64
-41
lines changed

4 files changed

+64
-41
lines changed
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
//
2+
// EventualGlucoseView.swift
3+
// Loop Widget Extension
4+
//
5+
// Created by Noah Brauner on 8/8/24.
6+
// Copyright © 2024 LoopKit Authors. All rights reserved.
7+
//
8+
9+
import SwiftUI
10+
11+
struct EventualGlucoseView: View {
12+
let entry: StatusWidgetTimelimeEntry
13+
14+
var body: some View {
15+
if let eventualGlucose = entry.eventualGlucose {
16+
let glucoseFormatter = NumberFormatter.glucoseFormatter(for: eventualGlucose.unit)
17+
if let glucoseString = glucoseFormatter.string(from: eventualGlucose.quantity.doubleValue(for: eventualGlucose.unit)) {
18+
VStack {
19+
Text("Eventual")
20+
.font(.footnote)
21+
.foregroundColor(entry.contextIsStale ? Color(UIColor.systemGray3) : Color(UIColor.secondaryLabel))
22+
23+
Text("\(glucoseString)")
24+
.font(.subheadline)
25+
.fontWeight(.heavy)
26+
27+
Text(eventualGlucose.unit.shortLocalizedUnitString())
28+
.font(.footnote)
29+
.foregroundColor(entry.contextIsStale ? Color(UIColor.systemGray3) : Color(UIColor.secondaryLabel))
30+
}
31+
}
32+
}
33+
}
34+
}

Loop Widget Extension/Components/PumpView.swift

Lines changed: 10 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -9,42 +9,19 @@
99
import SwiftUI
1010

1111
struct PumpView: View {
12-
13-
var entry: StatusWidgetTimelineProvider.Entry
12+
var entry: StatusWidgetTimelimeEntry
1413

1514
var body: some View {
16-
HStack(alignment: .center) {
17-
if let pumpHighlight = entry.pumpHighlight {
18-
HStack {
19-
Image(systemName: pumpHighlight.imageName)
20-
.foregroundColor(pumpHighlight.state == .critical ? .critical : .warning)
21-
Text(pumpHighlight.localizedMessage)
22-
.fontWeight(.heavy)
23-
}
24-
}
25-
else if let netBasal = entry.netBasal {
26-
BasalView(netBasal: netBasal, isOld: entry.contextIsStale)
27-
28-
if let eventualGlucose = entry.eventualGlucose {
29-
let glucoseFormatter = NumberFormatter.glucoseFormatter(for: eventualGlucose.unit)
30-
if let glucoseString = glucoseFormatter.string(from: eventualGlucose.quantity.doubleValue(for: eventualGlucose.unit)) {
31-
VStack {
32-
Text("Eventual")
33-
.font(.footnote)
34-
.foregroundColor(entry.contextIsStale ? Color(UIColor.systemGray3) : Color(UIColor.secondaryLabel))
35-
36-
Text("\(glucoseString)")
37-
.font(.subheadline)
38-
.fontWeight(.heavy)
39-
40-
Text(eventualGlucose.unit.shortLocalizedUnitString())
41-
.font(.footnote)
42-
.foregroundColor(entry.contextIsStale ? Color(UIColor.systemGray3) : Color(UIColor.secondaryLabel))
43-
}
44-
}
45-
}
15+
if let pumpHighlight = entry.pumpHighlight {
16+
HStack {
17+
Image(systemName: pumpHighlight.imageName)
18+
.foregroundColor(pumpHighlight.state == .critical ? .critical : .warning)
19+
Text(pumpHighlight.localizedMessage)
20+
.fontWeight(.heavy)
4621
}
47-
22+
}
23+
else if let netBasal = entry.netBasal {
24+
BasalView(netBasal: netBasal, isOld: entry.contextIsStale)
4825
}
4926
}
5027
}

Loop Widget Extension/Widgets/SystemStatusWidget.swift

Lines changed: 16 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -27,12 +27,14 @@ struct SystemStatusWidgetEntryView : View {
2727
var body: some View {
2828
HStack(alignment: .center, spacing: 5) {
2929
VStack(alignment: .center, spacing: 5) {
30-
HStack(alignment: .center, spacing: 15) {
30+
HStack(alignment: .center, spacing: 0) {
3131
LoopCircleView(closedLoop: entry.closeLoop, freshness: freshness)
32+
.frame(maxWidth: .infinity, alignment: .center)
3233
.environment(\.loopStatusColorPalette, .loopStatus)
3334
.disabled(entry.contextIsStale)
3435

3536
GlucoseView(entry: entry)
37+
.frame(maxWidth: .infinity, alignment: .center)
3638
}
3739
.frame(maxWidth: .infinity, maxHeight: .infinity, alignment: .center)
3840
.padding(5)
@@ -41,13 +43,19 @@ struct SystemStatusWidgetEntryView : View {
4143
.fill(Color("WidgetSecondaryBackground"))
4244
)
4345

44-
PumpView(entry: entry)
45-
.frame(maxWidth: .infinity, maxHeight: .infinity, alignment: .center)
46-
.padding(5)
47-
.background(
48-
ContainerRelativeShape()
49-
.fill(Color("WidgetSecondaryBackground"))
50-
)
46+
HStack(alignment: .center, spacing: 0) {
47+
PumpView(entry: entry)
48+
.frame(maxWidth: .infinity, alignment: .center)
49+
50+
EventualGlucoseView(entry: entry)
51+
.frame(maxWidth: .infinity, alignment: .center)
52+
}
53+
.frame(maxHeight: .infinity, alignment: .center)
54+
.padding(.vertical, 5)
55+
.background(
56+
ContainerRelativeShape()
57+
.fill(Color("WidgetSecondaryBackground"))
58+
)
5159
}
5260

5361
if widgetFamily != .systemSmall {

Loop.xcodeproj/project.pbxproj

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
1452F4AB2A851EDF00F8B9E4 /* FavoriteFoodAddEditView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1452F4AA2A851EDF00F8B9E4 /* FavoriteFoodAddEditView.swift */; };
1717
1452F4AD2A851F8800F8B9E4 /* HowAbsorptionTimeWorksView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1452F4AC2A851F8800F8B9E4 /* HowAbsorptionTimeWorksView.swift */; };
1818
1455ACA92C66665D004F44F2 /* StateColorPalette.swift in Sources */ = {isa = PBXBuildFile; fileRef = C1FB428B217806A300FAB378 /* StateColorPalette.swift */; };
19+
1455ACAB2C666F9C004F44F2 /* EventualGlucoseView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1455ACAA2C666F9C004F44F2 /* EventualGlucoseView.swift */; };
1920
147EFE8E2A8BCC5500272438 /* DefaultAssets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 147EFE8D2A8BCC5500272438 /* DefaultAssets.xcassets */; };
2021
147EFE902A8BCD8000272438 /* DerivedAssets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 147EFE8F2A8BCD8000272438 /* DerivedAssets.xcassets */; };
2122
147EFE922A8BCD8A00272438 /* DerivedAssetsBase.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 147EFE912A8BCD8A00272438 /* DerivedAssetsBase.xcassets */; };
@@ -740,6 +741,7 @@
740741
1452F4A82A851C9400F8B9E4 /* FavoriteFoodAddEditViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FavoriteFoodAddEditViewModel.swift; sourceTree = "<group>"; };
741742
1452F4AA2A851EDF00F8B9E4 /* FavoriteFoodAddEditView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FavoriteFoodAddEditView.swift; sourceTree = "<group>"; };
742743
1452F4AC2A851F8800F8B9E4 /* HowAbsorptionTimeWorksView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HowAbsorptionTimeWorksView.swift; sourceTree = "<group>"; };
744+
1455ACAA2C666F9C004F44F2 /* EventualGlucoseView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = EventualGlucoseView.swift; sourceTree = "<group>"; };
743745
147EFE8D2A8BCC5500272438 /* DefaultAssets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = DefaultAssets.xcassets; sourceTree = "<group>"; };
744746
147EFE8F2A8BCD8000272438 /* DerivedAssets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = DerivedAssets.xcassets; sourceTree = "<group>"; };
745747
147EFE912A8BCD8A00272438 /* DerivedAssetsBase.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = DerivedAssetsBase.xcassets; sourceTree = "<group>"; };
@@ -2523,6 +2525,7 @@
25232525
isa = PBXGroup;
25242526
children = (
25252527
14B1736E28AEDBF6006CCD7C /* BasalView.swift */,
2528+
1455ACAA2C666F9C004F44F2 /* EventualGlucoseView.swift */,
25262529
14B1737028AEDBF6006CCD7C /* GlucoseView.swift */,
25272530
84AA81E22A4A36FB000B658B /* SystemActionLink.swift */,
25282531
84AA81E62A4A4DEF000B658B /* PumpView.swift */,
@@ -3539,6 +3542,7 @@
35393542
14B1737828AEDC6C006CCD7C /* NSTimeInterval.swift in Sources */,
35403543
14B1737928AEDC6C006CCD7C /* NSUserDefaults+StatusExtension.swift in Sources */,
35413544
14B1737A28AEDC6C006CCD7C /* NumberFormatter.swift in Sources */,
3545+
1455ACAB2C666F9C004F44F2 /* EventualGlucoseView.swift in Sources */,
35423546
14B1737B28AEDC6C006CCD7C /* OSLog.swift in Sources */,
35433547
14B1737C28AEDC6C006CCD7C /* PumpManager.swift in Sources */,
35443548
14B1737D28AEDC6C006CCD7C /* PumpManagerUI.swift in Sources */,

0 commit comments

Comments
 (0)