2021-11-21 06:54:10 -06:00
|
|
|
import { Network } from '@capacitor/network'
|
2021-09-01 20:07:11 -05:00
|
|
|
|
|
|
|
export const state = () => ({
|
2022-07-01 20:05:11 -05:00
|
|
|
deviceData: null,
|
2022-04-10 20:31:47 -05:00
|
|
|
playerLibraryItemId: null,
|
|
|
|
playerEpisodeId: null,
|
|
|
|
playerIsLocal: false,
|
|
|
|
playerIsPlaying: false,
|
2022-07-04 15:42:59 -05:00
|
|
|
playerIsFullscreen: false,
|
2022-04-17 16:59:49 -05:00
|
|
|
isCasting: false,
|
2022-04-17 18:14:45 -05:00
|
|
|
isCastAvailable: false,
|
2021-09-12 18:37:08 -05:00
|
|
|
socketConnected: false,
|
|
|
|
networkConnected: false,
|
2021-09-19 18:44:10 -05:00
|
|
|
networkConnectionType: null,
|
|
|
|
isFirstLoad: true,
|
2021-10-17 20:20:00 -05:00
|
|
|
hasStoragePermission: false,
|
2022-04-16 06:10:10 -05:00
|
|
|
selectedLibraryItem: null,
|
2021-10-28 09:37:31 -05:00
|
|
|
showReader: false,
|
2021-11-19 10:29:26 -06:00
|
|
|
showSideDrawer: false,
|
2021-12-04 19:56:29 -06:00
|
|
|
isNetworkListenerInit: false,
|
2022-05-22 14:19:13 -05:00
|
|
|
serverSettings: null,
|
2022-07-13 19:17:34 -05:00
|
|
|
lastBookshelfScrollData: {},
|
|
|
|
lastLocalMediaSyncResults: null
|
2021-09-01 20:07:11 -05:00
|
|
|
})
|
|
|
|
|
2021-09-12 18:37:08 -05:00
|
|
|
export const getters = {
|
2022-04-10 20:31:47 -05:00
|
|
|
getIsItemStreaming: state => libraryItemId => {
|
|
|
|
return state.playerLibraryItemId == libraryItemId
|
2021-09-12 18:37:08 -05:00
|
|
|
},
|
2022-04-10 20:31:47 -05:00
|
|
|
getIsEpisodeStreaming: state => (libraryItemId, episodeId) => {
|
|
|
|
return state.playerLibraryItemId == libraryItemId && state.playerEpisodeId == episodeId
|
2021-12-04 19:56:29 -06:00
|
|
|
},
|
|
|
|
getServerSetting: state => key => {
|
|
|
|
if (!state.serverSettings) return null
|
|
|
|
return state.serverSettings[key]
|
|
|
|
},
|
|
|
|
getBookCoverAspectRatio: state => {
|
2022-04-23 14:38:29 -05:00
|
|
|
if (!state.serverSettings) return 1
|
2021-12-04 19:56:29 -06:00
|
|
|
return state.serverSettings.coverAspectRatio === 0 ? 1.6 : 1
|
|
|
|
},
|
2022-07-01 20:05:11 -05:00
|
|
|
getJumpForwardTime: state => {
|
|
|
|
if (!state.deviceData || !state.deviceData.deviceSettings) return 10
|
|
|
|
return state.deviceData.deviceSettings.jumpForwardTime || 10
|
|
|
|
},
|
|
|
|
getJumpBackwardsTime: state => {
|
|
|
|
if (!state.deviceData || !state.deviceData.deviceSettings) return 10
|
|
|
|
return state.deviceData.deviceSettings.jumpBackwardsTime || 10
|
|
|
|
}
|
2021-09-12 18:37:08 -05:00
|
|
|
}
|
|
|
|
|
2021-11-21 06:54:10 -06:00
|
|
|
export const actions = {
|
2022-04-03 14:24:17 -05:00
|
|
|
// Listen for network connection
|
2021-11-21 06:54:10 -06:00
|
|
|
async setupNetworkListener({ state, commit }) {
|
|
|
|
if (state.isNetworkListenerInit) return
|
|
|
|
commit('setNetworkListenerInit', true)
|
|
|
|
|
|
|
|
var status = await Network.getStatus()
|
2022-04-03 14:24:17 -05:00
|
|
|
console.log('Network status', status)
|
2021-11-21 06:54:10 -06:00
|
|
|
commit('setNetworkStatus', status)
|
|
|
|
|
|
|
|
Network.addListener('networkStatusChange', (status) => {
|
|
|
|
console.log('Network status changed', status.connected, status.connectionType)
|
|
|
|
commit('setNetworkStatus', status)
|
|
|
|
})
|
|
|
|
}
|
|
|
|
}
|
2021-09-01 20:07:11 -05:00
|
|
|
|
|
|
|
export const mutations = {
|
2022-07-01 20:05:11 -05:00
|
|
|
setDeviceData(state, deviceData) {
|
|
|
|
state.deviceData = deviceData
|
|
|
|
},
|
2022-05-22 14:19:13 -05:00
|
|
|
setLastBookshelfScrollData(state, { scrollTop, path, name }) {
|
|
|
|
state.lastBookshelfScrollData[name] = { scrollTop, path }
|
|
|
|
},
|
2022-04-10 20:31:47 -05:00
|
|
|
setPlayerItem(state, playbackSession) {
|
|
|
|
state.playerIsLocal = playbackSession ? playbackSession.playMethod == this.$constants.PlayMethod.LOCAL : false
|
2022-04-15 20:48:39 -05:00
|
|
|
|
|
|
|
if (state.playerIsLocal) {
|
|
|
|
state.playerLibraryItemId = playbackSession ? playbackSession.localLibraryItem.id || null : null
|
|
|
|
state.playerEpisodeId = playbackSession ? playbackSession.localEpisodeId || null : null
|
|
|
|
} else {
|
|
|
|
state.playerLibraryItemId = playbackSession ? playbackSession.libraryItemId || null : null
|
|
|
|
state.playerEpisodeId = playbackSession ? playbackSession.episodeId || null : null
|
|
|
|
}
|
|
|
|
|
2022-04-17 16:59:49 -05:00
|
|
|
var mediaPlayer = playbackSession ? playbackSession.mediaPlayer : null
|
|
|
|
state.isCasting = mediaPlayer === "cast-player"
|
2022-04-10 20:31:47 -05:00
|
|
|
},
|
2022-04-17 16:59:49 -05:00
|
|
|
setMediaPlayer(state, mediaPlayer) {
|
|
|
|
state.isCasting = mediaPlayer === 'cast-player'
|
|
|
|
},
|
2022-04-17 18:14:45 -05:00
|
|
|
setCastAvailable(state, available) {
|
|
|
|
state.isCastAvailable = available
|
|
|
|
},
|
2022-04-10 20:31:47 -05:00
|
|
|
setPlayerPlaying(state, val) {
|
|
|
|
state.playerIsPlaying = val
|
|
|
|
},
|
2022-07-04 15:42:59 -05:00
|
|
|
setPlayerFullscreen(state, val) {
|
|
|
|
state.playerIsFullscreen = val
|
|
|
|
},
|
2021-09-19 18:44:10 -05:00
|
|
|
setHasStoragePermission(state, val) {
|
|
|
|
state.hasStoragePermission = val
|
|
|
|
},
|
|
|
|
setIsFirstLoad(state, val) {
|
|
|
|
state.isFirstLoad = val
|
|
|
|
},
|
2021-09-12 18:37:08 -05:00
|
|
|
setSocketConnected(state, val) {
|
|
|
|
state.socketConnected = val
|
|
|
|
},
|
2021-11-21 06:54:10 -06:00
|
|
|
setNetworkListenerInit(state, val) {
|
|
|
|
state.isNetworkListenerInit = val
|
|
|
|
},
|
2021-09-12 18:37:08 -05:00
|
|
|
setNetworkStatus(state, val) {
|
|
|
|
state.networkConnected = val.connected
|
|
|
|
state.networkConnectionType = val.connectionType
|
|
|
|
},
|
2022-04-16 06:10:10 -05:00
|
|
|
openReader(state, libraryItem) {
|
|
|
|
state.selectedLibraryItem = libraryItem
|
2021-10-17 20:20:00 -05:00
|
|
|
state.showReader = true
|
|
|
|
},
|
|
|
|
setShowReader(state, val) {
|
|
|
|
state.showReader = val
|
2021-10-28 09:37:31 -05:00
|
|
|
},
|
2021-11-14 19:59:34 -06:00
|
|
|
setShowSideDrawer(state, val) {
|
|
|
|
state.showSideDrawer = val
|
2021-11-19 10:29:26 -06:00
|
|
|
},
|
2021-12-04 19:56:29 -06:00
|
|
|
setServerSettings(state, val) {
|
|
|
|
state.serverSettings = val
|
2021-12-05 18:31:47 -06:00
|
|
|
this.$localStore.setServerSettings(state.serverSettings)
|
2022-07-13 19:17:34 -05:00
|
|
|
},
|
|
|
|
setLastLocalMediaSyncResults(state, val) {
|
|
|
|
state.lastLocalMediaSyncResults = val
|
2021-09-01 20:07:11 -05:00
|
|
|
}
|
|
|
|
}
|