         performSegue(withIdentifier: SegueIdentifier.settings.rawValue, sender: nil)
     }
     
+    @IBAction func showLastError() {
+        guard let lastError = self.lastError else { return }
+        
+        showAlert(title: "Failed to update data", message: lastError.localizedDescription)
+    }
+
     // MARK: - UITableViewDataSource
     
     override func numberOfSections(in tableView: UITableView) -> Int {

        
        tableView.register(DashboardTableViewHeaderFooterView.self, forHeaderFooterViewReuseIdentifier: ReuseIdentifier.header.rawValue)
        
        progressContainerView = ProgressReportingBarButtonItemView(frame: self.navigationController?.toolbar.frame ?? .zero)
        
        if #available(iOS 11.0, *) {
            let searchResultViewController = storyboard?.instantiateViewController(withIdentifier: "SubjectSearch") as! SubjectSearchTableViewController

    // MARK: - Update UI
    
    private func updateStatusBarForLastUpdate(_ lastUpdate: Date?) {
        if lastError != nil {
            let detailsText = NSMutableAttributedString(string: "Details...", attributes: [.foregroundColor: UIColor.blue])
            let text = NSMutableAttributedString(string: "Error when fetching ")
            text.append(detailsText)
            progressContainerView.textLabel.attributedText = text
            return
        }
        
        guard let lastUpdate = lastUpdate else {
            progressContainerView.textLabel.text = "No data found: fetch required"
            return
