From 090c829a5f800266da7f4ff0e59fb389f0dbfdd8 Mon Sep 17 00:00:00 2001 From: Christian Cleberg Date: Wed, 18 Mar 2026 20:03:39 -0500 Subject: show tracker creation errors inside the creation sheet --- Hutch/Views/Tickets/TrackerListViewModel.swift | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) (limited to 'Hutch/Views/Tickets/TrackerListViewModel.swift') diff --git a/Hutch/Views/Tickets/TrackerListViewModel.swift b/Hutch/Views/Tickets/TrackerListViewModel.swift index 9704071..978a610 100644 --- a/Hutch/Views/Tickets/TrackerListViewModel.swift +++ b/Hutch/Views/Tickets/TrackerListViewModel.swift @@ -139,7 +139,7 @@ final class TrackerListViewModel { trackers.insert(tracker, at: 0) return tracker } catch { - self.error = "Couldn’t create the tracker. \(error.localizedDescription)" + self.error = trackerCreationErrorMessage(for: error) return nil } } @@ -163,4 +163,21 @@ final class TrackerListViewModel { private struct CreateTrackerResponse: Decodable, Sendable { let createTracker: TrackerSummary } + + private func trackerCreationErrorMessage(for error: Error) -> String { + let message: String + + if let srhtError = error as? SRHTError { + switch srhtError { + case .graphQLErrors(let errors): + message = errors.map(\.message).joined(separator: "\n") + default: + message = srhtError.localizedDescription + } + } else { + message = error.localizedDescription + } + + return "Couldn’t create the tracker. \(message)" + } } -- cgit v1.2.3