aboutsummaryrefslogtreecommitdiff
path: root/Map/Presentation/Preferences/TemplatesPreferencesView.swift
diff options
context:
space:
mode:
authorRuben Beltran del Rio <git@r.bdr.sh>2025-07-08 21:21:08 +0200
committerRuben Beltran del Rio <git@r.bdr.sh>2025-07-08 21:21:08 +0200
commitc21a68c807dcb84b4ce910ee0f73238a8019ffe9 (patch)
treeae1e5e0fc7a846daf74623c6cd6270612ff0e56f /Map/Presentation/Preferences/TemplatesPreferencesView.swift
parent8f6da65a680cdd30ec541b3b226137004a1e4681 (diff)
Allow export/import of preferences
Diffstat (limited to 'Map/Presentation/Preferences/TemplatesPreferencesView.swift')
-rw-r--r--Map/Presentation/Preferences/TemplatesPreferencesView.swift34
1 files changed, 2 insertions, 32 deletions
diff --git a/Map/Presentation/Preferences/TemplatesPreferencesView.swift b/Map/Presentation/Preferences/TemplatesPreferencesView.swift
index 5de2428..375ed68 100644
--- a/Map/Presentation/Preferences/TemplatesPreferencesView.swift
+++ b/Map/Presentation/Preferences/TemplatesPreferencesView.swift
@@ -37,7 +37,8 @@ struct Template: Identifiable, Codable, Hashable {
}
struct TemplatesPreferencesView: View {
- @AppStorage("mapTemplates") private var templatesData: Data = Data()
+ @AppStorage("mapTemplates") private var templatesData: Data = UserPreferences.Defaults
+ .mapTemplates
@State private var selectedTemplate: Template?
@State private var showingAddSheet = false
@State private var newTemplateName = ""
@@ -183,12 +184,6 @@ struct TemplatesPreferencesView: View {
.frame(maxWidth: .infinity, maxHeight: .infinity)
}
.onAppear {
- // Initialize default templates if needed
- if templates.wrappedValue.isEmpty
- || !templates.wrappedValue.contains(where: { $0.isDefault })
- {
- createDefaultTemplates()
- }
// Set first template as selected if none is selected
if selectedTemplate == nil && !templates.wrappedValue.isEmpty {
selectedTemplate = templates.wrappedValue.first
@@ -244,31 +239,6 @@ struct TemplatesPreferencesView: View {
.padding(.horizontal, Dimensions.Spacing.indulgent)
}
- private func createDefaultTemplates() {
- let defaultTemplate = Template(
- name: String(localized: "map_template.default.title"),
- content: String(localized: "map_template.default.content"),
- isDefault: true
- )
-
- let emptyTemplate = Template(
- name: String(localized: "map_template.empty.title"),
- content: "",
- isDefault: false
- )
-
- if templates.wrappedValue.isEmpty {
- templates.wrappedValue = [defaultTemplate, emptyTemplate]
- } else {
- // Add default template if none exists
- if !templates.wrappedValue.contains(where: { $0.isDefault }) {
- var currentTemplates = templates.wrappedValue
- currentTemplates.insert(defaultTemplate, at: 0)
- templates.wrappedValue = currentTemplates
- }
- }
- }
-
private func addTemplate() {
let newTemplate = Template(
name: newTemplateName.isEmpty