diff --git a/Modules/Sources/JetpackStats/Cards/RealtimeTopListCard.swift b/Modules/Sources/JetpackStats/Cards/RealtimeTopListCard.swift index c465709152e0..23beab84fc39 100644 --- a/Modules/Sources/JetpackStats/Cards/RealtimeTopListCard.swift +++ b/Modules/Sources/JetpackStats/Cards/RealtimeTopListCard.swift @@ -42,7 +42,7 @@ struct RealtimeTopListCard: View { } .padding(.vertical, Constants.step3) .redacted(reason: viewModel.isFirstLoad ? .placeholder : []) - .onChange(of: selectedItem) { newValue in + .onChange(of: selectedItem) { oldValue, newValue in viewModel.loadData(for: newValue) } } diff --git a/Modules/Sources/JetpackStats/Charts/BarChartView.swift b/Modules/Sources/JetpackStats/Charts/BarChartView.swift index 31e91580c8ad..463fc219c168 100644 --- a/Modules/Sources/JetpackStats/Charts/BarChartView.swift +++ b/Modules/Sources/JetpackStats/Charts/BarChartView.swift @@ -42,7 +42,7 @@ struct BarChartView: View { .accessibilityElement() .accessibilityLabel(Strings.Accessibility.chartContainer) .accessibilityHint(Strings.Accessibility.viewChartData) - .onChange(of: ObjectIdentifier(data)) { _ in + .onChange(of: ObjectIdentifier(data)) { tappedDataPoint = nil } } @@ -287,7 +287,12 @@ struct BarChartView: View { } private func getSelectedDataPoints(at location: CGPoint, proxy: ChartProxy, geometry: GeometryProxy) -> SelectedDataPoints? { - let origin = geometry[proxy.plotAreaFrame].origin + + guard let frame = proxy.plotFrame else { + return nil + } + + let origin = geometry[frame].origin let location = CGPoint( x: location.x - origin.x, y: location.y - origin.y diff --git a/Modules/Sources/JetpackStats/Charts/LineChartView.swift b/Modules/Sources/JetpackStats/Charts/LineChartView.swift index 69fb75d9b0d1..7d0b59e2368d 100644 --- a/Modules/Sources/JetpackStats/Charts/LineChartView.swift +++ b/Modules/Sources/JetpackStats/Charts/LineChartView.swift @@ -35,7 +35,7 @@ struct LineChartView: View { .chartXSelection(value: $selectedDate) .animation(.spring, value: ObjectIdentifier(data)) .onChange(of: selectedDate) { - selectedDataPoints = SelectedDataPoints.compute(for: $0, data: data) + selectedDataPoints = SelectedDataPoints.compute(for: $1, data: data) } .dynamicTypeSize(...DynamicTypeSize.xxxLarge) .accessibilityElement() diff --git a/Modules/Sources/JetpackStats/Screens/AuthorStatsView.swift b/Modules/Sources/JetpackStats/Screens/AuthorStatsView.swift index 7e92342f1464..83e789ca5dc2 100644 --- a/Modules/Sources/JetpackStats/Screens/AuthorStatsView.swift +++ b/Modules/Sources/JetpackStats/Screens/AuthorStatsView.swift @@ -55,8 +55,8 @@ struct AuthorStatsView: View { } .background(Constants.Colors.background) .animation(.spring, value: viewModel.data.map(ObjectIdentifier.init)) - .onChange(of: dateRange) { newRange in - viewModel.dateRange = newRange + .onChange(of: dateRange) { oldValue, newValue in + viewModel.dateRange = newValue } .onAppear { context.tracker?.send(.authorStatsScreenShown) diff --git a/Modules/Sources/JetpackStats/Screens/StatsMainView.swift b/Modules/Sources/JetpackStats/Screens/StatsMainView.swift index 08c64d13fb16..8ce390085270 100644 --- a/Modules/Sources/JetpackStats/Screens/StatsMainView.swift +++ b/Modules/Sources/JetpackStats/Screens/StatsMainView.swift @@ -36,7 +36,7 @@ public struct StatsMainView: View { .onAppear { context.tracker?.send(.statsMainScreenShown) } - .onChange(of: selectedTab) { newValue in + .onChange(of: selectedTab) { oldValue, newValue in trackTabChange(from: selectedTab, to: newValue) } } else { diff --git a/Modules/Sources/JetpackStats/Views/CustomDateRangePicker.swift b/Modules/Sources/JetpackStats/Views/CustomDateRangePicker.swift index c1be1048a4ec..31979328fdbd 100644 --- a/Modules/Sources/JetpackStats/Views/CustomDateRangePicker.swift +++ b/Modules/Sources/JetpackStats/Views/CustomDateRangePicker.swift @@ -116,7 +116,7 @@ struct CustomDateRangePicker: View { private var dateSelectionSection: some View { HStack(alignment: .bottom, spacing: 0) { datePickerColumn(label: Strings.DatePicker.from.uppercased(), selection: $startDate, alignment: .leading) - .onChange(of: startDate) { newValue in + .onChange(of: startDate) { oldValue, newValue in // If start date is after end date, adjust end date to be one day after start if newValue > endDate { endDate = calendar.date(byAdding: .day, value: 1, to: newValue) ?? newValue @@ -126,7 +126,7 @@ struct CustomDateRangePicker: View { Spacer(minLength: 32) datePickerColumn(label: Strings.DatePicker.to.uppercased(), selection: $endDate, alignment: .trailing) - .onChange(of: endDate) { newValue in + .onChange(of: endDate) { oldValue, newValue in // If end date is before start date, adjust start date to be one day before end if newValue < startDate { startDate = calendar.date(byAdding: .day, value: -1, to: newValue) ?? newValue diff --git a/Modules/Sources/JetpackStats/Views/Customization/TopListCardCustomizationView.swift b/Modules/Sources/JetpackStats/Views/Customization/TopListCardCustomizationView.swift index e718c30d9aa0..afddb438fa5b 100644 --- a/Modules/Sources/JetpackStats/Views/Customization/TopListCardCustomizationView.swift +++ b/Modules/Sources/JetpackStats/Views/Customization/TopListCardCustomizationView.swift @@ -39,7 +39,7 @@ struct TopListCardCustomizationView: View { } } } - .onChange(of: selectedItem) { newValue in + .onChange(of: selectedItem) { oldValue, newValue in if let newValue { updateConfiguration(with: newValue) } diff --git a/Modules/Sources/Support/UI/Support Conversations/SupportConversationView.swift b/Modules/Sources/Support/UI/Support Conversations/SupportConversationView.swift index 086008865068..6634f227547a 100644 --- a/Modules/Sources/Support/UI/Support Conversations/SupportConversationView.swift +++ b/Modules/Sources/Support/UI/Support Conversations/SupportConversationView.swift @@ -141,7 +141,7 @@ public struct SupportConversationView: View { .onAppear { scrollToBottom(proxy: proxy) } - .onChange(of: conversation.messages.count) { _, _ in + .onChange(of: conversation.messages.count) { scrollToBottom(proxy: proxy) } } diff --git a/WordPress/Classes/ViewRelated/Blog/Blogging Prompts/Bloganuary/BloganuaryOverlayViewController.swift b/WordPress/Classes/ViewRelated/Blog/Blogging Prompts/Bloganuary/BloganuaryOverlayViewController.swift index add3668b14aa..91a548eb3121 100644 --- a/WordPress/Classes/ViewRelated/Blog/Blogging Prompts/Bloganuary/BloganuaryOverlayViewController.swift +++ b/WordPress/Classes/ViewRelated/Blog/Blogging Prompts/Bloganuary/BloganuaryOverlayViewController.swift @@ -142,7 +142,7 @@ private struct BloganuaryOverlayView: View { .onAppear { scrollViewHeight = geo.size.height } - .onChange(of: viewModel.orientation) { _ in + .onChange(of: viewModel.orientation) { // since onAppear is only called once, assign the value again every time the orientation changes. scrollViewHeight = geo.size.height } diff --git a/WordPress/Classes/ViewRelated/Blog/Site Monitoring/PHPLogsView.swift b/WordPress/Classes/ViewRelated/Blog/Site Monitoring/PHPLogsView.swift index 0acd8a6afee5..74497021b828 100644 --- a/WordPress/Classes/ViewRelated/Blog/Site Monitoring/PHPLogsView.swift +++ b/WordPress/Classes/ViewRelated/Blog/Site Monitoring/PHPLogsView.swift @@ -21,8 +21,8 @@ struct PHPLogsView: View { .onAppear { loadLogs(searchCriteria: searchCriteria) } - .onChange(of: searchCriteria) { value in - loadLogs(searchCriteria: value, reset: true) + .onChange(of: searchCriteria) { oldValue, newValue in + loadLogs(searchCriteria: newValue, reset: true) } } diff --git a/WordPress/Classes/ViewRelated/Blog/Site Monitoring/WebServerLogsView.swift b/WordPress/Classes/ViewRelated/Blog/Site Monitoring/WebServerLogsView.swift index a0c8172451b4..26496bf9b21a 100644 --- a/WordPress/Classes/ViewRelated/Blog/Site Monitoring/WebServerLogsView.swift +++ b/WordPress/Classes/ViewRelated/Blog/Site Monitoring/WebServerLogsView.swift @@ -21,8 +21,8 @@ struct WebServerLogsView: View { .onAppear { loadLogs(searchCriteria: searchCriteria) } - .onChange(of: searchCriteria) { value in - loadLogs(searchCriteria: value, reset: true) + .onChange(of: searchCriteria) { oldValue, newValue in + loadLogs(searchCriteria: newValue, reset: true) } } diff --git a/WordPress/Classes/ViewRelated/Blog/Site Settings/SiteSettingsRelatedPostsView.swift b/WordPress/Classes/ViewRelated/Blog/Site Settings/SiteSettingsRelatedPostsView.swift index b7edda8e5f78..7621b0fe8ae6 100644 --- a/WordPress/Classes/ViewRelated/Blog/Site Settings/SiteSettingsRelatedPostsView.swift +++ b/WordPress/Classes/ViewRelated/Blog/Site Settings/SiteSettingsRelatedPostsView.swift @@ -27,13 +27,13 @@ struct RelatedPostsSettingsView: View { } .toggleStyle(SwitchToggleStyle(tint: Color(UIAppColor.jetpackGreen))) .onChange(of: settings.relatedPostsEnabled) { - save(field: "show_related_posts", value: $0) + save(field: "show_related_posts", value: $1) } .onChange(of: settings.relatedPostsShowHeadline) { - save(field: "show_related_posts_header", value: $0) + save(field: "show_related_posts_header", value: $1) } .onChange(of: settings.relatedPostsShowThumbnails) { - save(field: "show_related_posts_thumbnail", value: $0) + save(field: "show_related_posts_thumbnail", value: $1) } .navigationTitle(Strings.title) .navigationBarTitleDisplayMode(.inline) diff --git a/WordPress/Classes/ViewRelated/Reader/Detail/Views/ReaderDetailHeaderView.swift b/WordPress/Classes/ViewRelated/Reader/Detail/Views/ReaderDetailHeaderView.swift index 552560c188dc..ebe397d5e7f3 100644 --- a/WordPress/Classes/ViewRelated/Reader/Detail/Views/ReaderDetailHeaderView.swift +++ b/WordPress/Classes/ViewRelated/Reader/Detail/Views/ReaderDetailHeaderView.swift @@ -275,7 +275,7 @@ struct ReaderDetailHeaderView: View { .onAppear { onContentSizeChanged?() } - .onChange(of: proxy.size) { _ in + .onChange(of: proxy.size) { onContentSizeChanged?() } } @@ -378,7 +378,7 @@ struct ReaderDetailHeaderView: View { // The host view does not react properly after the collection view finished its layout. // This informs any size changes to the host view so that it can readjust correctly. Color.clear - .onChange(of: geometry.size) { _ in + .onChange(of: geometry.size) { onContentSizeChanged?() } }) diff --git a/WordPress/Classes/ViewRelated/Reader/Subscriptions/ReaderSubscriptionAddButton.swift b/WordPress/Classes/ViewRelated/Reader/Subscriptions/ReaderSubscriptionAddButton.swift index 5e472bf9645d..81496ee84737 100644 --- a/WordPress/Classes/ViewRelated/Reader/Subscriptions/ReaderSubscriptionAddButton.swift +++ b/WordPress/Classes/ViewRelated/Reader/Subscriptions/ReaderSubscriptionAddButton.swift @@ -60,7 +60,7 @@ struct ReaderSubscriptionAddView: View { .onAppear { isFocused = true } - .onChange(of: siteURL) { _ in + .onChange(of: siteURL) { displayedError = nil } .frame(idealWidth: 420)