@@ -54,6 +54,7 @@ class OrdersViewController: UIViewController {
5454 override func viewDidAppear( _ animated: Bool ) {
5555 super. viewDidAppear ( animated)
5656 if orders. isEmpty {
57+ ensureRefreshControlIsVisible ( )
5758 syncOrders ( )
5859 }
5960 }
@@ -153,21 +154,16 @@ private extension OrdersViewController {
153154
154155 let action = OrderAction . retrieveOrders ( siteID: siteID) { [ weak self] ( orders, error) in
155156 self ? . refreshControl. endRefreshing ( )
156- guard error == nil else {
157- DDLogError ( " ⛔️ Error synchronizing orders: \( error. debugDescription) " )
158- return
159- }
157+
160158 guard let orders = orders else {
159+ DDLogError ( " ⛔️ Error synchronizing orders: \( error. debugDescription) " )
161160 return
162161 }
162+
163163 self ? . orders = orders
164164 self ? . tableView. reloadData ( )
165165 }
166166
167- if refreshControl. isRefreshing {
168- refreshControl. endRefreshing ( )
169- }
170- refreshControl. beginRefreshing ( )
171167 StoresManager . shared. dispatch ( action)
172168 }
173169
@@ -176,6 +172,17 @@ private extension OrdersViewController {
176172 isUsingFilterAction = false
177173 tableView. reloadData ( )
178174 }
175+
176+
177+ func ensureRefreshControlIsVisible( ) {
178+ guard tableView. contentOffset. y == 0 else {
179+ return
180+ }
181+
182+ let point = CGPoint ( x: 0 , y: - refreshControl. frame. height)
183+ tableView. setContentOffset ( point, animated: true )
184+ refreshControl. beginRefreshing ( )
185+ }
179186}
180187
181188
@@ -229,7 +236,8 @@ extension OrdersViewController: UITableViewDataSource {
229236
230237 func tableView( _ tableView: UITableView , titleForHeaderInSection section: Int ) -> String ? {
231238 // FIXME: this is hard-coded data. Will fix when WordPressShared date helpers are available to make fuzzy dates.
232- return NSLocalizedString ( " Today " , comment: " Title for header section " )
239+ // return NSLocalizedString("Today", comment: "Title for header section")
240+ return nil
233241 }
234242}
235243
0 commit comments