Skip to content

Commit 68b5a81

Browse files
authored
fix: aussie mode in settings (#120)
2 parents 5e66f83 + 6ed0425 commit 68b5a81

File tree

4 files changed

+216
-167
lines changed

4 files changed

+216
-167
lines changed

ishare/Util/Constants.swift

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -67,9 +67,9 @@ extension Defaults.Keys {
6767
static let menuBarIcon = Key<MenuBarIcon>("menuBarIcon", default: .DEFAULT, iCloud: true)
6868
static let uploadHistory = Key<[HistoryItem]>("uploadHistory", default: [], iCloud: true)
6969
static let ignoredBundleIdentifiers = Key<[String]>("ignoredApps", default: [], iCloud: true)
70-
static let aussieMode = Key<Bool>("aussieMode", default: false, iCloud: true)
7170
static let forceUploadModifier = Key<ForceUploadModifier>("forceUploadModifier", default: .shift)
72-
static let storedLanguage = Key<LanguageTypes>("storedlanguage", default: .english, iCloud: true)
71+
static let storedLanguage = Key<LanguageTypes>("storedlanguage", default: Locale.current.identifier.starts(with: "en-AU") ? .aussie : .english, iCloud: true)
72+
static let aussieMode = Key<Bool>("aussieMode", default: Locale.current.identifier.starts(with: "en-AU"), iCloud: true)
7373
}
7474

7575
extension KeyboardShortcuts.Shortcut {

ishare/Util/LocalizableManager.swift

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ import SwiftUI
1111

1212
enum LanguageTypes: String, CaseIterable, RawRepresentable, Defaults.Serializable {
1313
case english = "en"
14+
case aussie = "en-AU"
1415
case arabic = "ar"
1516
case chinese = "zh-CN"
1617
case french = "fr"
@@ -25,6 +26,7 @@ enum LanguageTypes: String, CaseIterable, RawRepresentable, Defaults.Serializabl
2526
var name: String {
2627
switch self {
2728
case .english: "English"
29+
case .aussie: "English (Australia)"
2830
case .arabic: "عربي"
2931
case .chinese: "中文"
3032
case .french: "Français"
@@ -64,6 +66,7 @@ class LocalizableManager: ObservableObject {
6466
static let shared = LocalizableManager()
6567

6668
@Default(.storedLanguage) var storedLanguage
69+
@Default(.aussieMode) var aussieMode
6770

6871
@Published var currentLanguage: LanguageTypes = .english {
6972
didSet {
@@ -84,6 +87,9 @@ class LocalizableManager: ObservableObject {
8487
func confirmLanguageChange() {
8588
guard let newLanguage = pendingLanguage else { return }
8689
currentLanguage = newLanguage
90+
if currentLanguage == .aussie {
91+
aussieMode = true
92+
}
8793
Task { @MainActor in
8894
NSApplication.shared.terminate(nil)
8995
}

ishare/Views/Settings/UploaderSettings.swift

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -224,6 +224,7 @@ struct UploaderSettingsView: View {
224224
struct AddCustomUploaderView: View {
225225
@Environment(\.presentationMode) var presentationMode
226226
@Default(.savedCustomUploaders) var savedCustomUploaders
227+
@Default(.aussieMode) var aussieMode
227228
@Binding var uploader: CustomUploader?
228229

229230
@State private var uploaderName: String = ""
@@ -284,6 +285,7 @@ struct AddCustomUploaderView: View {
284285
formData = uploader.formData?.map { CustomEntryModel(key: $0.key, value: $0.value) } ?? []
285286
}
286287
}
288+
.rotationEffect(aussieMode ? .degrees(180) : .zero)
287289
}
288290

289291
private struct InputField: View {
@@ -433,6 +435,7 @@ struct ImportCustomUploaderView: View {
433435
@Default(.savedCustomUploaders) var savedCustomUploaders
434436
@Default(.activeCustomUploader) var activeCustomUploader
435437
@Default(.uploadType) var uploadType
438+
@Default(.aussieMode) var aussieMode
436439

437440
@State private var selectedFileURLs: [URL] = []
438441
@State private var importError: ImportError?
@@ -516,6 +519,7 @@ struct ImportCustomUploaderView: View {
516519
dismissButton: .default(Text("OK".localized()))
517520
)
518521
}
522+
.rotationEffect(aussieMode ? .degrees(180) : .zero)
519523
}
520524

521525
private func importUploader() {

0 commit comments

Comments
 (0)