Fixed: Settings import function (#1234)

This commit is contained in:
nobody 2022-12-04 12:26:55 +01:00
parent c149ab0fff
commit 2a0b03ac51
No known key found for this signature in database
GPG Key ID: 8F6DE3D614FCFD7A
2 changed files with 17 additions and 25 deletions

View File

@ -120,12 +120,21 @@ storageManager.startImportFilePicker = function () {
};
storageManager.handleImportFilePicker = function () {
return new Promise((resolve) => {
let file = document.getElementById('import-file-picker').files[0];
storageManager._readFile(file)
.then(storageManager._validation);
resolve();
});
let file, reader;
file = document.getElementById('import-file-picker').files[0];
reader = new FileReader();
reader.readAsText(file, 'UTF-8');
reader.onload = (ev) => {
let content = ev.target.result;
try {
storageManager._validation(JSON.parse(content));
} catch (err) {
console.error(`[ LocalCDN ] ${err}`);
alert(err);
}
};
};
@ -143,27 +152,9 @@ storageManager._handleStorageChanged = function (type) {
}
};
storageManager._readFile = function (file) {
return new Promise((resolve, reject) => {
let reader = new FileReader();
reader.onload = () => {
resolve(reader.result);
};
reader.onerror = reject;
reader.readAsText(file);
});
};
storageManager._validation = function (content) {
let imported = {};
try {
JSON.parse(content);
} catch (err) {
console.error(`[ LocalCDN ] ${err}`);
alert(err);
}
// Delete old keys
if (content.whitelistedDomains !== undefined) {
content.allowlistedDomains = content.whitelistedDomains;

View File

@ -25,8 +25,9 @@
<h2>New in LocalCDN:</h2>
</div>
<div class="release-notes-area">
<p></p>
<p>Fixed</p>
<ul>
<li>Settings import function (<a href="https://codeberg.org/nobody/LocalCDN/issues/1234">#1234</a>)</li>
</ul>
</div>
<div id="generator-section">