Fix latest page to show download indicator, update download button to be responsive right away

This commit is contained in:
advplyr 2023-12-09 14:57:44 -06:00
parent 69308413f6
commit 776c02828f
2 changed files with 44 additions and 6 deletions

View file

@ -41,7 +41,7 @@
<div v-if="userCanDownload">
<span v-if="isLocal" class="material-icons-outlined px-2 text-success text-lg">audio_file</span>
<span v-else-if="!localEpisode" class="material-icons mx-1.5 mt-2 text-xl" :class="downloadItem ? 'animate-bounce text-warning text-opacity-75' : ''" @click.stop="downloadClick">{{ downloadItem ? 'downloading' : 'download' }}</span>
<span v-else-if="!localEpisode" class="material-icons mx-1.5 mt-2 text-xl" :class="downloadItem || pendingDownload ? 'animate-bounce text-warning text-opacity-75' : ''" @click.stop="downloadClick">{{ downloadItem || pendingDownload ? 'downloading' : 'download' }}</span>
<span v-else class="material-icons px-2 text-success text-xl">download_done</span>
</div>
@ -77,6 +77,7 @@ export default {
data() {
return {
isProcessingReadUpdate: false,
pendingDownload: false,
processing: false
}
},
@ -174,14 +175,16 @@ export default {
return folderObj
},
async downloadClick() {
if (this.downloadItem) return
if (this.downloadItem || this.pendingDownload) return
this.pendingDownload = true
await this.$hapticsImpact()
if (this.isIos) {
// no local folders on iOS
this.startDownload()
await this.startDownload()
} else {
this.download()
await this.download()
}
this.pendingDownload = false
},
async download(selectedLocalFolder = null) {
let localFolder = selectedLocalFolder
@ -215,7 +218,7 @@ export default {
console.log('Local folder', JSON.stringify(localFolder))
this.startDownload(localFolder)
return this.startDownload(localFolder)
},
async startDownload(localFolder) {
var payload = {