fix: some bug fixes

This commit is contained in:
David Ralph
2021-04-21 19:35:33 +01:00
parent 9b43063935
commit 51d0715f0f
22 changed files with 49 additions and 38 deletions

View File

@@ -1,6 +1,8 @@
export default class EventBus {
static on(event, callback) {
document.addEventListener(event, (e) => callback(e.detail));
document.addEventListener(event, (e) => {
callback(e.detail);
});
}
static dispatch(event, data) {

View File

@@ -4,17 +4,19 @@ import EventBus from './eventbus';
export default class MarketplaceFunctions {
// based on https://stackoverflow.com/questions/37684/how-to-replace-plain-urls-with-links
static urlParser (input) {
static urlParser(input) {
const urlPattern = /https?:\/\/(www\.)?[-a-zA-Z0-9@:%._+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b([-a-zA-Z0-9()!@:%_+.~#?&//=]*)/;
return input.replace(urlPattern, '<a href="$&" target="_blank">$&</a>');
}
static uninstall(name, type) {
static uninstall(type, name) {
switch (type) {
case 'settings':
const oldSettings = JSON.parse(localStorage.getItem('backup_settings'));
localStorage.clear();
oldSettings.forEach((item) => localStorage.setItem(item.name, item.value));
oldSettings.forEach((item) => {
localStorage.setItem(item.name, item.value);
});
break;
case 'quote_packs':
localStorage.removeItem('quote_packs');
@@ -52,15 +54,17 @@ export default class MarketplaceFunctions {
localStorage.removeItem('backup_settings');
let oldSettings = [];
for (const key of Object.keys(localStorage)) {
Object.keys(localStorage).forEach((key) => {
oldSettings.push({
name: key,
value: localStorage.getItem(key)
});
}
});
localStorage.setItem('backup_settings', JSON.stringify(oldSettings));
input.settings.forEach((element) => localStorage.setItem(element.name, element.value));
input.settings.forEach((element) => {
localStorage.setItem(element.name, element.value);
});
break;
case 'photos':

View File

@@ -23,10 +23,9 @@ const saveFile = (data, filename = 'file') => {
export default class SettingsFunctions {
static exportSettings() {
let settings = {};
for (const key of Object.keys(localStorage)) {
Object.keys(localStorage).forEach((key) => {
settings[key] = localStorage.getItem(key);
}
});
saveFile(settings, 'mue-settings.json');
}
@@ -160,15 +159,17 @@ export default class SettingsFunctions {
`);
}
// in a nutshell, this function saves all of the current settings, resets them, sets the defaults and then overrides
// the new settings with the old saved messages where they exist
static moveSettings() {
if (Object.keys(localStorage).length === 0) {
return this.setDefaultSettings();
}
let settings = {};
for (const key of Object.keys(localStorage)) {
Object.keys(localStorage).forEach((key) => {
settings[key] = localStorage.getItem(key);
}
});
localStorage.clear();