diff options
Diffstat (limited to 'html')
-rw-r--r-- | html/settings.html | 47 | ||||
-rw-r--r-- | html/settings.js | 19 |
2 files changed, 29 insertions, 37 deletions
diff --git a/html/settings.html b/html/settings.html index e33f112..548a39e 100644 --- a/html/settings.html +++ b/html/settings.html @@ -35,12 +35,12 @@ #LOADCSS html/base.css #LOADCSS html/grid.css <style> - #loader, #indexeddb_error { + .full_page_msg { margin: auto; padding: 1em; max-width: 800px; } - #indexeddb_error p { + .full_page_msg p { margin-bottom: 1em; } @@ -123,10 +123,12 @@ #INCLUDE html/item_preview.html #INCLUDE html/text_entry_list.html #INCLUDE html/payload_create.html - <div id="loader"> - Loading settings page... + <div id="loader" class="full_page_msg"> + <p> + Loading settings page... + </p> </div> - <div id="indexeddb_error" class="hide"> + <div id="indexeddb_error" class="hide full_page_msg"> <p> Cannot display settings page. </p> @@ -135,30 +137,21 @@ database in which Haketilo stores all its configuration. Without it, the settings page is non-operational. <p> + </div> #IF MOZILLA - <div id="indexeddb_private_mode_explanation" class="hide"> - <p> - This issue is the result of using Haketilo in Private Browsing mode. - For privacy reasons your browser blocks access to IndexedDB in - private windows and this unfortunately also affects Haketilo's - settings page. - </p> - <p> - You can sacrifice this single privacy feature and enable IndexedDB - access in private windows by navigating to "about:config" in the URL - bar, agreeing to accept the risk and setting the - "dom.indexedDB.privateBrowsing.enabled" preference to "true". Those - pages that have their scripts blocked will still be unable to access - IndexedDB. - </p> - <p> - Alternatively, you can open Haketilo's settings in a separate, - non-private window. The configuration you make there will take - effect on pages opened in Private Browsing mode as well. - </p> - </div> -#ENDIF + <div id="private_mode_error" class="hide full_page_msg"> + <p> + The settings page could not be displayed in a private window. + </p> + <p> + Due to bug <a href="https://hydrillabugs.koszko.org/issues/115">#115</a> + it is currently impossible to access Haketilo settings when in Private + Browsing mode. You can instead open this settings page in a non-private + window. Changes you make there shall affect websites browsed in Private + Mode as well. + </p> </div> +#ENDIF <div id="main_view" class="hide"> <ul id="tab_heads"> <li id="blocking_head"> Blocking </li> diff --git a/html/settings.js b/html/settings.js index e258fcb..87c1095 100644 --- a/html/settings.js +++ b/html/settings.js @@ -134,24 +134,23 @@ function set_up_settings_view() { set_up_repos_tab(); } +async function init_settings_page() { #IF MOZILLA -async function show_indexeddb_error() { const this_tab = await browser.tabs.getCurrent(); - if (this_tab.incognito) - by_id("indexeddb_private_mode_explanation").classList.remove("hide"); -#ELSE -function show_indexeddb_error() { + + if (this_tab.incognito) { + by_id("private_mode_error").classList.remove("hide"); + by_id("loader").remove(); + return; + } #ENDIF - by_id("loader").remove(); - by_id("indexeddb_error").classList.remove("hide"); -} -async function init_settings_page() { try { await haketilodb.get(); } catch(e) { console.error("Haketilo:", e); - show_indexeddb_error(); + by_id("indexeddb_error").classList.remove("hide"); + by_id("loader").remove(); return; } |