diff --git a/src/components/Settings.vue b/src/components/Settings.vue index 0af4f28..c2b1f61 100644 --- a/src/components/Settings.vue +++ b/src/components/Settings.vue @@ -221,8 +221,14 @@ export default { methods: { LoadData: function () { if (this.DataToLoad !== '') { - this.$store.commit('SetSerializedState', this.DataToLoad) - alert('Data Loaded!') + try { + assertDataIsValid(this.DataToLoad); + this.$store.commit('SetSerializedState', this.DataToLoad) + alert('Data Loaded!') + } catch (err) { + console.error('Invalid data string'); + alert('Error loading data.') + } } }, ConfirmDelete: function () { @@ -236,6 +242,10 @@ export default { } } } + +function assertDataIsValid(data) { + JSON.parse(atob(data)); +}