Add recent documents to home on iOS

This commit is contained in:
Arkadiusz Fal
2022-11-18 23:39:52 +01:00
parent 8ec06b0d59
commit bc1571a746
8 changed files with 148 additions and 20 deletions

View File

@@ -7,16 +7,7 @@ struct DocumentsView: View {
BrowserPlayerControls {
ScrollView(.vertical, showsIndicators: false) {
if model.directoryContents.isEmpty {
VStack(alignment: .center, spacing: 20) {
HStack {
Image(systemName: "doc")
Text("No documents")
}
Text("Share files from Finder on a Mac\nor iTunes on Windows")
.multilineTextAlignment(.center)
}
.frame(maxWidth: .infinity)
.foregroundColor(.secondary)
NoDocumentsView()
} else {
ForEach(model.sortedDirectoryContents, id: \.absoluteString) { url in
let video = Video.local(model.replacePrivateVar(url) ?? url)

View File

@@ -0,0 +1,22 @@
import SwiftUI
struct NoDocumentsView: View {
var body: some View {
VStack(alignment: .center, spacing: 20) {
HStack {
Image(systemName: "doc")
Text("No documents")
}
Text("Share files from Finder on a Mac\nor iTunes on Windows")
.multilineTextAlignment(.center)
}
.frame(maxWidth: .infinity)
.foregroundColor(.secondary)
}
}
struct NoDocumentsView_Previews: PreviewProvider {
static var previews: some View {
NoDocumentsView()
}
}

View File

@@ -0,0 +1,36 @@
import Defaults
import SwiftUI
struct RecentDocumentsView: View {
var limit = 3
let model = DocumentsModel.shared
var body: some View {
LazyVStack {
if recentDocuments.isEmpty {
NoDocumentsView()
} else {
ForEach(recentDocuments, id: \.absoluteString) { url in
let video = Video.local(model.replacePrivateVar(url) ?? url)
PlayerQueueRow(
item: PlayerQueueItem(video)
)
.contextMenu {
VideoContextMenuView(video: video)
}
}
}
}
.padding(.horizontal, 15)
}
var recentDocuments: [URL] {
model.recentDocuments(limit)
}
}
struct RecentDocumentsView_Previews: PreviewProvider {
static var previews: some View {
RecentDocumentsView()
}
}