diff --git a/Session/Settings/NukeDataModal.swift b/Session/Settings/NukeDataModal.swift index 5a0dd2d67..79b6cb2f9 100644 --- a/Session/Settings/NukeDataModal.swift +++ b/Session/Settings/NukeDataModal.swift @@ -204,17 +204,35 @@ final class NukeDataModal: Modal { case .finished: break case .failure(let error): self?.dismiss(animated: true, completion: nil) // Dismiss the loader - - let modal: ConfirmationModal = ConfirmationModal( - targetView: self?.view, - info: ConfirmationModal.Info( - title: "clearDataError".localized(), - body: .text("\(error)"), - cancelTitle: "okay".localized(), - cancelStyle: .alert_text + + switch error { + case NetworkError.timeout, NetworkError.gatewayTimeout: + let modal: ConfirmationModal = ConfirmationModal( + targetView: self?.view, + info: ConfirmationModal.Info( + title: "clearDataAll".localized(), + body: .text("clearDataErrorDescriptionGeneric".localized()), + confirmTitle: "clear".localized(), + confirmStyle: .danger, + cancelStyle: .alert_text + ) { [weak self] _ in + self?.clearDeviceOnly() + } + ) + self?.present(modal, animated: true) + + default: + let modal: ConfirmationModal = ConfirmationModal( + targetView: self?.view, + info: ConfirmationModal.Info( + title: "clearDataError".localized(), + body: .text("\(error)"), + cancelTitle: "okay".localized(), + cancelStyle: .alert_text + ) ) - ) - self?.present(modal, animated: true) + self?.present(modal, animated: true) + } } }, receiveValue: { confirmations in