Integrated the UploadView view into the BrowseView view for the Browse module.

This commit is contained in:
Javier Cicchelli 2022-12-17 21:07:07 +01:00
parent 1c04a67184
commit 5482d8fcbb
2 changed files with 12 additions and 9 deletions

View File

@ -85,7 +85,6 @@ private extension ContentView {
id: user.rootFolder.id, id: user.rootFolder.id,
name: user.rootFolder.name name: user.rootFolder.name
), ),
uploadFile: uploadFile,
showProfile: showProfile, showProfile: showProfile,
login: login login: login
) )

View File

@ -23,11 +23,11 @@ public struct BrowseView: View {
@State private var stack: Stack? @State private var stack: Stack?
@State private var itemToDelete: (any FileSystemItem)? @State private var itemToDelete: (any FileSystemItem)?
@State private var showCreateFolder: Bool = false @State private var showCreateFolder: Bool = false
@State private var showUploadFile: Bool = false
// MARK: Properties // MARK: Properties
private let folder: Folder private let folder: Folder
private let uploadFile: ActionClosure
private let showProfile: ActionClosure private let showProfile: ActionClosure
private let login: ActionClosure private let login: ActionClosure
@ -37,12 +37,10 @@ public struct BrowseView: View {
public init( public init(
folder: Folder, folder: Folder,
uploadFile: @escaping ActionClosure,
showProfile: @escaping ActionClosure, showProfile: @escaping ActionClosure,
login: @escaping ActionClosure login: @escaping ActionClosure
) { ) {
self.folder = folder self.folder = folder
self.uploadFile = uploadFile
self.showProfile = showProfile self.showProfile = showProfile
self.login = login self.login = login
} }
@ -57,10 +55,17 @@ public struct BrowseView: View {
createFolder: { createFolder: {
showCreateFolder = true showCreateFolder = true
}, },
uploadFile: uploadFile, uploadFile: {
showUploadFile = true
},
showProfile: showProfile showProfile: showProfile
) )
} }
.sheet(isPresented: $showUploadFile) {
UploadView(id: folder.id) {
Task { await loadItems() }
}
}
.createFolder( .createFolder(
isPresenting: $showCreateFolder, isPresenting: $showCreateFolder,
id: folder.id id: folder.id
@ -112,7 +117,9 @@ private extension BrowseView {
case .empty: case .empty:
MessageView( MessageView(
type: .empty, type: .empty,
action: uploadFile action: {
showUploadFile = true
}
) )
case .error: case .error:
MessageView(type: .error) { MessageView(type: .error) {
@ -137,7 +144,6 @@ private extension BrowseView {
.navigate( .navigate(
to: BrowseView( to: BrowseView(
folder: folder, folder: folder,
uploadFile: uploadFile,
showProfile: showProfile, showProfile: showProfile,
login: login login: login
), ),
@ -214,8 +220,6 @@ struct BrowseView_Previews: PreviewProvider {
id: UUID().uuidString, id: UUID().uuidString,
name: "Some folder name" name: "Some folder name"
)) { )) {
// upload file closure.
} showProfile: {
// show profile closure. // show profile closure.
} login: { } login: {
// login closure. // login closure.