diff --git a/src/components/Settings.vue b/src/components/Settings.vue index 74da852..135cded 100644 --- a/src/components/Settings.vue +++ b/src/components/Settings.vue @@ -195,8 +195,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 () { @@ -210,6 +216,10 @@ export default { } } } + +function assertDataIsValid(data) { + JSON.parse(atob(data)); +}