From 19dde692b2d4433bb2101fbb30816f3fbc39ead7 Mon Sep 17 00:00:00 2001 From: Stephen <158498287+0-Blu@users.noreply.github.com> Date: Mon, 12 Aug 2024 21:54:34 -0400 Subject: [PATCH 1/3] Added more feedback options. Signed-off-by: Stephen <158498287+0-Blu@users.noreply.github.com> --- .../Settings/SettingsViewController.swift | 67 +++++++++++++------ 1 file changed, 48 insertions(+), 19 deletions(-) diff --git a/AltStore/Settings/SettingsViewController.swift b/AltStore/Settings/SettingsViewController.swift index 58a70cd4..4b66ddbc 100644 --- a/AltStore/Settings/SettingsViewController.swift +++ b/AltStore/Settings/SettingsViewController.swift @@ -587,29 +587,58 @@ extension SettingsViewController switch row { case .sendFeedback: - if MFMailComposeViewController.canSendMail() - { - let mailViewController = MFMailComposeViewController() - mailViewController.mailComposeDelegate = self - mailViewController.setToRecipients(["support@sidestore.io"]) - - if let version = Bundle.main.object(forInfoDictionaryKey: "CFBundleShortVersionString") as? String - { - mailViewController.setSubject("SideStore Beta \(version) Feedback") + let alertController = UIAlertController(title: "Send Feedback", message: "Choose a method to send feedback:", preferredStyle: .actionSheet) + + // Option 1: GitHub + alertController.addAction(UIAlertAction(title: "GitHub", style: .default) { _ in + if let githubURL = URL(string: "https://github.com/SideStore/SideStore/issues") { + let safariViewController = SFSafariViewController(url: githubURL) + safariViewController.preferredControlTintColor = .altPrimary + self.present(safariViewController, animated: true, completion: nil) } - else - { - mailViewController.setSubject("SideStore Beta Feedback") + }) + + // Option 2: Discord + alertController.addAction(UIAlertAction(title: "Discord", style: .default) { _ in + if let discordURL = URL(string: "https://discord.gg/sidestore-949183273383395328") { + let safariViewController = SFSafariViewController(url: discordURL) + safariViewController.preferredControlTintColor = .altPrimary + self.present(safariViewController, animated: true, completion: nil) } - - self.present(mailViewController, animated: true, completion: nil) - } - else - { - let toastView = ToastView(text: NSLocalizedString("Cannot Send Mail", comment: ""), detailText: nil) - toastView.show(in: self) + }) + + // Option 3: Mail + alertController.addAction(UIAlertAction(title: "Mail", style: .default) { _ in + if MFMailComposeViewController.canSendMail() { + let mailViewController = MFMailComposeViewController() + mailViewController.mailComposeDelegate = self + mailViewController.setToRecipients(["support@sidestore.io"]) + + if let version = Bundle.main.object(forInfoDictionaryKey: "CFBundleShortVersionString") as? String { + mailViewController.setSubject("SideStore Beta \(version) Feedback") + } else { + mailViewController.setSubject("SideStore Beta Feedback") + } + + self.present(mailViewController, animated: true, completion: nil) + } else { + let toastView = ToastView(text: NSLocalizedString("Cannot Send Mail", comment: ""), detailText: nil) + toastView.show(in: self) + } + }) + + // Cancel action + alertController.addAction(UIAlertAction(title: "Cancel", style: .cancel, handler: nil)) + + // For iPad: Set the source view if presenting on iPad to avoid crashes + if let popoverController = alertController.popoverPresentationController { + popoverController.sourceView = self.view + popoverController.sourceRect = self.view.bounds } + // Present the action sheet + self.present(alertController, animated: true, completion: nil) + case .refreshSideJITServer: if #available(iOS 17, *) { let alertController = UIAlertController( From 6dfa8f155688a9f6d07e6677fcaff3bbf7c27722 Mon Sep 17 00:00:00 2001 From: Stephen <158498287+0-Blu@users.noreply.github.com> Date: Mon, 12 Aug 2024 22:30:15 -0400 Subject: [PATCH 2/3] Update SettingsViewController.swift Signed-off-by: Stephen <158498287+0-Blu@users.noreply.github.com> --- AltStore/Settings/SettingsViewController.swift | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/AltStore/Settings/SettingsViewController.swift b/AltStore/Settings/SettingsViewController.swift index 4b66ddbc..e3111fdc 100644 --- a/AltStore/Settings/SettingsViewController.swift +++ b/AltStore/Settings/SettingsViewController.swift @@ -608,7 +608,7 @@ extension SettingsViewController }) // Option 3: Mail - alertController.addAction(UIAlertAction(title: "Mail", style: .default) { _ in + alertController.addAction(UIAlertAction(title: "Send Email", style: .default) { _ in if MFMailComposeViewController.canSendMail() { let mailViewController = MFMailComposeViewController() mailViewController.mailComposeDelegate = self From bcc241518c5fe82c78812517ecb936e2fced7a9f Mon Sep 17 00:00:00 2001 From: Stephen <158498287+0-Blu@users.noreply.github.com> Date: Tue, 13 Aug 2024 14:15:31 -0400 Subject: [PATCH 3/3] Update SettingsViewController.swift Signed-off-by: Stephen <158498287+0-Blu@users.noreply.github.com> --- .../Settings/SettingsViewController.swift | 38 +++++++++---------- 1 file changed, 19 insertions(+), 19 deletions(-) diff --git a/AltStore/Settings/SettingsViewController.swift b/AltStore/Settings/SettingsViewController.swift index e3111fdc..7ba4d622 100644 --- a/AltStore/Settings/SettingsViewController.swift +++ b/AltStore/Settings/SettingsViewController.swift @@ -541,7 +541,7 @@ extension SettingsViewController switch section { case .signIn where self.activeTeam != nil: return 1.0 - case .account where self.activeTeam == nil: return 1.0 + case .account where self.activeTeam == nil: return 1.0 case .signIn, .patreon, .appRefresh: let height = self.preferredHeight(for: self.prototypeHeaderFooterView, in: section, isHeader: false) return height @@ -608,24 +608,24 @@ extension SettingsViewController }) // Option 3: Mail - alertController.addAction(UIAlertAction(title: "Send Email", style: .default) { _ in - if MFMailComposeViewController.canSendMail() { - let mailViewController = MFMailComposeViewController() - mailViewController.mailComposeDelegate = self - mailViewController.setToRecipients(["support@sidestore.io"]) - - if let version = Bundle.main.object(forInfoDictionaryKey: "CFBundleShortVersionString") as? String { - mailViewController.setSubject("SideStore Beta \(version) Feedback") - } else { - mailViewController.setSubject("SideStore Beta Feedback") - } - - self.present(mailViewController, animated: true, completion: nil) - } else { - let toastView = ToastView(text: NSLocalizedString("Cannot Send Mail", comment: ""), detailText: nil) - toastView.show(in: self) - } - }) +// alertController.addAction(UIAlertAction(title: "Send Email", style: .default) { _ in +// if MFMailComposeViewController.canSendMail() { +// let mailViewController = MFMailComposeViewController() +// mailViewController.mailComposeDelegate = self +// mailViewController.setToRecipients(["support@sidestore.io"]) +// +// if let version = Bundle.main.object(forInfoDictionaryKey: "CFBundleShortVersionString") as? String { +// mailViewController.setSubject("SideStore Beta \(version) Feedback") +// } else { +// mailViewController.setSubject("SideStore Beta Feedback") +// } +// +// self.present(mailViewController, animated: true, completion: nil) +// } else { +// let toastView = ToastView(text: NSLocalizedString("Cannot Send Mail", comment: ""), detailText: nil) +// toastView.show(in: self) +// } +// }) // Cancel action alertController.addAction(UIAlertAction(title: "Cancel", style: .cancel, handler: nil))