mirror of
https://github.com/advplyr/audiobookshelf-app.git
synced 2026-08-08 04:48:36 +02:00
Add new connection page to support multiple server connection configs
This commit is contained in:
@@ -1,35 +0,0 @@
|
||||
export const state = () => ({
|
||||
|
||||
})
|
||||
|
||||
export const getters = {
|
||||
getBookCoverSrc: (state, getters, rootState, rootGetters) => (bookItem, placeholder = '/book_placeholder.jpg') => {
|
||||
if (!bookItem) return placeholder
|
||||
var book = bookItem.book
|
||||
if (!book || !book.cover || book.cover === placeholder) return placeholder
|
||||
|
||||
// Absolute URL covers (should no longer be used)
|
||||
if (book.cover.startsWith('http:') || book.cover.startsWith('https:')) return book.cover
|
||||
|
||||
var userToken = rootGetters['user/getToken']
|
||||
var bookLastUpdate = book.lastUpdate || Date.now()
|
||||
|
||||
if (!bookItem.id) {
|
||||
console.error('No book item id', bookItem)
|
||||
}
|
||||
if (process.env.NODE_ENV !== 'production') { // Testing
|
||||
// return `http://localhost:3333/api/books/${bookItem.id}/cover?token=${userToken}&ts=${bookLastUpdate}`
|
||||
}
|
||||
|
||||
var url = new URL(`/api/books/${bookItem.id}/cover`, rootState.serverUrl)
|
||||
return `${url}?token=${userToken}&ts=${bookLastUpdate}`
|
||||
}
|
||||
}
|
||||
|
||||
export const actions = {
|
||||
|
||||
}
|
||||
|
||||
export const mutations = {
|
||||
|
||||
}
|
||||
+1
-1
@@ -18,7 +18,7 @@ export const getters = {
|
||||
// return `http://localhost:3333/api/items/${libraryItem.id}/cover?token=${userToken}&ts=${lastUpdate}`
|
||||
}
|
||||
|
||||
var url = new URL(`/api/items/${libraryItem.id}/cover`, rootState.serverUrl)
|
||||
var url = new URL(`/api/items/${libraryItem.id}/cover`, rootGetters['user/getServerAddress'])
|
||||
return `${url}?token=${userToken}&ts=${lastUpdate}`
|
||||
}
|
||||
}
|
||||
|
||||
@@ -47,11 +47,13 @@ export const getters = {
|
||||
}
|
||||
|
||||
export const actions = {
|
||||
// Listen for network connection
|
||||
async setupNetworkListener({ state, commit }) {
|
||||
if (state.isNetworkListenerInit) return
|
||||
commit('setNetworkListenerInit', true)
|
||||
|
||||
var status = await Network.getStatus()
|
||||
console.log('Network status', status)
|
||||
commit('setNetworkStatus', status)
|
||||
|
||||
Network.addListener('networkStatusChange', (status) => {
|
||||
|
||||
@@ -27,12 +27,6 @@ export const actions = {
|
||||
return false
|
||||
}
|
||||
|
||||
// var library = state.libraries.find(lib => lib.id === libraryId)
|
||||
// if (library) {
|
||||
// commit('setCurrentLibrary', libraryId)
|
||||
// return library
|
||||
// }
|
||||
|
||||
return this.$axios
|
||||
.$get(`/api/libraries/${libraryId}?include=filterdata`)
|
||||
.then((data) => {
|
||||
|
||||
+14
-10
@@ -1,5 +1,6 @@
|
||||
export const state = () => ({
|
||||
user: null,
|
||||
serverConnectionConfig: null,
|
||||
userAudiobookData: [],
|
||||
settings: {
|
||||
mobileOrderBy: 'addedAt',
|
||||
@@ -20,6 +21,9 @@ export const getters = {
|
||||
getToken: (state) => {
|
||||
return state.user ? state.user.token : null
|
||||
},
|
||||
getServerAddress: (state) => {
|
||||
return state.serverConnectionConfig ? state.serverConnectionConfig.address : null
|
||||
},
|
||||
getUserLibraryItemProgress: (state) => (libraryItemId) => {
|
||||
if (!state.user.libraryItemProgress) return null
|
||||
return state.user.libraryItemProgress.find(li => li.id == libraryItemId)
|
||||
@@ -102,6 +106,16 @@ export const actions = {
|
||||
}
|
||||
|
||||
export const mutations = {
|
||||
logout(state) {
|
||||
state.user = null
|
||||
state.serverConnectionConfig = null
|
||||
},
|
||||
setUser(state, user) {
|
||||
state.user = user
|
||||
},
|
||||
setServerConnectionConfig(state, serverConnectionConfig) {
|
||||
state.serverConnectionConfig = serverConnectionConfig
|
||||
},
|
||||
setUserAudiobookData(state, abdata) {
|
||||
var index = state.userAudiobookData.findIndex(uab => uab.audiobookId === abdata.audiobookId)
|
||||
if (index >= 0) {
|
||||
@@ -116,16 +130,6 @@ export const mutations = {
|
||||
setAllUserAudiobookData(state, allAbData) {
|
||||
state.userAudiobookData = allAbData
|
||||
},
|
||||
setUser(state, user) {
|
||||
state.user = user
|
||||
if (user) {
|
||||
if (user.token) this.$localStore.setToken(user.token)
|
||||
console.log('setUser', user.username)
|
||||
} else {
|
||||
this.$localStore.setToken(null)
|
||||
console.warn('setUser cleared')
|
||||
}
|
||||
},
|
||||
setSettings(state, settings) {
|
||||
if (!settings) return
|
||||
|
||||
|
||||
Reference in New Issue
Block a user