 
                 // clear all badges
                 BadgeNotifications.update(count: 0)
+
+                // change the spinner to the mark all item
+                // don't update state here; it is managed by `fetch`
+                self.resetRightBarItem(updatingState: false)
             } else {
                 generator.notificationOccurred(.error)
             }

        )
        item.accessibilityLabel = NSLocalizedString("Mark notifications read", comment: "")
        navigationItem.rightBarButtonItem = item
        updateUnreadState(count: notificationIDs.count)
    }

    private func updateUnreadState(count: Int) {

        navigationController?.pushViewController(controller, animated: trueUnlessReduceMotionEnabled)
    }

    func resetRightBarItem(updatingState updateState: Bool = true) {
        let item = UIBarButtonItem(
            image: UIImage(named: "check"),
            style: .plain,
