Browse Source

modernize scene

master
marcoschmickler 1 week ago
parent
commit
1d31995aca
  1. 131
      kplayer/master/MasterSplitView.swift

131
kplayer/master/MasterSplitView.swift

@ -13,80 +13,89 @@ struct MasterSplitView: View {
var body: some View {
ZStack {
NavigationSplitView {
ZStack {
if model.isTagging {
ScrollView {
LazyVGrid(columns: [GridItem(.adaptive(minimum: 80))]) {
ForEach(model.items) { item in
Text(item.name).font(.system(size: 16)).bold().padding(EdgeInsets(top: 10, leading: 6, bottom: 10, trailing: 6))
.background(
RoundedRectangle(cornerRadius: 8)
.fill(Color.gray.opacity(0.2))
).draggable(item.name)
}
}
Group {
if model.isTagging {
ScrollView {
LazyVGrid(columns: [GridItem(.adaptive(minimum: 80))]) {
ForEach(model.items) {
item in
Text(item.name).font(.system(size: 16)).bold().padding(EdgeInsets(top: 10, leading: 6, bottom: 10, trailing: 6)).background(
RoundedRectangle(cornerRadius: 8).fill(Color.gray.opacity(0.2))
).draggable(item.name)
}
}
else {
List(model.items, selection: $model.selectedItemId) { item in
Text(item.name).font(.title3).bold()
}.id(UUID())
}
}.toolbar {
ToolbarItem(placement: .navigationBarLeading) {
Button(action: model.back, label: {
Image(systemName: "arrowshape.backward")
})
}
ToolbarItem(placement: .navigationBarTrailing) {
Button(action: model.tagIt, label: {
Image(systemName: "tag")
})
}
ToolbarItem(placement: .navigationBarTrailing) {
Button(action: { model.showSettings = true }, label: {
Image(systemName: "slider.horizontal.3")
})
}
ToolbarItem(placement: .navigationBarTrailing) {
Button(action: completionHandler, label: {
Image(systemName: "xmark.square")
})
}
}
}
} else {
List(model.items, selection: $model.selectedItemId) {
item in
Text(item.name).font(.title3).bold()
}.id(UUID())
}
detail: {
HStack {
Text(model.selectedItem?.longName() ?? "").font(.title3)
Spacer()
if model.selectedItem != nil {
Button(action: model.overview, label: {
Text("Overview")
})
}
}.background(Color(UIColor.systemGray6))
DetailView(model: model)
}.toolbar {
ToolbarItem(placement: .navigationBarLeading) {
Button(action: model.back, label: {
Image(systemName: "arrowshape.backward")
})
}
ToolbarItem(placement: .navigationBarTrailing) {
Button(action: model.tagIt, label: {
Image(systemName: "tag")
})
}
ToolbarItem(placement: .navigationBarTrailing) {
Button(action: {
model.showSettings = true
}, label: {
Image(systemName: "slider.horizontal.3")
})
}
ToolbarItem(placement: .navigationBarTrailing) {
Button(action: completionHandler, label: {
Image(systemName: "xmark.square")
})
}
}
}
detail: {
HStack {
Text(model.selectedItem?.longName() ?? "").font(.title3)
Spacer()
if model.selectedItem != nil {
Button(action: model.overview, label: {
Text("Overview")
})
}
}.background(Color(UIColor.systemGray6))
DetailView(model: model)
}
if model.showWeb {
KBrowserView(item: model.selectedDetail!.name, completionHandler: { model.showWeb = false }).background(.black)
if model.showWeb, let selectedDetail = model.selectedDetail {
KBrowserView(item: selectedDetail.name, completionHandler: {
model.showWeb = false
}).background(.black)
}
if model.showVideo {
SVideoPlayer(completionHandler: model.saveVideo, model: model.videoModel).background(.black)
}
if model.showPhoto {
SPhotoAlbumView(completionHandler: { saved in
SPhotoAlbumView(completionHandler: {
saved in
model.showPhoto = false
}, model: model.photoModel).background(.black)
}
}.sheet(isPresented: $model.showFilePicker, onDismiss: { model.showFilePicker = false}) {
DocPickerViewController(callback: model.pickURL, onDismiss: { model.showFilePicker = false })
}
.sheet(isPresented: $model.showSettings, onDismiss: { model.showSettings = false}) {
KSettingsView(kSettings: LocalManager.sharedInstance.settings, completionHandler: {
}.sheet(isPresented: $model.showFilePicker, onDismiss: {
model.showFilePicker = false
}) {
DocPickerViewController(callback: model.pickURL, onDismiss: {
model.showFilePicker = false
})
}.sheet(isPresented: $model.showSettings, onDismiss: {
model.showSettings = false
} )
}
}) {
KSettingsView(kSettings: LocalManager.sharedInstance.settings, completionHandler: {
model.showSettings = false
})
}
}
}
}
Loading…
Cancel
Save