mirror of
https://github.com/cranci1/Sora.git
synced 2026-04-20 08:02:16 +00:00
67 lines
2.4 KiB
Swift
67 lines
2.4 KiB
Swift
//
|
|
// ExploreView.swift
|
|
// Sulfur
|
|
//
|
|
// Created by Dominic on 22.04.25.
|
|
//
|
|
|
|
import SwiftUI
|
|
|
|
struct SettingsView: View {
|
|
@FocusState private var focusedSetting: Int?
|
|
let version = Bundle.main.infoDictionary?["CFBundleShortVersionString"] as? String ?? "BETA"
|
|
|
|
private let settings: [Setting] = [
|
|
Setting(id: 1, title: LocalizedStringKey("General Preferences"), destination: .general),
|
|
Setting(id: 2, title: LocalizedStringKey("Media Player"), destination: .media),
|
|
Setting(id: 3, title: LocalizedStringKey("Modules"), destination: .modules),
|
|
Setting(id: 4, title: LocalizedStringKey("Trackers"), destination: .trackers),
|
|
Setting(id: 5, title: LocalizedStringKey("Data"), destination: .data),
|
|
Setting(id: 6, title: LocalizedStringKey("Logs"), destination: .logs),
|
|
Setting(id: 7, title: LocalizedStringKey("Info"), destination: .info)
|
|
]
|
|
|
|
var body: some View {
|
|
NavigationView {
|
|
HStack(spacing: 0) {
|
|
|
|
// Logo block
|
|
VStack {
|
|
Button(action: { }, label: {
|
|
Image("Logo")
|
|
.resizable()
|
|
.padding(80)
|
|
.background(
|
|
Image("Background")
|
|
.resizable()
|
|
.scaledToFill()
|
|
)
|
|
})
|
|
.aspectRatio(1.0, contentMode: .fill)
|
|
.buttonStyle(.card)
|
|
.focused($focusedSetting, equals: 0)
|
|
.cornerRadius(100)
|
|
.shadow(radius: 30)
|
|
.padding(.horizontal, 100)
|
|
|
|
Text("Running Sora \(version)\nby cranci1")
|
|
.lineLimit(2)
|
|
.multilineTextAlignment(.center)
|
|
.foregroundColor(.secondary)
|
|
.padding()
|
|
}
|
|
.padding(100)
|
|
.frame(maxWidth: .infinity)
|
|
|
|
// Settings list
|
|
VStack {
|
|
ForEach(settings) { setting in
|
|
SettingsCellButton(setting: setting)
|
|
.focused($focusedSetting, equals: setting.id)
|
|
}
|
|
}
|
|
.frame(maxWidth: .infinity)
|
|
}
|
|
}
|
|
}
|
|
}
|