mirror of
https://github.com/advplyr/audiobookshelf-app.git
synced 2026-08-06 20:08:48 +02:00
Fix: download single track audiobooks #15, Change: check write permission when selecting folder #13, Add: Show folders and files list in user selected folder, Fix: Seek back only if audiobook was played #20
This commit is contained in:
@@ -32,7 +32,7 @@ Vue.prototype.$secondsToTimestamp = (seconds) => {
|
||||
_seconds -= _minutes * 60
|
||||
var _hours = Math.floor(_minutes / 60)
|
||||
_minutes -= _hours * 60
|
||||
_seconds = Math.round(_seconds)
|
||||
_seconds = Math.floor(_seconds)
|
||||
if (!_hours) {
|
||||
return `${_minutes}:${_seconds.toString().padStart(2, '0')}`
|
||||
}
|
||||
|
||||
@@ -0,0 +1,5 @@
|
||||
import { registerPlugin } from '@capacitor/core';
|
||||
|
||||
const StorageManager = registerPlugin('StorageManager');
|
||||
|
||||
export default StorageManager;
|
||||
+8
-4
@@ -441,7 +441,7 @@ class LocalStorage {
|
||||
var val = (await Storage.get({ key: 'userAudiobooks' }) || {}).value || null
|
||||
this.userAudiobooks = val ? JSON.parse(val) : {}
|
||||
this.userAudiobooksLoaded = true
|
||||
this.vuexStore.commit('user/setLocalUserAudiobooks', this.userAudiobooks)
|
||||
this.vuexStore.commit('user/setLocalUserAudiobooks', { ...this.userAudiobooks })
|
||||
} catch (error) {
|
||||
console.error('[LocalStorage] Failed to load user audiobooks', error)
|
||||
}
|
||||
@@ -458,7 +458,7 @@ class LocalStorage {
|
||||
async setAllAudiobookProgress(progresses) {
|
||||
this.userAudiobooks = progresses
|
||||
await this.saveUserAudiobooks()
|
||||
this.vuexStore.commit('user/setLocalUserAudiobooks', this.userAudiobooks)
|
||||
this.vuexStore.commit('user/setLocalUserAudiobooks', { ...this.userAudiobooks })
|
||||
}
|
||||
|
||||
async updateUserAudiobookProgress(progressPayload) {
|
||||
@@ -467,14 +467,14 @@ class LocalStorage {
|
||||
}
|
||||
console.log('[LocalStorage] Updated User Audiobook Progress ' + progressPayload.audiobookId)
|
||||
await this.saveUserAudiobooks()
|
||||
this.vuexStore.commit('user/setLocalUserAudiobooks', this.userAudiobooks)
|
||||
this.vuexStore.commit('user/setLocalUserAudiobooks', { ...this.userAudiobooks })
|
||||
}
|
||||
|
||||
async removeAudiobookProgress(audiobookId) {
|
||||
if (!this.userAudiobooks[audiobookId]) return
|
||||
delete this.userAudiobooks[audiobookId]
|
||||
await this.saveUserAudiobooks()
|
||||
this.vuexStore.commit('user/setLocalUserAudiobooks', this.userAudiobooks)
|
||||
this.vuexStore.commit('user/setLocalUserAudiobooks', { ...this.userAudiobooks })
|
||||
}
|
||||
|
||||
getUserAudiobook(audiobookId) {
|
||||
@@ -530,10 +530,13 @@ class LocalStorage {
|
||||
if (folderObj) {
|
||||
await Storage.set({ key: 'downloadFolder', value: JSON.stringify(folderObj) })
|
||||
this.downloadFolder = folderObj
|
||||
this.vuexStore.commit('setDownloadFolder', { ...this.downloadFolder })
|
||||
} else {
|
||||
await Storage.remove({ key: 'downloadFolder' })
|
||||
this.downloadFolder = null
|
||||
this.vuexStore.commit('setDownloadFolder', null)
|
||||
}
|
||||
|
||||
} catch (error) {
|
||||
console.error('[LocalStorage] Failed to set download folder', error)
|
||||
}
|
||||
@@ -544,6 +547,7 @@ class LocalStorage {
|
||||
var _value = (await Storage.get({ key: 'downloadFolder' }) || {}).value || null
|
||||
if (!_value) return null
|
||||
this.downloadFolder = JSON.parse(_value)
|
||||
this.vuexStore.commit('setDownloadFolder', { ...this.downloadFolder })
|
||||
return this.downloadFolder
|
||||
} catch (error) {
|
||||
console.error('[LocalStorage] Failed to get download folder', error)
|
||||
|
||||
Reference in New Issue
Block a user