From 1e90fd80e2e8e66ae04943e42354b289edd5b8b9 Mon Sep 17 00:00:00 2001 From: Jack Date: Fri, 29 Oct 2021 22:00:13 +0100 Subject: [PATCH] showing popup with config if copying to clipboard failed. part of #2044 --- gulpfile.js | 2 +- src/js/global-dependencies.js | 1 - ...s-popup.js => import-export-settings-popup.js} | 15 ++++++++++----- src/js/settings.js | 10 ++++++---- 4 files changed, 17 insertions(+), 11 deletions(-) rename src/js/popups/{import-settings-popup.js => import-export-settings-popup.js} (79%) diff --git a/gulpfile.js b/gulpfile.js index 66adfec3c..e8719ec83 100644 --- a/gulpfile.js +++ b/gulpfile.js @@ -147,7 +147,7 @@ const refactoredSrc = [ "./src/js/popups/edit-tags-popup.js", "./src/js/popups/edit-preset-popup.js", "./src/js/popups/custom-theme-popup.js", - "./src/js/popups/import-settings-popup.js", + "./src/js/popups/import-export-settings-popup.js", "./src/js/popups/custom-background-filter.js", "./src/js/settings/language-picker.js", diff --git a/src/js/global-dependencies.js b/src/js/global-dependencies.js index 6ea8f10ad..7b29f5bb8 100644 --- a/src/js/global-dependencies.js +++ b/src/js/global-dependencies.js @@ -18,7 +18,6 @@ import "./caps-warning"; import "./support-popup"; import "./version-popup"; import "./custom-theme-popup"; -import "./import-settings-popup"; import "./input-controller"; import "./ready"; import "./about-page"; diff --git a/src/js/popups/import-settings-popup.js b/src/js/popups/import-export-settings-popup.js similarity index 79% rename from src/js/popups/import-settings-popup.js rename to src/js/popups/import-export-settings-popup.js index 989bf58c5..ba1fe8976 100644 --- a/src/js/popups/import-settings-popup.js +++ b/src/js/popups/import-export-settings-popup.js @@ -2,8 +2,17 @@ import * as UpdateConfig from "./config"; import * as Settings from "./settings"; import * as Notifications from "./notifications"; -function show() { +export function show(mode, config) { if ($("#settingsImportWrapper").hasClass("hidden")) { + $("#settingsImportWrapper").attr("mode", mode); + + if (mode === "export") { + $("#settingsImportWrapper .button").addClass("hidden"); + $("#settingsImportWrapper input").val(config); + } else if (mode === "import") { + $("#settingsImportWrapper .button").removeClass("hidden"); + } + $("#settingsImportWrapper") .stop(true, true) .css("opacity", 0) @@ -39,10 +48,6 @@ function hide() { } } -$("#importSettingsButton").click((e) => { - show(); -}); - $("#settingsImport .button").click((e) => { hide(); }); diff --git a/src/js/settings.js b/src/js/settings.js index 184494ee6..0e60b5afe 100644 --- a/src/js/settings.js +++ b/src/js/settings.js @@ -13,6 +13,7 @@ import * as SimplePopups from "./simple-popups"; import * as EditTagsPopup from "./edit-tags-popup"; import * as EditPresetPopup from "./edit-preset-popup"; import * as ThemePicker from "./theme-picker"; +import * as ImportExportSettingsPopup from "./import-export-settings-popup"; export let groups = {}; async function initGroups() { @@ -732,6 +733,10 @@ $("#resetSettingsButton").click((e) => { SimplePopups.list.resetSettings.show(); }); +$("#importSettingsButton").click((e) => { + ImportExportSettingsPopup.show("import"); +}); + $("#exportSettingsButton").click((e) => { let configJSON = JSON.stringify(Config); navigator.clipboard.writeText(configJSON).then( @@ -739,10 +744,7 @@ $("#exportSettingsButton").click((e) => { Notifications.add("JSON Copied to clipboard", 0); }, function (err) { - Notifications.add( - "Something went wrong when copying the settings JSON: " + err, - -1 - ); + ImportExportSettingsPopup.show("export"); } ); });