diff --git a/CHANGES.md b/CHANGES.md index 83fbafe..6056d6b 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -1,6 +1,7 @@ ## CHANGES v1.3.8 +- UI: Native files: Support asking permission when doing a full reload of a local file. - Library: Add WrModal UI element to simplify modal creation. - Library: UI: Add confirmation for page-deletion and multi page deletion when in editing mode (currently only used in ArchiveWeb.page) - Fidelity: Fixes for youtube and vimeo replay fidelity diff --git a/src/loader.js b/src/loader.js index 3a1f28d..d21fa9d 100644 --- a/src/loader.js +++ b/src/loader.js @@ -22,6 +22,8 @@ class Loader extends LitElement this.totalSize = 0; this.tryFileHandle = !!window.showOpenFilePicker; + + this.fileHandle = null; } static get properties() { @@ -60,8 +62,12 @@ class Loader extends LitElement if (event.data.error) { this.error = event.data.error; this.state = "errored"; + this.fileHandle = event.data.fileHandle; if (this.error === "missing_local_file") { this.tryFileHandle = false; + } else if (this.error === "permission_needed" && event.data.fileHandle) { + this.state = "permission_needed"; + break; } } if (event.data.currentSize && event.data.totalSize) { @@ -281,12 +287,27 @@ You can select a file to upload from the main page by clicking the \'Choose File Back`} `; + case "permission_needed": + return html` +