mirror of
https://github.com/advplyr/audiobookshelf-app.git
synced 2026-08-08 21:08:43 +02:00
Support for android 8+, selectable download location, permissions check, recursive delete
This commit is contained in:
+12
-2
@@ -15,7 +15,11 @@ export const getters = {
|
||||
getAudiobook: state => id => {
|
||||
return state.audiobooks.find(ab => ab.id === id)
|
||||
},
|
||||
getFiltered: (state, getters, rootState) => () => {
|
||||
getFiltered: (state, getters, rootState, rootGetters) => () => {
|
||||
// var isDisc = !rootState.networkConnected || !rootState.socketConnected
|
||||
// console.log('GET FILETERED', isDisc)
|
||||
// var filtered = isDisc ? rootGetters['downloads/getAudiobooks'] : state.audiobooks
|
||||
// console.log('FILTERED LEN', filtered.length)
|
||||
var filtered = state.audiobooks
|
||||
var settings = rootState.user.settings || {}
|
||||
var filterBy = settings.filterBy || ''
|
||||
@@ -36,9 +40,12 @@ export const getters = {
|
||||
var direction = settings.orderDesc ? 'desc' : 'asc'
|
||||
|
||||
var filtered = getters.getFiltered()
|
||||
var orderByNumber = settings.orderBy === 'book.volumeNumber'
|
||||
return sort(filtered)[direction]((ab) => {
|
||||
// Supports dot notation strings i.e. "book.title"
|
||||
return settings.orderBy.split('.').reduce((a, b) => a[b], ab)
|
||||
var value = settings.orderBy.split('.').reduce((a, b) => a[b], ab)
|
||||
if (orderByNumber && !isNaN(value)) return Number(value)
|
||||
return value
|
||||
})
|
||||
},
|
||||
getUniqueAuthors: (state) => {
|
||||
@@ -63,6 +70,9 @@ export const actions = {
|
||||
.catch((error) => {
|
||||
console.error('Failed', error)
|
||||
})
|
||||
},
|
||||
useDownloaded({ commit, rootGetters }) {
|
||||
commit('set', rootGetters['downloads/getAudiobooks'])
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -11,6 +11,9 @@ export const getters = {
|
||||
getDownloadIfReady: (state) => id => {
|
||||
var download = state.downloads.find(d => d.id === id)
|
||||
return !!download && !download.isDownloading && !download.isPreparing ? download : null
|
||||
},
|
||||
getAudiobooks: (state) => {
|
||||
return state.downloads.map(dl => dl.audiobook)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+10
-2
@@ -8,8 +8,10 @@ export const state = () => ({
|
||||
appUpdateInfo: null,
|
||||
socketConnected: false,
|
||||
networkConnected: false,
|
||||
networkConnectionType: 'unknown',
|
||||
streamListener: null
|
||||
networkConnectionType: null,
|
||||
streamListener: null,
|
||||
isFirstLoad: true,
|
||||
hasStoragePermission: false
|
||||
})
|
||||
|
||||
export const getters = {
|
||||
@@ -27,6 +29,12 @@ export const getters = {
|
||||
export const actions = {}
|
||||
|
||||
export const mutations = {
|
||||
setHasStoragePermission(state, val) {
|
||||
state.hasStoragePermission = val
|
||||
},
|
||||
setIsFirstLoad(state, val) {
|
||||
state.isFirstLoad = val
|
||||
},
|
||||
setAppUpdateInfo(state, info) {
|
||||
state.appUpdateInfo = info
|
||||
},
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
import { Storage } from '@capacitor/storage'
|
||||
import Vue from 'vue'
|
||||
|
||||
export const state = () => ({
|
||||
|
||||
Reference in New Issue
Block a user