54 lines
1.7 KiB
Swift
54 lines
1.7 KiB
Swift
<<<<<<< HEAD
|
|
import SwiftUI
|
|
|
|
struct RootView: View {
|
|
var body: some View {
|
|
ProjectBrowserView()
|
|
=======
|
|
import MusicAssistantCore
|
|
import SwiftUI
|
|
|
|
struct RootView: View {
|
|
private let appName = "AI Music Studio"
|
|
private let boundarySummary = ProductBoundarySummary.initial
|
|
|
|
var body: some View {
|
|
NavigationSplitView {
|
|
List {
|
|
Label("Projects", systemImage: "music.note.list")
|
|
Label("Settings", systemImage: "gearshape")
|
|
}
|
|
.navigationTitle(appName)
|
|
} detail: {
|
|
VStack(alignment: .leading, spacing: 16) {
|
|
Text("New Song Project")
|
|
.font(.largeTitle.weight(.semibold))
|
|
|
|
Text(boundarySummary.description)
|
|
.font(.body)
|
|
.foregroundStyle(.secondary)
|
|
.frame(maxWidth: 560, alignment: .leading)
|
|
|
|
Divider()
|
|
|
|
VStack(alignment: .leading, spacing: 8) {
|
|
Text("Foundation status")
|
|
.font(.headline)
|
|
|
|
Label("Presentation, Domain, Services, Integrations, and Persistence boundaries are separated.", systemImage: "checkmark.circle")
|
|
Label("External providers are represented by protocols only.", systemImage: "lock.shield")
|
|
Label("Secrets are expected from local environment configuration.", systemImage: "key")
|
|
}
|
|
.labelStyle(.titleAndIcon)
|
|
}
|
|
.padding(32)
|
|
.frame(maxWidth: .infinity, maxHeight: .infinity, alignment: .topLeading)
|
|
}
|
|
>>>>>>> origin/master
|
|
}
|
|
}
|
|
|
|
#Preview {
|
|
RootView()
|
|
}
|