Skip to content

Commit e77ab36

Browse files
committed
try to fix config not importing properly (#44)
1 parent b11adb7 commit e77ab36

File tree

2 files changed

+7
-4
lines changed

2 files changed

+7
-4
lines changed

src/newtab/scripts/config.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ export const getConfig = (f: ({ config }: { config: Config }) => void) => {
2020
});
2121
};
2222

23-
const deepMerge = (target: any, source: any): any => {
23+
export const deepMerge = (target: any, source: any): any => {
2424
const isObject = (obj: any) => obj && typeof obj === "object";
2525

2626
if (!isObject(target) || !isObject(source)) {

src/options/scripts/utils/import-config.ts

+6-3
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
import { Config, deepMerge, defaultConfig } from "src/newtab/scripts/config";
12
import { fillInputs } from "src/options/scripts/utils/fill-inputs";
23
import { saveConfig } from "src/options/scripts/utils/save-config";
34
import { fixAllToggleCheckboxSections } from "src/options/scripts/utils/toggle-checkbox";
@@ -16,12 +17,14 @@ export const importConfigAndSave = () => {
1617
return;
1718
}
1819

19-
const parsedData = JSON.parse(
20+
const importedConfig = JSON.parse(
2021
JSON.parse(decodeURIComponent(window.atob(dataToImport.replace(pattern, ""))))
2122
);
2223

23-
console.log("[IMPORT_DEBUG]", parsedData);
24-
fillInputs(parsedData);
24+
const mergedConfig = deepMerge(structuredClone(defaultConfig), importedConfig);
25+
26+
console.log("[IMPORT_DEBUG]", mergedConfig);
27+
fillInputs(mergedConfig);
2528
fixAllToggleCheckboxSections();
2629

2730
saveConfig();

0 commit comments

Comments
 (0)