From 257837dc595dcdfa0ed1b3701c9697a5e51c37ab Mon Sep 17 00:00:00 2001 From: Soner Yuksel Date: Thu, 3 Aug 2023 16:55:46 -0400 Subject: [PATCH] Adding description to issue section screen details --- .../Settings/SettingsViewController.swift | 29 +++++++------------ Sources/BraveStrings/BraveStrings.swift | 5 ++++ .../BraveVPNContactFormViewController.swift | 29 ++++++++++++------- 3 files changed, 34 insertions(+), 29 deletions(-) diff --git a/Sources/Brave/Frontend/Settings/SettingsViewController.swift b/Sources/Brave/Frontend/Settings/SettingsViewController.swift index bf0394ea3f9..80897fd7af7 100644 --- a/Sources/Brave/Frontend/Settings/SettingsViewController.swift +++ b/Sources/Brave/Frontend/Settings/SettingsViewController.swift @@ -565,25 +565,18 @@ class SettingsViewController: TableViewController { selection: { [unowned self] in let vc = { () -> UIViewController? in - let vc = BraveVPNSettingsViewController() - vc.openURL = { [unowned self] url in - self.settingsDelegate?.settingsOpenURLInNewTab(url) - self.dismiss(animated: true) + switch BraveVPN.vpnState { + case .notPurchased, .expired: + return BraveVPN.vpnState.enableVPNDestinationVC + case .purchased: + let vc = BraveVPNSettingsViewController() + vc.openURL = { [unowned self] url in + self.settingsDelegate?.settingsOpenURLInNewTab(url) + self.dismiss(animated: true) + } + + return vc } - return vc - -// switch BraveVPN.vpnState { -// case .notPurchased, .expired: -// return BraveVPN.vpnState.enableVPNDestinationVC -// case .purchased: -// let vc = BraveVPNSettingsViewController() -// vc.openURL = { [unowned self] url in -// self.settingsDelegate?.settingsOpenURLInNewTab(url) -// self.dismiss(animated: true) -// } -// -// return vc -// } }() guard let vcToShow = vc else { return } diff --git a/Sources/BraveStrings/BraveStrings.swift b/Sources/BraveStrings/BraveStrings.swift index 14f90fc5045..49d3ba00a61 100644 --- a/Sources/BraveStrings/BraveStrings.swift +++ b/Sources/BraveStrings/BraveStrings.swift @@ -2856,6 +2856,11 @@ extension Strings { NSLocalizedString("vpn.contactFormIssue", tableName: "BraveShared", bundle: .module, value: "Issue", comment: "Specific issue field for customer support contact form.") + + public static let contactFormIssueDescription = + NSLocalizedString("vpn.contactFormIssueDescription", tableName: "BraveShared", bundle: .module, + value: "Please choose the cetagory that describes the issue.", + comment: "Description used for specific issue field for customer support contact form.") public static let contactFormFooterSharedWithGuardian = NSLocalizedString("vpn.contactFormFooterSharedWithGuardian", tableName: "BraveShared", bundle: .module, diff --git a/Sources/BraveVPN/BraveVPNContactFormViewController.swift b/Sources/BraveVPN/BraveVPNContactFormViewController.swift index 6b9ef4fe727..ef8edab34c1 100644 --- a/Sources/BraveVPN/BraveVPNContactFormViewController.swift +++ b/Sources/BraveVPN/BraveVPNContactFormViewController.swift @@ -223,6 +223,8 @@ class BraveVPNContactFormViewController: TableViewController { let optionsVC = OptionSelectionViewController( + headerText: Strings.VPN.contactFormIssue, + footerText: Strings.VPN.contactFormIssueDescription, options: IssueType.allCases, optionChanged: optionChanged) @@ -255,7 +257,12 @@ class BraveVPNContactFormViewController: TableViewController { $0.setToRecipients([self.supportEmail]) } - mail.setSubject(Strings.VPN.contactFormTitle) + var formTitle = Strings.VPN.contactFormTitle + if let issue = contactForm.issue { + formTitle += " + \(issue)" + } + + mail.setSubject(formTitle) mail.setMessageBody(self.composeEmailBody(with: self.contactForm), isHTML: false) present(mail, animated: true) } @@ -282,10 +289,18 @@ class BraveVPNContactFormViewController: TableViewController { } private func composeEmailBody(with contactForm: ContactForm) -> String { - var body = "\n\n" + var body = "\n" body.append(contentsOf: "#### \(Strings.VPN.contactFormDoNotEditText) ####\n\n") + body.append(Strings.VPN.contactFormPlatform) + body.append("\n\(UIDevice.current.systemName)\n\n") + + if let issue = contactForm.issue { + body.append(Strings.VPN.contactFormIssue) + body.append("\n\(issue)\n\n") + } + if let hostname = contactForm.hostname { body.append(Strings.VPN.contactFormHostname) body.append("\n\(hostname)\n\n") @@ -305,10 +320,7 @@ class BraveVPNContactFormViewController: TableViewController { body.append(Strings.VPN.contactFormAppVersion) body.append("\n\(appVersion)\n\n") } - - body.append(Strings.VPN.contactFormPlatform) - body.append("\n\(UIDevice.current.systemName)\n\n") - + if let timezone = contactForm.timezone { body.append(Strings.VPN.contactFormTimezone) body.append("\n\(timezone)\n\n") @@ -337,11 +349,6 @@ class BraveVPNContactFormViewController: TableViewController { body.append("\n") } - if let issue = contactForm.issue { - body.append(Strings.VPN.contactFormIssue) - body.append("\n\(issue)\n\n") - } - if let receipt = contactForm.receipt { body.append(Strings.VPN.contactFormAppStoreReceipt) body.append("\n\(receipt)\n\n")