2021-11-19 20:00:34 -06:00
|
|
|
import { Storage } from '@capacitor/storage'
|
|
|
|
|
|
|
|
class LocalStorage {
|
|
|
|
constructor(vuexStore) {
|
|
|
|
this.vuexStore = vuexStore
|
|
|
|
}
|
|
|
|
|
|
|
|
async setUserSettings(settings) {
|
|
|
|
try {
|
|
|
|
await Storage.set({ key: 'userSettings', value: JSON.stringify(settings) })
|
|
|
|
} catch (error) {
|
|
|
|
console.error('[LocalStorage] Failed to update user settings', error)
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
async getUserSettings() {
|
|
|
|
try {
|
|
|
|
var settingsObj = await Storage.get({ key: 'userSettings' }) || {}
|
|
|
|
return settingsObj.value ? JSON.parse(settingsObj.value) : null
|
|
|
|
} catch (error) {
|
|
|
|
console.error('[LocalStorage] Failed to get user settings', error)
|
|
|
|
return null
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2021-12-05 18:31:47 -06:00
|
|
|
async setServerSettings(settings) {
|
|
|
|
try {
|
|
|
|
await Storage.set({ key: 'serverSettings', value: JSON.stringify(settings) })
|
|
|
|
console.log('Saved server settings', JSON.stringify(settings))
|
|
|
|
} catch (error) {
|
|
|
|
console.error('[LocalStorage] Failed to update server settings', error)
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
async getServerSettings() {
|
|
|
|
try {
|
|
|
|
var settingsObj = await Storage.get({ key: 'serverSettings' }) || {}
|
|
|
|
return settingsObj.value ? JSON.parse(settingsObj.value) : null
|
|
|
|
} catch (error) {
|
|
|
|
console.error('[LocalStorage] Failed to get server settings', error)
|
|
|
|
return null
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2021-12-11 13:20:20 -06:00
|
|
|
async setUseChapterTrack(useChapterTrack) {
|
|
|
|
try {
|
|
|
|
await Storage.set({ key: 'useChapterTrack', value: useChapterTrack ? '1' : '0' })
|
|
|
|
} catch (error) {
|
|
|
|
console.error('[LocalStorage] Failed to set use chapter track', error)
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
async getUseChapterTrack() {
|
|
|
|
try {
|
|
|
|
var obj = await Storage.get({ key: 'useChapterTrack' }) || {}
|
|
|
|
return obj.value === '1'
|
|
|
|
} catch (error) {
|
|
|
|
console.error('[LocalStorage] Failed to get use chapter track', error)
|
|
|
|
return false
|
|
|
|
}
|
|
|
|
}
|
2022-04-08 19:05:32 -05:00
|
|
|
|
|
|
|
async setBookshelfListView(useIt) {
|
|
|
|
try {
|
|
|
|
await Storage.set({ key: 'bookshelfListView', value: useIt ? '1' : '0' })
|
|
|
|
} catch (error) {
|
|
|
|
console.error('[LocalStorage] Failed to set bookshelf list view', error)
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
async getBookshelfListView() {
|
|
|
|
try {
|
|
|
|
var obj = await Storage.get({ key: 'bookshelfListView' }) || {}
|
|
|
|
return obj.value === '1'
|
|
|
|
} catch (error) {
|
|
|
|
console.error('[LocalStorage] Failed to get bookshelf list view', error)
|
|
|
|
return false
|
|
|
|
}
|
|
|
|
}
|
2022-04-10 20:31:47 -05:00
|
|
|
|
|
|
|
async setLastLibraryId(libraryId) {
|
|
|
|
try {
|
|
|
|
await Storage.set({ key: 'lastLibraryId', value: libraryId })
|
|
|
|
console.log('[LocalStorage] Set Last Library Id', libraryId)
|
|
|
|
} catch (error) {
|
2022-06-05 16:32:28 -05:00
|
|
|
console.error('[LocalStorage] Failed to set last library id', error)
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
async removeLastLibraryId() {
|
|
|
|
try {
|
|
|
|
await Storage.remove({ key: 'lastLibraryId' })
|
|
|
|
console.log('[LocalStorage] Remove Last Library Id')
|
|
|
|
} catch (error) {
|
|
|
|
console.error('[LocalStorage] Failed to remove last library id', error)
|
2022-04-10 20:31:47 -05:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
async getLastLibraryId() {
|
|
|
|
try {
|
|
|
|
var obj = await Storage.get({ key: 'lastLibraryId' }) || {}
|
|
|
|
return obj.value || null
|
|
|
|
} catch (error) {
|
|
|
|
console.error('[LocalStorage] Failed to get last library id', error)
|
|
|
|
return false
|
|
|
|
}
|
|
|
|
}
|
2021-11-19 20:00:34 -06:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
export default ({ app, store }, inject) => {
|
|
|
|
inject('localStore', new LocalStorage(store))
|
|
|
|
}
|