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:
|
||||
makeFolderItem(for: item)
|
||||
case is Document:
|
||||
DocumentItem(item: 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.
|
||||
}
|
||||
makeDocumentItem(for: item)
|
||||
default:
|
||||
EmptyView()
|
||||
}
|
||||
@ -120,27 +114,50 @@ private extension BrowseView {
|
||||
@ViewBuilder func makeFolderItem(
|
||||
for item: any FileSystemItemIdentifiable
|
||||
) -> some View {
|
||||
let folder = Folder(
|
||||
id: item.id,
|
||||
name: item.name
|
||||
)
|
||||
|
||||
FolderItem(item: item) {
|
||||
stack = .browse(folder)
|
||||
} delete: {
|
||||
// TODO: delete the item id from the backend.
|
||||
if let folder = item as? Folder {
|
||||
FolderItem(item: item) {
|
||||
stack = .browse(folder)
|
||||
} delete: {
|
||||
// TODO: delete the item id from the backend.
|
||||
}
|
||||
.navigate(
|
||||
to: BrowseView(
|
||||
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