Added more feedback options.

Signed-off-by: Stephen <158498287+0-Blu@users.noreply.github.com>
This commit is contained in:
Stephen
2024-08-12 21:54:34 -04:00
committed by Spidy123222
parent 14dc93b5d2
commit 19dde692b2

View File

@@ -587,29 +587,58 @@ extension SettingsViewController
switch row switch row
{ {
case .sendFeedback: case .sendFeedback:
if MFMailComposeViewController.canSendMail() let alertController = UIAlertController(title: "Send Feedback", message: "Choose a method to send feedback:", preferredStyle: .actionSheet)
{
let mailViewController = MFMailComposeViewController() // Option 1: GitHub
mailViewController.mailComposeDelegate = self alertController.addAction(UIAlertAction(title: "GitHub", style: .default) { _ in
mailViewController.setToRecipients(["support@sidestore.io"]) if let githubURL = URL(string: "https://github.com/SideStore/SideStore/issues") {
let safariViewController = SFSafariViewController(url: githubURL)
if let version = Bundle.main.object(forInfoDictionaryKey: "CFBundleShortVersionString") as? String safariViewController.preferredControlTintColor = .altPrimary
{ self.present(safariViewController, animated: true, completion: nil)
mailViewController.setSubject("SideStore Beta \(version) Feedback")
} }
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)
} // Option 3: Mail
else alertController.addAction(UIAlertAction(title: "Mail", style: .default) { _ in
{ if MFMailComposeViewController.canSendMail() {
let toastView = ToastView(text: NSLocalizedString("Cannot Send Mail", comment: ""), detailText: nil) let mailViewController = MFMailComposeViewController()
toastView.show(in: self) 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: case .refreshSideJITServer:
if #available(iOS 17, *) { if #available(iOS 17, *) {
let alertController = UIAlertController( let alertController = UIAlertController(