mirror of
https://gitlab.com/MrFry/qmining-page
synced 2026-04-29 03:37:36 +02:00
Caching fetched resources
This commit is contained in:
+37
-25
@@ -184,7 +184,12 @@ function uploadFile(dir, file) {
|
||||
})
|
||||
}
|
||||
|
||||
export default function UserFiles({ router, globalData }) {
|
||||
export default function UserFiles({
|
||||
router,
|
||||
globalData,
|
||||
globalState,
|
||||
setGlobalState,
|
||||
}) {
|
||||
const userId = globalData.userId
|
||||
const [dirs, setDirs] = useState()
|
||||
const [sortBy, setSortBy] = useState('name')
|
||||
@@ -210,23 +215,48 @@ export default function UserFiles({ router, globalData }) {
|
||||
setSearchTerm()
|
||||
|
||||
if (router.query.dir) {
|
||||
getDir(dir)
|
||||
} else {
|
||||
getRootDir()
|
||||
}
|
||||
}, [router.query.dir])
|
||||
|
||||
const getDir = (dir, nocache) => {
|
||||
if (!nocache && globalState.userFiles && globalState.userFiles[dir]) {
|
||||
setDirs(globalState.userFiles[dir])
|
||||
} else {
|
||||
listUserDir(dir)
|
||||
.then((res) => {
|
||||
setDirs(res.files)
|
||||
setGlobalState({
|
||||
userFiles: {
|
||||
...globalState.userFiles,
|
||||
[dir]: res.files,
|
||||
},
|
||||
})
|
||||
})
|
||||
.catch((res) => {
|
||||
alert(res.msg)
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
const getRootDir = (nocache) => {
|
||||
if (!nocache && globalState.userFilesRoot) {
|
||||
setDirs(globalState.userFilesRoot)
|
||||
} else {
|
||||
listUserDir()
|
||||
.then((res) => {
|
||||
setGlobalState({
|
||||
userFilesRoot: res.dirs,
|
||||
})
|
||||
setDirs(res.dirs)
|
||||
})
|
||||
.catch((res) => {
|
||||
alert(res.msg)
|
||||
})
|
||||
}
|
||||
}, [router.query.dir])
|
||||
}
|
||||
|
||||
const dirSorter = (a, b) => {
|
||||
if (a[sortBy] < b[sortBy]) {
|
||||
@@ -391,13 +421,7 @@ export default function UserFiles({ router, globalData }) {
|
||||
e.stopPropagation()
|
||||
if (confirm(`Biztos törlöd '${name}'-t ?`)) {
|
||||
deleteFile(currDir, name).then(() => {
|
||||
listUserDir(currDir)
|
||||
.then((res) => {
|
||||
setDirs(res.files)
|
||||
})
|
||||
.catch((res) => {
|
||||
alert(res.msg)
|
||||
})
|
||||
getDir(currDir, true)
|
||||
})
|
||||
}
|
||||
}}
|
||||
@@ -479,14 +503,8 @@ export default function UserFiles({ router, globalData }) {
|
||||
setUploading(true)
|
||||
uploadFile(currDir, file).then(() => {
|
||||
setUploading(false)
|
||||
listUserDir(currDir)
|
||||
.then((res) => {
|
||||
setDirs(res.files)
|
||||
setAddingNew(null)
|
||||
})
|
||||
.catch((res) => {
|
||||
alert(res.msg)
|
||||
})
|
||||
setAddingNew(null)
|
||||
getDir(currDir, true)
|
||||
})
|
||||
}}
|
||||
>
|
||||
@@ -507,14 +525,8 @@ export default function UserFiles({ router, globalData }) {
|
||||
setUploading(true)
|
||||
newSubj(newSubjName).then(() => {
|
||||
setUploading(false)
|
||||
listUserDir()
|
||||
.then((res) => {
|
||||
setDirs(res.dirs)
|
||||
setAddingNew(null)
|
||||
})
|
||||
.catch((res) => {
|
||||
alert(res.msg)
|
||||
})
|
||||
setAddingNew(null)
|
||||
getRootDir()
|
||||
})
|
||||
}}
|
||||
>
|
||||
|
||||
Reference in New Issue
Block a user