Merge branch 'develop' into push-notifications

This commit is contained in:
Shadowfacts 2024-04-09 18:43:53 -04:00
commit 9353bbb56c
4 changed files with 31 additions and 3 deletions

View File

@ -1,5 +1,9 @@
# Changelog
## 2024.1 (119)
Features/Improvements:
- Add Account Settings button to Preferences
## 2024.1 (118)
Bugfixes:
- Fix music not pausing/resuming when video playback starts

View File

@ -9,12 +9,17 @@
import UIKit
import SwiftUI
import UserAccounts
import SafariServices
class PreferencesNavigationController: UINavigationController {
private let mastodonController: MastodonController
private var isSwitchingAccounts = false
init(mastodonController: MastodonController) {
self.mastodonController = mastodonController
let view = PreferencesView(mastodonController: mastodonController)
let hostingController = UIHostingController(rootView: view)
super.init(rootViewController: hostingController)
@ -31,6 +36,7 @@ class PreferencesNavigationController: UINavigationController {
NotificationCenter.default.addObserver(self, selector: #selector(showAddAccount), name: .addAccount, object: nil)
NotificationCenter.default.addObserver(self, selector: #selector(activateAccount(_:)), name: .activateAccount, object: nil)
NotificationCenter.default.addObserver(self, selector: #selector(userLoggedOut), name: .userLoggedOut, object: nil)
NotificationCenter.default.addObserver(self, selector: #selector(showMastodonSettings), name: .showMastodonSettings, object: nil)
}
override func viewWillDisappear(_ animated: Bool) {
@ -92,6 +98,13 @@ class PreferencesNavigationController: UINavigationController {
UIApplication.shared.requestSceneSessionDestruction(windowScene.session, options: nil)
}
}
@objc private func showMastodonSettings() {
var components = URLComponents(url: mastodonController.accountInfo!.instanceURL, resolvingAgainstBaseURL: false)!
components.path = "/auth/edit"
let vc = SFSafariViewController(url: components.url!)
present(vc, animated: true)
}
}

View File

@ -68,15 +68,22 @@ struct PreferencesView: View {
Button(action: {
NotificationCenter.default.post(name: .addAccount, object: nil)
}) {
Text("Add Account...")
Text("Add Account")
}
Button(action: {
self.showingLogoutConfirmation = true
}) {
Text("Logout from current")
Text("Logout from Current…")
}.alert(isPresented: $showingLogoutConfirmation) {
Alert(title: Text("Are you sure you want to logout?"), message: nil, primaryButton: .destructive(Text("Logout"), action: self.logoutPressed), secondaryButton: .cancel())
}
Button {
NotificationCenter.default.post(name: .showMastodonSettings, object: nil)
} label: {
Text("Account Settings")
}
} header: {
Text("Accounts")
}
@ -136,6 +143,10 @@ struct PreferencesView: View {
}
}
extension Notification.Name {
static let showMastodonSettings = Notification.Name("Tusker.showMastodonSettings")
}
//#if DEBUG
//struct PreferencesView_Previews : PreviewProvider {
// static var previews: some View {

View File

@ -10,7 +10,7 @@
// https://help.apple.com/xcode/#/dev745c5c974
MARKETING_VERSION = 2024.1
CURRENT_PROJECT_VERSION = 118
CURRENT_PROJECT_VERSION = 119
CURRENT_PROJECT_VERSION = $(inherited)$(CURRENT_PROJECT_VERSION_BUILD_SUFFIX_$(CONFIGURATION))
CURRENT_PROJECT_VERSION_BUILD_SUFFIX_Debug=-dev