added file downloads to frontend

This commit is contained in:
William Harrell
2022-11-11 20:27:15 -05:00
parent 7c6029aa99
commit b9f31cc19c
8 changed files with 185 additions and 25 deletions

View File

@ -1,10 +1,11 @@
import { actionTree, getterTree, mutationTree } from 'typed-vuex'
import { FileListItem } from '~/neko/types'
import { FileListItem, FileTransfer } from '~/neko/types'
import { accessor } from '~/store'
export const state = () => ({
cwd: '',
files: [] as FileListItem[]
files: [] as FileListItem[],
transfers: [] as FileTransfer[]
})
export const getters = getterTree(state, {
@ -18,6 +19,14 @@ export const mutations = mutationTree(state, {
_setFileList(state, files: FileListItem[]) {
state.files = files
},
_addTransfer(state, transfer: FileTransfer) {
state.transfers = [...state.transfers, transfer]
},
_removeTransfer(state, transfer: FileTransfer) {
state.transfers = state.transfers.filter((t) => t.id !== transfer.id)
}
})
@ -32,6 +41,17 @@ export const actions = actionTree(
accessor.files._setFileList(files)
},
addTransfer(store, transfer: FileTransfer) {
if (transfer.status !== 'pending') {
return
}
accessor.files._addTransfer(transfer)
},
removeTransfer(store, transfer: FileTransfer) {
accessor.files._removeTransfer(transfer)
},
refresh(store) {
if (!accessor.connected) {
return