Implemented the stack navigation for the DocumentItem views in the BrowseView view for the Browse module.
This commit is contained in:
parent
3ec892ae93
commit
6391419756
@ -89,13 +89,7 @@ private extension BrowseView {
|
|||||||
case is Folder:
|
case is Folder:
|
||||||
makeFolderItem(for: item)
|
makeFolderItem(for: item)
|
||||||
case is Document:
|
case is Document:
|
||||||
DocumentItem(item: item) {
|
makeDocumentItem(for: item)
|
||||||
// TODO: show the item id in a viewer...
|
|
||||||
} download: {
|
|
||||||
// TODO: download the item id from the backend.
|
|
||||||
} delete: {
|
|
||||||
// TODO: delete the item id from the backend.
|
|
||||||
}
|
|
||||||
default:
|
default:
|
||||||
EmptyView()
|
EmptyView()
|
||||||
}
|
}
|
||||||
@ -120,27 +114,50 @@ private extension BrowseView {
|
|||||||
@ViewBuilder func makeFolderItem(
|
@ViewBuilder func makeFolderItem(
|
||||||
for item: any FileSystemItemIdentifiable
|
for item: any FileSystemItemIdentifiable
|
||||||
) -> some View {
|
) -> some View {
|
||||||
let folder = Folder(
|
if let folder = item as? Folder {
|
||||||
id: item.id,
|
FolderItem(item: item) {
|
||||||
name: item.name
|
stack = .browse(folder)
|
||||||
)
|
} delete: {
|
||||||
|
// TODO: delete the item id from the backend.
|
||||||
FolderItem(item: item) {
|
}
|
||||||
stack = .browse(folder)
|
.navigate(
|
||||||
} delete: {
|
to: BrowseView(
|
||||||
// TODO: delete the item id from the backend.
|
folder: folder,
|
||||||
|
createFolder: createFolder,
|
||||||
|
uploadFile: uploadFile,
|
||||||
|
showProfile: showProfile,
|
||||||
|
login: login
|
||||||
|
),
|
||||||
|
tagged: .browse(folder),
|
||||||
|
in: $stack
|
||||||
|
)
|
||||||
|
} else {
|
||||||
|
EmptyView()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@ViewBuilder func makeDocumentItem(
|
||||||
|
for item: any FileSystemItemIdentifiable
|
||||||
|
) -> some View {
|
||||||
|
if let document = item as? Document {
|
||||||
|
DocumentItem(item: item) {
|
||||||
|
stack = .open(document)
|
||||||
|
} download: {
|
||||||
|
// TODO: download the item id from the backend.
|
||||||
|
} delete: {
|
||||||
|
// TODO: delete the item id from the backend.
|
||||||
|
}
|
||||||
|
.navigate(
|
||||||
|
to: DocumentView(
|
||||||
|
document: document,
|
||||||
|
login: login
|
||||||
|
),
|
||||||
|
tagged: .open(document),
|
||||||
|
in: $stack
|
||||||
|
)
|
||||||
|
} else {
|
||||||
|
EmptyView()
|
||||||
}
|
}
|
||||||
.navigate(
|
|
||||||
to: BrowseView(
|
|
||||||
folder: folder,
|
|
||||||
createFolder: createFolder,
|
|
||||||
uploadFile: uploadFile,
|
|
||||||
showProfile: showProfile,
|
|
||||||
login: login
|
|
||||||
),
|
|
||||||
tagged: .browse(folder),
|
|
||||||
in: $stack
|
|
||||||
)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user