mirror of
https://codeberg.org/comaps/comaps
synced 2025-12-19 13:03:36 +00:00
[ios] Adjusted code for consistency
Signed-off-by: Yannik Bloscheck <git@yannikbloscheck.com>
This commit is contained in:
committed by
Yannik Bloscheck
parent
4fd617684b
commit
93415fe952
@@ -19,15 +19,15 @@ extension Settings {
|
||||
var description: String {
|
||||
switch self {
|
||||
case .hidden:
|
||||
return L("disabled")
|
||||
return String(localized: "disabled")
|
||||
case .help:
|
||||
return L("help")
|
||||
return String(localized: "help")
|
||||
case .addPlace:
|
||||
return L("placepage_add_place_button")
|
||||
return String(localized: "placepage_add_place_button")
|
||||
case .settings:
|
||||
return L("settings")
|
||||
return String(localized: "settings")
|
||||
case .recordTrack:
|
||||
return L("start_track_recording")
|
||||
return String(localized: "start_track_recording")
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -25,7 +25,7 @@ class DownloadMapsViewController: MWMViewController {
|
||||
@IBOutlet var noMapsContainer: UIView!
|
||||
@IBOutlet var downloadAllViewContainer: UIView!
|
||||
|
||||
// MARK: - Properties
|
||||
// MARK: Properties
|
||||
|
||||
private var searchController = UISearchController(searchResultsController: nil)
|
||||
var dataSource: IDownloaderDataSource!
|
||||
|
||||
@@ -2,7 +2,7 @@ import SwiftUI
|
||||
|
||||
/// View for the routing options
|
||||
struct RoutingOptionsView: View {
|
||||
// MARK: - Properties
|
||||
// MARK: Properties
|
||||
|
||||
/// The dismiss action of the environment
|
||||
@Environment(\.dismiss) private var dismiss
|
||||
|
||||
@@ -2,7 +2,7 @@ import SwiftUI
|
||||
|
||||
/// View for the OpenStreetMapp profile
|
||||
struct ExistingProfileView: View {
|
||||
// MARK: - Properties
|
||||
// MARK: Properties
|
||||
|
||||
/// The open url action of the environment
|
||||
@Environment(\.openURL) private var openUrl
|
||||
|
||||
@@ -2,7 +2,7 @@ import SwiftUI
|
||||
|
||||
/// View for the OpenStreetMapp profile
|
||||
struct NoExistingProfileView: View {
|
||||
// MARK: - Properties
|
||||
// MARK: Properties
|
||||
|
||||
/// The open url action of the environment
|
||||
@Environment(\.openURL) private var openUrl
|
||||
|
||||
@@ -2,7 +2,7 @@ import SwiftUI
|
||||
|
||||
/// View for the OpenStreetMap profile
|
||||
struct ProfileView: View {
|
||||
// MARK: - Properties
|
||||
// MARK: Properties
|
||||
|
||||
/// The dismiss action of the environment
|
||||
@Environment(\.dismiss) private var dismiss
|
||||
@@ -26,32 +26,30 @@ struct ProfileView: View {
|
||||
|
||||
/// The actual view
|
||||
var body: some View {
|
||||
NavigationView {
|
||||
VStack(spacing: 0) {
|
||||
if isPresentedAsAlert {
|
||||
Button {
|
||||
dismiss()
|
||||
} label: {
|
||||
Label {
|
||||
Text("close")
|
||||
} icon: {
|
||||
Image(systemName: "xmark.circle.fill")
|
||||
.font(.title)
|
||||
}
|
||||
VStack(spacing: 0) {
|
||||
if isPresentedAsAlert {
|
||||
Button {
|
||||
dismiss()
|
||||
} label: {
|
||||
Label {
|
||||
Text("close")
|
||||
} icon: {
|
||||
Image(systemName: "xmark.circle.fill")
|
||||
.font(.title)
|
||||
}
|
||||
.labelStyle(.iconOnly)
|
||||
.buttonStyle(PlainButtonStyle())
|
||||
.foregroundStyle(.primary)
|
||||
.padding([.top, .leading, .trailing])
|
||||
.frame(maxWidth: .infinity, alignment: .trailing)
|
||||
.background(Color(uiColor: .systemGroupedBackground))
|
||||
}
|
||||
|
||||
if Profile.isExisting {
|
||||
ExistingProfileView(lastUpdated: $lastUpdated, isPresentedAsAlert: isPresentedAsAlert)
|
||||
} else {
|
||||
NoExistingProfileView()
|
||||
}
|
||||
.labelStyle(.iconOnly)
|
||||
.buttonStyle(PlainButtonStyle())
|
||||
.foregroundStyle(.primary)
|
||||
.padding([.top, .leading, .trailing])
|
||||
.frame(maxWidth: .infinity, alignment: .trailing)
|
||||
.background(Color(uiColor: .systemGroupedBackground))
|
||||
}
|
||||
|
||||
if Profile.isExisting {
|
||||
ExistingProfileView(lastUpdated: $lastUpdated, isPresentedAsAlert: isPresentedAsAlert)
|
||||
} else {
|
||||
NoExistingProfileView()
|
||||
}
|
||||
}
|
||||
.accentColor(.accent)
|
||||
@@ -64,7 +62,11 @@ struct ProfileView: View {
|
||||
Profile.logout()
|
||||
lastUpdated = Date.now
|
||||
} label: {
|
||||
Label("osm_profile_logout", systemImage: "rectangle.portrait.and.arrow.forward")
|
||||
if #available(iOS 16, *) {
|
||||
Label("osm_profile_logout", systemImage: "rectangle.portrait.and.arrow.forward")
|
||||
} else {
|
||||
Label("osm_profile_logout", systemImage: "power")
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,7 +2,7 @@ import SwiftUI
|
||||
|
||||
/// View for the navigation settings
|
||||
struct SettingsNavigationView: View {
|
||||
// MARK: - Properties
|
||||
// MARK: Properties
|
||||
|
||||
/// If the perspective view should be used during routing
|
||||
@State var hasPerspectiveViewWhileRouting: Bool = true
|
||||
@@ -46,89 +46,87 @@ struct SettingsNavigationView: View {
|
||||
|
||||
/// The actual view
|
||||
var body: some View {
|
||||
NavigationView {
|
||||
List {
|
||||
Section {
|
||||
Toggle("pref_map_3d_title", isOn: $hasPerspectiveViewWhileRouting)
|
||||
.tint(.accent)
|
||||
|
||||
Toggle("pref_map_auto_zoom", isOn: $hasAutoZoomWhileRouting)
|
||||
.tint(.accent)
|
||||
}
|
||||
List {
|
||||
Section {
|
||||
Toggle("pref_map_3d_title", isOn: $hasPerspectiveViewWhileRouting)
|
||||
.tint(.accent)
|
||||
|
||||
Section {
|
||||
Toggle("pref_tts_enable_title", isOn: $shouldProvideVoiceRouting)
|
||||
.tint(.accent)
|
||||
Toggle("pref_map_auto_zoom", isOn: $hasAutoZoomWhileRouting)
|
||||
.tint(.accent)
|
||||
}
|
||||
|
||||
Section {
|
||||
Toggle("pref_tts_enable_title", isOn: $shouldProvideVoiceRouting)
|
||||
.tint(.accent)
|
||||
|
||||
if shouldProvideVoiceRouting {
|
||||
Picker(selection: $selectedLanguageForVoiceRouting) {
|
||||
ForEach(Settings.availableLanguagesForVoiceRouting) { languageForVoiceRouting in
|
||||
Text(languageForVoiceRouting.localizedName)
|
||||
.tag(languageForVoiceRouting.id)
|
||||
}
|
||||
} label: {
|
||||
Text("pref_tts_language_title")
|
||||
}
|
||||
|
||||
if shouldProvideVoiceRouting {
|
||||
Picker(selection: $selectedLanguageForVoiceRouting) {
|
||||
ForEach(Settings.availableLanguagesForVoiceRouting) { languageForVoiceRouting in
|
||||
Text(languageForVoiceRouting.localizedName)
|
||||
.tag(languageForVoiceRouting.id)
|
||||
}
|
||||
} label: {
|
||||
Text("pref_tts_language_title")
|
||||
}
|
||||
|
||||
Toggle(isOn: $shouldAnnounceStreetnamesWhileVoiceRouting) {
|
||||
VStack(alignment: .leading) {
|
||||
Text("pref_tts_street_names_title")
|
||||
|
||||
Text("pref_tts_street_names_description")
|
||||
.font(.footnote)
|
||||
.foregroundStyle(.secondary)
|
||||
}
|
||||
}
|
||||
.tint(.accent)
|
||||
|
||||
Picker(selection: $selectedAnnouncingSpeedTrapsWhileVoiceRouting) {
|
||||
ForEach(Settings.AnnouncingSpeedTrapsWhileVoiceRouting.allCases) { announcingSpeedTrapsWhileVoiceRouting in
|
||||
Text(announcingSpeedTrapsWhileVoiceRouting.description)
|
||||
}
|
||||
} label: {
|
||||
Text("speedcams_alert_title")
|
||||
Toggle(isOn: $shouldAnnounceStreetnamesWhileVoiceRouting) {
|
||||
VStack(alignment: .leading) {
|
||||
Text("pref_tts_street_names_title")
|
||||
|
||||
Text("pref_tts_street_names_description")
|
||||
.font(.footnote)
|
||||
.foregroundStyle(.secondary)
|
||||
}
|
||||
}
|
||||
} header: {
|
||||
Text("pref_tts_title")
|
||||
} footer: {
|
||||
if shouldProvideVoiceRouting {
|
||||
Button {
|
||||
Settings.playVoiceRoutingTest()
|
||||
} label: {
|
||||
Text("pref_tts_test_voice_title")
|
||||
.bold()
|
||||
.lineLimit(1)
|
||||
.padding(4)
|
||||
.frame(maxWidth: .infinity)
|
||||
.tint(.accent)
|
||||
|
||||
Picker(selection: $selectedAnnouncingSpeedTrapsWhileVoiceRouting) {
|
||||
ForEach(Settings.AnnouncingSpeedTrapsWhileVoiceRouting.allCases) { announcingSpeedTrapsWhileVoiceRouting in
|
||||
Text(announcingSpeedTrapsWhileVoiceRouting.description)
|
||||
}
|
||||
.buttonStyle(BorderedButtonStyle())
|
||||
.foregroundStyle(.alternativeAccent)
|
||||
.padding([.top, .bottom])
|
||||
.listRowInsets(.init(top: 0, leading: 0, bottom: 0, trailing: 0))
|
||||
} label: {
|
||||
Text("speedcams_alert_title")
|
||||
}
|
||||
}
|
||||
|
||||
Section {
|
||||
Toggle("avoid_tolls", isOn: $shouldAvoidTollRoadsWhileRouting)
|
||||
.tint(.accent)
|
||||
|
||||
Toggle("avoid_unpaved", isOn: $shouldAvoidUnpavedRoadsWhileRouting)
|
||||
.tint(.accent)
|
||||
|
||||
Toggle("avoid_ferry", isOn: $shouldAvoidFerriesWhileRouting)
|
||||
.tint(.accent)
|
||||
|
||||
Toggle("avoid_motorways", isOn: $shouldAvoidMotorwaysWhileRouting)
|
||||
.tint(.accent)
|
||||
} header: {
|
||||
Text("driving_options_title")
|
||||
} header: {
|
||||
Text("pref_tts_title")
|
||||
} footer: {
|
||||
if shouldProvideVoiceRouting {
|
||||
Button {
|
||||
Settings.playVoiceRoutingTest()
|
||||
} label: {
|
||||
Text("pref_tts_test_voice_title")
|
||||
.bold()
|
||||
.lineLimit(1)
|
||||
.padding(4)
|
||||
.frame(maxWidth: .infinity)
|
||||
}
|
||||
.buttonStyle(BorderedButtonStyle())
|
||||
.foregroundStyle(.alternativeAccent)
|
||||
.padding([.top, .bottom])
|
||||
.listRowInsets(.init(top: 0, leading: 0, bottom: 0, trailing: 0))
|
||||
}
|
||||
}
|
||||
|
||||
Section {
|
||||
Toggle("avoid_tolls", isOn: $shouldAvoidTollRoadsWhileRouting)
|
||||
.tint(.accent)
|
||||
|
||||
Toggle("avoid_unpaved", isOn: $shouldAvoidUnpavedRoadsWhileRouting)
|
||||
.tint(.accent)
|
||||
|
||||
Toggle("avoid_ferry", isOn: $shouldAvoidFerriesWhileRouting)
|
||||
.tint(.accent)
|
||||
|
||||
Toggle("avoid_motorways", isOn: $shouldAvoidMotorwaysWhileRouting)
|
||||
.tint(.accent)
|
||||
} header: {
|
||||
Text("driving_options_title")
|
||||
}
|
||||
}
|
||||
.accentColor(.accent)
|
||||
.navigationViewStyle(StackNavigationViewStyle())
|
||||
.navigationTitle(String(localized: "prefs_group_route"))
|
||||
.navigationTitle("prefs_group_route")
|
||||
.onAppear {
|
||||
hasPerspectiveViewWhileRouting = Settings.hasPerspectiveViewWhileRouting
|
||||
hasAutoZoomWhileRouting = Settings.hasAutoZoomWhileRouting
|
||||
|
||||
@@ -2,7 +2,7 @@ import SwiftUI
|
||||
|
||||
/// View for the settings
|
||||
struct SettingsView: View {
|
||||
// MARK: - Properties
|
||||
// MARK: Properties
|
||||
|
||||
/// The dismiss action of the environment
|
||||
@Environment(\.dismiss) private var dismiss
|
||||
@@ -235,7 +235,7 @@ struct SettingsView: View {
|
||||
Text("enable_logging_warning_message")
|
||||
}
|
||||
}
|
||||
.navigationTitle(String(localized: "settings"))
|
||||
.navigationTitle("settings")
|
||||
.navigationBarTitleDisplayMode(.inline)
|
||||
.toolbar {
|
||||
ToolbarItem(placement: .confirmationAction) {
|
||||
|
||||
Reference in New Issue
Block a user