46 lines
1.4 KiB
Swift
46 lines
1.4 KiB
Swift
import SwiftUI
|
|
|
|
struct SettingsView: View {
|
|
@EnvironmentObject private var localization: LocalizationStore
|
|
|
|
var body: some View {
|
|
VStack(alignment: .leading, spacing: HermesTheme.sectionSpacing) {
|
|
HermesSectionHeader(
|
|
title: localization.string(for: "settings.title"),
|
|
subtitle: localization.string(for: "settings.subtitle")
|
|
)
|
|
|
|
VStack(spacing: 12) {
|
|
settingRow(
|
|
label: localization.string(for: "settings.language"),
|
|
value: localization.localeName(for: localization.localeCode)
|
|
)
|
|
|
|
settingRow(
|
|
label: localization.string(for: "settings.haptics"),
|
|
value: localization.string(for: "settings.enabled")
|
|
)
|
|
|
|
settingRow(
|
|
label: localization.string(for: "settings.analytics"),
|
|
value: localization.string(for: "settings.enabled")
|
|
)
|
|
}
|
|
}
|
|
.hermesCard()
|
|
}
|
|
|
|
@ViewBuilder
|
|
private func settingRow(label: String, value: String) -> some View {
|
|
HStack {
|
|
Text(label)
|
|
.font(.callout)
|
|
.foregroundStyle(HermesTheme.textSecondary)
|
|
Spacer(minLength: 12)
|
|
Text(value)
|
|
.font(.callout.weight(.semibold))
|
|
.foregroundStyle(HermesTheme.textPrimary)
|
|
}
|
|
}
|
|
}
|