1
Fork 0

Compare commits

..

2 Commits

2 changed files with 11 additions and 4 deletions

View File

@ -42,5 +42,5 @@ function generateReplacements(elements: HTMLElement[]): Record<string, string> {
} }
function usernameFromElement(element: HTMLElement): string { function usernameFromElement(element: HTMLElement): string {
return (element.textContent ?? "<unknown>").trim(); return (element.textContent ?? "<unknown>").trim().toLowerCase();
} }

View File

@ -6,6 +6,7 @@ import {
isValidHexColor, isValidHexColor,
isValidTildesUsername, isValidTildesUsername,
} from "../../utilities/exports.js"; } from "../../utilities/exports.js";
import {migrations} from "../../storage/migrations/migrations.js";
import {type SettingProps, Setting} from "./index.js"; import {type SettingProps, Setting} from "./index.js";
async function importFileHandler(event: Event): Promise<void> { async function importFileHandler(event: Event): Promise<void> {
@ -20,11 +21,11 @@ async function importFileHandler(event: Event): Promise<void> {
const reader = new window.FileReader(); const reader = new window.FileReader();
reader.addEventListener("load", async (): Promise<void> => { reader.addEventListener("load", async (): Promise<void> => {
let data: unknown; let data: Record<string, any>;
try { try {
// eslint-disable-next-line @typescript-eslint/no-base-to-string // eslint-disable-next-line @typescript-eslint/no-base-to-string
data = JSON.parse(reader.result!.toString()); data = JSON.parse(reader.result!.toString()) as Record<string, any>;
} catch (error: unknown) { } catch (error: unknown) {
log(error, true); log(error, true);
return; return;
@ -35,7 +36,13 @@ async function importFileHandler(event: Event): Promise<void> {
return; return;
} }
await browser.storage.sync.set(data); // eslint-disable-next-line unicorn/prefer-ternary
if (data.version === "1.1.2") {
await migrations[0].migrate(data);
} else {
await browser.storage.sync.set(data);
}
log("Successfully imported your settings, reloading the page to apply."); log("Successfully imported your settings, reloading the page to apply.");
setTimeout(() => { setTimeout(() => {
window.location.reload(); window.location.reload();