import idb from '../api/idb'; import getbible from '../api/getbible_v2_api'; export default { async add({commit}, payload){ // payload = { // abbreviation: '', // saved_translations:{ // name: 'saved_translation', // putObj: {} // } // } commit('toggle_loading', true) const response = await getbible.get_translation(payload.abbreviation).catch(err => console.log(err)) // console.log(response); if(!response) return; const data = await response.json().catch(err => console.log(err)) // console.log(JSON.parse(data)); if(!data) return; let dataString = JSON.stringify(data) let savet = JSON.stringify(payload.saved_translations.putObj) // console.log(dataString); payload.translation = { name: 'translations', putObj: JSON.parse(dataString), } payload.saved_translations.putObj = JSON.parse(savet) let success = false //save translation in indexdb success = await idb.save(payload.translation).catch(err => console.log(err)); if(!success) return; // then save the newly added translation details to the list of saved tr...s success = await idb.save(payload.saved_translations).catch(err => console.log(err)); if(!success) return; commit('add_translation', payload); commit('toggle_loading', false) }, async remove({commit}, payload){ // payload example // payload = { // translation:{ // name: 'translation', // keyPath: 'aksjv' // }, // saved_translations:{ // name: 'saved_translation', // keyPath: "askjv" // } // } commit('toggle_loading', true) const {translation, saved_translations} = payload let success = false //save translation in indexdb success = await idb.delete(translation).catch(err => console.log(err)); if(!success) return; // then save the newly added translation details to the list of saved tr...s success = await idb.delete(saved_translations).catch(err => console.log(err)); if(!success) return; commit('REMOVE_TRANSLATION', payload); setTimeout(()=>{ commit('toggle_loading', false) }, 1200) }, async initialise({commit}){ commit('toggle_loading', true) let saved_translations = await idb.getAll('saved_translations').catch(err => console.log(err)); if(!saved_translations) saved_translations = []; let translations = await idb.getAll('translations').catch(err => console.log(err)); if(!translations || !translations.length) translations = [{}]; commit('initialise', {saved_translations, translation: translations[0]}) commit('toggle_loading', false) }, set_chapter({commit}, payload) { commit('set_chapter', payload) }, set_book({commit}, payload) { commit('set_book', payload) }, async set_translation({commit}, payload){ commit('toggle_loading', true) let translation = await idb.get('translations', payload.selected_translation).catch(err => console.log(err)); if(!translation) return; payload.translation = translation commit('set_translation', payload) // console.log("from acitons", payload); setTimeout(()=>{ commit('toggle_loading', false) }, 2500) } }