@@ -16,6 +16,10 @@ struct AnalyticsReportCard: View {
1616 let trailingDeltaColor : UIColor
1717 let trailingChartData : [ Double ]
1818
19+ // Layout metrics that scale based on accessibility changes
20+ @ScaledMetric private var scaledChartWidth : CGFloat = Layout . chartWidth
21+ @ScaledMetric private var scaledChartHeight : CGFloat = Layout . chartHeight
22+
1923 var body : some View {
2024 VStack ( alignment: . leading, spacing: Layout . titleSpacing) {
2125
@@ -35,13 +39,12 @@ struct AnalyticsReportCard: View {
3539 Text ( leadingValue)
3640 . titleStyle ( )
3741
38- AdaptiveStack {
42+ AdaptiveStack ( horizontalAlignment : . leading ) {
3943 DeltaTag ( value: leadingDelta, backgroundColor: leadingDeltaColor)
4044 . frame ( maxWidth: . infinity, alignment: . leading)
4145
4246 AnalyticsLineChart ( dataPoints: leadingChartData, lineChartColor: leadingDeltaColor)
43- . aspectRatio ( Layout . chartAspectRatio, contentMode: . fit)
44- . frame ( maxWidth: . infinity, maxHeight: Layout . chartMaxHeight, alignment: . trailing)
47+ . frame ( width: scaledChartWidth, height: scaledChartHeight)
4548 }
4649
4750 }
@@ -56,13 +59,12 @@ struct AnalyticsReportCard: View {
5659 Text ( trailingValue)
5760 . titleStyle ( )
5861
59- AdaptiveStack {
62+ AdaptiveStack ( horizontalAlignment : . leading ) {
6063 DeltaTag ( value: trailingDelta, backgroundColor: trailingDeltaColor)
6164 . frame ( maxWidth: . infinity, alignment: . leading)
6265
6366 AnalyticsLineChart ( dataPoints: trailingChartData, lineChartColor: trailingDeltaColor)
64- . aspectRatio ( Layout . chartAspectRatio, contentMode: . fit)
65- . frame ( maxWidth: . infinity, maxHeight: Layout . chartMaxHeight, alignment: . trailing)
67+ . frame ( width: scaledChartWidth, height: scaledChartHeight)
6668 }
6769 }
6870 . frame ( maxWidth: . infinity, alignment: . leading)
@@ -79,8 +81,8 @@ private extension AnalyticsReportCard {
7981 static let cardPadding : CGFloat = 16
8082 static let columnOutterSpacing : CGFloat = 28
8183 static let columnInnerSpacing : CGFloat = 10
82- static let chartAspectRatio : CGFloat = 2.2
83- static let chartMaxHeight : CGFloat = 48
84+ static let chartHeight : CGFloat = 32
85+ static let chartWidth : CGFloat = 72
8486 }
8587}
8688
0 commit comments