diff --git a/src/store.js b/src/store.js index 1dcb3ce..6273cb2 100644 --- a/src/store.js +++ b/src/store.js @@ -1,10 +1,13 @@ import { createStore } from 'vuex' +import idb from './api/idb'; + export const store = createStore({ state: { settings: { savedTr: [] }, + trs: [], search: '', }, mutations: { @@ -14,6 +17,10 @@ export const store = createStore({ remove_translation (state,abbr ) { state.settings.savedTr = state.settings.savedTr.filter(tr => tr.abbreviation !==abbr) + }, + set_settings(state, settings){ + state.settings = settings; + localStorage.setItem('settings', JSON.stringify(settings)) }, add_search(state, search){ state.search = search @@ -29,6 +36,24 @@ export const store = createStore({ add_s({commit}, sr){ commit('add_search', sr); }, + async deleteTranslation(context, tr) { + await idb.deleteCat(tr); + }, + async getTranslations(context) { + context.state.trs = []; + let trs = await idb.getTranslations(); + trs.forEach(t => { + context.state.trs.push(t); + }); + }, + async getTranslation(context, abbr) { + + let tr = await idb.getTranslation(abbr); + return tr; + }, + async saveTranslation(context, tr) { + await idb.saveCat(tr); + } } })