Fifth pass to re-design the dashboard

Related commits:
- 99b2a0a761
- a8e3118fea
- 453f5450b6
- a45a21f337

Fine tuned previous work.

Started the use of variable-based color values.
This commit is contained in:
Raymond Hill 2020-04-11 11:32:43 -04:00
parent 1d1f4ce0b9
commit 0662767dd6
No known key found for this signature in database
GPG Key ID: 25E1490B761470C2
21 changed files with 161 additions and 117 deletions

View File

@ -8,6 +8,7 @@
<link rel="stylesheet" href="lib/codemirror/lib/codemirror.css">
<link rel="stylesheet" href="lib/codemirror/addon/search/matchesonscrollbar.css">
<link rel="stylesheet" type="text/css" href="css/themes/default.css">
<link rel="stylesheet" href="css/common.css">
<link rel="stylesheet" href="css/fa-icons.css">
<link rel="stylesheet" href="css/dashboard-common.css">

View File

@ -4,6 +4,7 @@
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1">
<title>uBlock — Filter lists</title>
<link rel="stylesheet" type="text/css" href="css/themes/default.css">
<link rel="stylesheet" type="text/css" href="css/common.css">
<link rel="stylesheet" type="text/css" href="css/fa-icons.css">
<link rel="stylesheet" type="text/css" href="css/dashboard-common.css">
@ -24,9 +25,9 @@
<div>
<div class="li"><label><input type="checkbox" id="autoUpdate"><span data-i18n="3pAutoUpdatePrompt1"></span></label></div>
<div class="li"><label><input type="checkbox" id="parseCosmeticFilters"><span data-i18n="3pParseAllABPHideFiltersPrompt1"></span></label>&ensp;<span class="fa-icon info" data-i18n-title="3pParseAllABPHideFiltersInfo">question-circle</span>
<div class="li"><label><input type="checkbox" id="parseCosmeticFilters"><span><span data-i18n="3pParseAllABPHideFiltersPrompt1"></span>&nbsp;<span class="fa-icon info" data-i18n-title="3pParseAllABPHideFiltersInfo">question-circle</span></span></label>
</div>
<div class="li"><label><input type="checkbox" id="ignoreGenericCosmeticFilters"><span data-i18n="3pIgnoreGenericCosmeticFilters"></span></label>&ensp;<span class="fa-icon info" data-i18n-title="3pIgnoreGenericCosmeticFiltersInfo">question-circle</span>
<div class="li"><label><input type="checkbox" id="ignoreGenericCosmeticFilters"><span><span data-i18n="3pIgnoreGenericCosmeticFilters"></span>&nbsp;<span class="fa-icon info" data-i18n-title="3pIgnoreGenericCosmeticFiltersInfo">question-circle</span></span></label>
</div>
</div>
@ -40,11 +41,11 @@
<div id="templates" style="display: none;">
<div class="groupEntry">
<span class="geDetails"><span class="geName"></span> <span class="geCount dim"></span></span>
<div class="geDetails"><span class="geName"></span> <span class="geCount dim"></span></div>
<div class="listEntries"></div>
</div>
<div class="li listEntry">
<label><input type="checkbox"><span class="listname"></span>&nbsp;</label><!--
<label><input type="checkbox"><span><span class="listname forinput"></span> <span class="iconbar"><!--
--><a class="fa-icon content" href="" type="text/plain" target="_blank" data-i18n-title="3pViewContent">eye-open</a><!--
--><a class="fa-icon support" href="" target="_blank">home</a><!--
--><span class="fa-icon remove" href="">trash-o</span><!--
@ -53,11 +54,11 @@
--><span class="fa-icon status obsolete" data-i18n-title="3pExternalListObsolete">exclamation-triangle</span><!--
--><span class="fa-icon status cache">clock-o</span><!--
--><span class="fa-icon status updating" data-i18n-title="3pUpdating">spinner</span><!--
--><span class="fa-icon status failed" data-i18n-title="3pNetworkError">unlink</span><!--
--><span class="counts dim"></span>
--><span class="fa-icon status failed" data-i18n-title="3pNetworkError">unlink</span></span><!--
--><span class="counts"></span></span></label>
</div>
<div class="listEntry toImport"><label><input type="checkbox" id="importLists"><span data-i18n="3pImport"></span></label>&ensp;<!--
--><a class="fa-icon info towiki" href="https://github.com/gorhill/uBlock/wiki/Filter-lists-from-around-the-web" target="_blank">info-circle</a><!--
<div class="listEntry toImport"><label><input type="checkbox" id="importLists"><span><span class="forinput" data-i18n="3pImport"></span> <a class="fa-icon info towiki" href="https://github.com/gorhill/uBlock/wiki/Filter-lists-from-around-the-web" target="_blank">info-circle</a></span></label><!--
--><!--
--><textarea id="externalLists" dir="ltr" spellcheck="false" placeholder="3pExternalListsHint"></textarea>
</div>
</div>

View File

@ -4,6 +4,7 @@
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>uBlock — About</title>
<link rel="stylesheet" type="text/css" href="css/themes/default.css">
<link rel="stylesheet" type="text/css" href="css/common.css">
<link rel="stylesheet" type="text/css" href="css/dashboard-common.css">
<link rel="stylesheet" type="text/css" href="css/about.css">
@ -31,10 +32,10 @@
</div>
<div class="li"><span data-i18n="aboutDependencies"></span></div>
<div class="liul">
<div class="li"><a href="https://github.com/bestiejs/punycode.js" target="_blank">Punycode.js</a> by <a href="https://github.com/mathiasbynens">Mathias Bynens</a></div>
<div class="li"><a href="https://fontawesome.com/" target="_blank">Font Awesome</a> by <a href="https://github.com/davegandy">Dave Gandy</a></div>
<div class="li"><a href="https://codemirror.net/" target="_blank">CodeMirror</a> by <a href="https://github.com/marijnh">Marijn Haverbeke</a></div>
<div class="li"><a href="https://github.com/Swatinem/diff" target="_blank">An implementation of Myers' diff algorithm</a> by <a href="https://github.com/Swatinem">Arpad Borsos</a></div>
<div class="li"><span><a href="https://github.com/bestiejs/punycode.js" target="_blank">Punycode.js</a> by <a href="https://github.com/mathiasbynens">Mathias Bynens</a></span></div>
<div class="li"><span><a href="https://fontawesome.com/" target="_blank">Font Awesome</a> by <a href="https://github.com/davegandy">Dave Gandy</a></span></div>
<div class="li"><span><a href="https://codemirror.net/" target="_blank">CodeMirror</a> by <a href="https://github.com/marijnh">Marijn Haverbeke</a></span></div>
<div class="li"><span><a href="https://github.com/Swatinem/diff" target="_blank">An implementation of Myers' diff algorithm</a> by <a href="https://github.com/Swatinem">Arpad Borsos</a></span></div>
</div>
</div>

View File

@ -7,6 +7,7 @@
<link rel="stylesheet" href="lib/codemirror/lib/codemirror.css">
<link rel="stylesheet" type="text/css" href="css/themes/default.css">
<link rel="stylesheet" type="text/css" href="css/common.css">
<link rel="stylesheet" type="text/css" href="css/dashboard-common.css">
<link rel="stylesheet" type="text/css" href="css/advanced-settings.css">

View File

@ -6,6 +6,7 @@
<title data-i18n="assetViewerPageName"></title>
<link rel="stylesheet" href="lib/codemirror/lib/codemirror.css">
<link rel="stylesheet" href="lib/codemirror/addon/search/matchesonscrollbar.css">
<link rel="stylesheet" type="text/css" href="css/themes/default.css">
<link rel="stylesheet" href="css/common.css">
<link rel="stylesheet" href="css/fa-icons.css">
<link rel="stylesheet" href="css/codemirror.css">

View File

@ -2,14 +2,8 @@
0% { transform: rotate(0deg); }
100% { transform: rotate(360deg); }
}
body {
border: 0;
font: 14px/1.5 sans-serif;
margin: 0;
padding: 0;
}
.root {
background-color: white;
background-color: var(--bg-0);
overflow: auto;
padding: 0.5em 0;
}
@ -31,7 +25,7 @@ body.updating #buttonUpdate .fa-icon svg {
}
#listsOfBlockedHostsPrompt::before,
.groupEntry:not([data-groupkey="user"]) .geDetails::before {
color: #888;
color: var(--fg-0-50);
content: '\2212';
font-family: monospace;
font-size: large;
@ -56,12 +50,8 @@ body.hideUnused #listsOfBlockedHostsPrompt::before,
pointer-events: none;
}
.listEntries {
margin-inline-start: 0.7em;
-webkit-margin-start: 0.7em;
}
.listEntry {
margin: 0.5em 0;
white-space: nowrap;
margin-inline-start: 0.6em;
-webkit-margin-start: 0.6em;
}
.groupEntry:not([data-groupkey="user"]) .listEntry.unused {
display: none;
@ -71,6 +61,9 @@ body.hideUnused #listsOfBlockedHostsPrompt::before,
margin-right: 0;
unicode-bidi: embed;
}
.listEntry .listname {
white-space: nowrap;
}
.listEntry.toRemove input[type="checkbox"] {
visibility: hidden;
}
@ -80,11 +73,11 @@ body.hideUnused #listsOfBlockedHostsPrompt::before,
.listEntry .fa,
.listEntry .fa-icon,
.listEntry .counts {
color: #888;
color: var(--fg-0-50);
display: none;
fill: #888;
fill: var(--fg-0-50);
font-size: 110%;
margin: 0 0.25em;
margin: 0 0.2em 0 0;
}
.listEntry .fa:hover,
.listEntry .fa-icon:hover {
@ -100,28 +93,33 @@ body.hideUnused #listsOfBlockedHostsPrompt::before,
.listEntry.support > a.support {
display: inline-flex;
}
.listEntry .remove {
color: hsla(0, 100%, 27%, 0.5);
.listEntry .remove,
.listEntry .unsecure,
.listEntry .failed {
color: var(--fg-icon-info-lvl-4-dimmed);
cursor: pointer;
fill: hsla(0, 100%, 27%, 0.5);
fill: var(--fg-icon-info-lvl-4-dimmed);
}
.listEntry .remove:hover {
color: hsla(0, 100%, 27%, 1);
fill: hsla(0, 100%, 27%, 1);
.listEntry .remove:hover,
.listEntry .unsecure:hover,
.listEntry .failed:hover {
color: var(--fg-icon-info-lvl-4);
fill: var(--fg-icon-info-lvl-4);
}
.listEntry.external .remove {
display: inline-flex;
}
.listEntry.mustread a.mustread {
color: hsla(240, 100%, 40%, 0.5);
color: var(--fg-icon-info-lvl-1-dimmed);
display: inline-flex;
fill: hsla(240, 100%, 40%, 0.5);
fill: var(--fg-icon-info-lvl-1-dimmed);
}
.listEntry.mustread a.mustread:hover {
color: hsla(240, 100%, 40%, 1);
fill: hsla(240, 100%, 40%, 1);
color: var(--fg-icon-info-lvl-1);
fill: var(--fg-icon-info-lvl-1);
}
.listEntry .counts {
color: var(--fg-0-60);
font-size: smaller;
}
.listEntry.checked .counts {
@ -137,25 +135,9 @@ body.hideUnused #listsOfBlockedHostsPrompt::before,
.listEntry .status:hover {
color: inherit;
}
.listEntry .unsecure {
color: hsla(0, 100%, 27%, 0.5);
fill: hsla(0, 100%, 27%, 0.5);
}
.listEntry .unsecure:hover {
color: hsla(0, 100%, 27%, 1);
fill: hsla(0, 100%, 27%, 1);
}
.listEntry.checked.unsecure .unsecure {
display: inline-flex;
}
.listEntry .failed {
color: hsla(0, 100%, 27%, 0.5);
fill: hsla(0, 100%, 27%, 0.5);
}
.listEntry .failed:hover {
color: hsla(0, 100%, 27%, 1);
fill: hsla(0, 100%, 27%, 1);
}
.listEntry.failed .failed {
display: inline-flex;
}
@ -166,12 +148,12 @@ body.hideUnused #listsOfBlockedHostsPrompt::before,
display: inline-flex;
}
.listEntry .obsolete {
color: hsla(36, 100%, 40%, 0.5);
fill: hsla(36, 100%, 40%, 0.5);
color: var(--fg-icon-info-lvl-2-dimmed);
fill: var(--fg-icon-info-lvl-2-dimmed);
}
.listEntry .obsolete:hover {
color: hsla(36, 100%, 40%, 1);
fill: hsla(36, 100%, 40%, 1);
color: var(--fg-icon-info-lvl-2);
fill: var(--fg-icon-info-lvl-2);
}
body:not(.updating) .listEntry.checked.obsolete .obsolete {
display: inline-flex;
@ -203,4 +185,20 @@ body.updating .listEntry.checked.obsolete .updating {
body {
font: 16px/1.5 sans-serif;
}
.listEntries {
margin-inline-start: 0;
-webkit-margin-start: 0;
}
.li.listEntry {
background-color: var(--bg-dashboard-nav);
}
.li.listEntry label > span {
flex-grow: 1;
padding-inline-start: 0.3em;
}
.li.listEntry .listname,
.li.listEntry .iconbar,
.li.listEntry.checked .counts {
display: block;
}
}

View File

@ -15,9 +15,14 @@
-webkit-user-select: none;
}
body {
background-color: white;
color: black;
background-color: var(--bg-0);
border: 0;
box-sizing: border-box;
color: var(--fg-0);
fill: var(--fg-0);
font: 14px/1.5 sans-serif;
margin: 0;
padding: 0;
}
code {
background-color: #eee;
@ -31,7 +36,8 @@ button.custom {
align-items: flex-end;
border: 1px solid transparent;
border-radius: 3px;
background-color: #e6e6e6;
background-color: var(--bg-button);
color: var(--fg-button)
display: inline-flex;
padding: 0.6em 1em;
-moz-appearance: none;
@ -50,8 +56,8 @@ button.custom.disabled,
button.custom[disabled],
button.custom.important.disabled,
button.custom.important[disabled] {
background-color: #eee;
color: #888;
background-color: var(--bg-button-disabled);
color: var(--fg-button-disabled);
pointer-events: none;
}
button.custom.iconifiable > .fa,
@ -72,6 +78,11 @@ label {
align-items: center;
display: inline-flex;
}
@media (pointer: coarse) {
label {
flex-grow: 1
}
}
input[type="checkbox"] {
margin: 0;
margin-inline-start: 0.4em;
@ -123,7 +134,7 @@ input[type="checkbox"] {
color: #000;
fill: #000;
opacity: 0.25;
stroke: #888;
stroke: var(--fg-button-disabled);
pointer-events: none;
}
.ubo-icon > svg {

View File

@ -1,11 +1,3 @@
body {
background-color: #fff;
box-sizing: border-box;
color: #20123a;
fill: #20123a;
margin: 0;
padding: 0;
}
body > div.body {
padding: 0 0.5em;
}
@ -29,8 +21,8 @@ a {
}
.fa.info,
.fa-icon.info {
color: #888;
fill: #888;
color: var(--fg-icon-info-lvl-0-dimmed);
fill: var(--fg-icon-info-lvl-0-dimmed);
font-size: 110%;
}
.fa.info:hover,
@ -40,11 +32,11 @@ a {
}
.fa.info.important,
.fa-icon.info.important {
color: #ffa280;
color: var(--fg-icon-info-lvl-3-dimmed);
}
.fa.info.important:hover,
.fa-icon.info.important:hover {
color: orangered;
color: var(--fg-icon-info-lvl-3);
}
button {
padding: 0.33em;

View File

@ -9,9 +9,9 @@ html, body {
width: 100%;
}
#dashboard-nav {
background-color: #f9f9fb;
background-color: var(--bg-dashboard-nav);
border: 0;
border-bottom: 1px solid rgba(14, 13, 26, 0.12);
border-bottom: 1px solid var(--dashboard-nav-border);
display: flex;
flex-wrap: wrap;
overflow-x: hidden;
@ -32,7 +32,9 @@ html, body {
}
.tabButton {
border: 0;
border-bottom: 3px solid #f9f9fb;
border-bottom: 3px solid var(--bg-dashboard-nav);
color: var(--fg-dashboard-nav-off);
fill: var(--fg-dashboard-nav-off);
cursor: pointer;
padding: 0.5em 1.4em 0.3em 1.4em;
text-decoration: none;
@ -42,8 +44,9 @@ html, body {
outline: 0;
}
.tabButton.selected {
border-bottom: 3px solid #592acb;
color: #592acb;
border-bottom: 3px solid var(--fg-dashboard-nav-on);
color: var(--fg-dashboard-nav-on);
fill: var(--fg-dashboard-nav-on);
}
iframe {
background-color: transparent;

View File

@ -8,6 +8,7 @@
padding: 0.1em;
position: relative;
user-select: none;
vertical-align: text-bottom;
-webkit-user-select: none;
}
.fa-icon > * {
@ -17,9 +18,9 @@
.disabled > .fa-icon,
.fa-icon[disabled],
[disabled] > .fa-icon {
color: #888;
fill: #888;
stroke: #888;
color: var(--fg-button-disabled);
fill: var(--fg-button-disabled);
stroke: var(--fg-button-disabled);
pointer-events: none;
}
.fa-icon > .fa-icon-badge,

View File

@ -1,12 +1,6 @@
body {
border: 0;
font: 14px/1.5 sans-serif;
margin: 0;
padding: 0;
}
hr {
border: 0;
border-top: 1px solid #ccc;
border-top: 1px solid var(--fg-hline-1);
margin: 1.5em 0;
}
.body {

View File

@ -0,0 +1,30 @@
:root {
--bg-0: #fff;
--fg-0: hsla(261, 53%, 15%, 1);
--fg-0-60: hsla(261, 53%, 15%, 0.6);
--fg-0-50: hsla(261, 53%, 15%, 0.5);
--fg-hline-1: #ccc;
--bg-button: #e6e6e6;
--fg-button: var(--fg-0);
--bg-button-disabled: #eee;
--fg-button-disabled: #888;
--bg-dashboard-nav: #f9f9fb;
--fg-dashboard-nav-off: var(--fg-0);
--fg-dashboard-nav-on: #592acb;
--dashboard-nav-border: rgba(14, 13, 26, 0.12);
--fg-icon-info-lvl-0-dimmed: #888;
--fg-icon-info-lvl-0: inherit;
--fg-icon-info-lvl-1-dimmed: hsla(240, 100%, 40%, 0.5);
--fg-icon-info-lvl-1: hsla(240, 100%, 40%, 1);
--fg-icon-info-lvl-2-dimmed: hsla(36, 100%, 40%, 0.5);
--fg-icon-info-lvl-2: hsla(36, 100%, 40%, 1);
--fg-icon-info-lvl-3-dimmed: hsla(16, 100%, 50%, 0.5);
--fg-icon-info-lvl-3: hsla(16, 100%, 50%, 1);
--fg-icon-info-lvl-4-dimmed: hsla(0, 100%, 40%, 0.5);
--fg-icon-info-lvl-4: hsla(0, 100%, 40%, 1);
}

View File

@ -4,6 +4,7 @@
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1">
<title data-i18n="dashboardName"></title>
<link href="css/themes/default.css" rel="stylesheet" type="text/css">
<link href="css/common.css" rel="stylesheet" type="text/css">
<link href="css/dashboard.css" rel="stylesheet" type="text/css">
<link rel="shortcut icon" type="image/png" href="img/icon_16.png"/>

View File

@ -4,6 +4,7 @@
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1 user-scalable=yes">
<title></title>
<link rel="stylesheet" type="text/css" href="css/themes/default.css">
<link rel="stylesheet" href="css/common.css" type="text/css">
<link rel="stylesheet" href="css/fa-icons.css" type="text/css">
<link rel="stylesheet" type="text/css" href="css/document-blocked.css">

View File

@ -7,6 +7,7 @@
<link rel="stylesheet" type="text/css" href="lib/codemirror/lib/codemirror.css">
<link rel="stylesheet" type="text/css" href="lib/codemirror/addon/merge/merge.css">
<link rel="stylesheet" type="text/css" href="css/themes/default.css">
<link rel="stylesheet" type="text/css" href="css/common.css">
<link rel="stylesheet" type="text/css" href="css/fa-icons.css">
<link rel="stylesheet" type="text/css" href="css/dashboard-common.css">

View File

@ -394,22 +394,19 @@ const onFilteringSettingsChanged = function() {
/******************************************************************************/
const onRemoveExternalList = function() {
const liEntry = uDom(this).ancestors('[data-listkey]');
const listKey = liEntry.attr('data-listkey');
if ( listKey ) {
liEntry.toggleClass('toRemove');
renderWidgets();
}
const onRemoveExternalList = function(ev) {
const liEntry = ev.target.closest('[data-listkey]');
if ( liEntry === null ) { return; }
liEntry.classList.toggle('toRemove');
renderWidgets();
};
/******************************************************************************/
const onPurgeClicked = function(ev) {
const button = uDom(ev.target);
const liEntry = button.ancestors('[data-listkey]');
const listKey = liEntry.attr('data-listkey');
if ( !listKey ) { return; }
const liEntry = ev.target.closest('[data-listkey]');
const listKey = liEntry.getAttribute('data-listkey') || '';
if ( listKey === '' ) { return; }
messaging.send('dashboard', {
what: 'purgeCache',
@ -421,10 +418,10 @@ const onPurgeClicked = function(ev) {
// https://github.com/gorhill/uBlock/issues/1733
// An external filter list must not be marked as obsolete, they will
// always be fetched anyways if there is no cached copy.
liEntry.addClass('obsolete');
liEntry.removeClass('cached');
liEntry.classList.add('obsolete');
liEntry.classList.remove('cached');
if ( liEntry.descendants('input').first().prop('checked') ) {
if ( liEntry.querySelector('input[type="checkbox"]').checked ) {
renderWidgets();
}
};
@ -674,6 +671,11 @@ uDom('#lists').on('click', '.listEntry .remove', onRemoveExternalList);
uDom('#lists').on('click', 'span.cache', onPurgeClicked);
uDom('#externalLists').on('input', onFilteringSettingsChanged);
uDom('#lists').on('click', '.listEntry label *', ev => {
if ( ev.target.matches('a,input,.forinput') ) { return; }
ev.preventDefault();
});
/******************************************************************************/
renderFilterLists();

View File

@ -3,6 +3,7 @@
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=560, initial-scale=1">
<link rel="stylesheet" type="text/css" href="css/themes/default.css">
<link rel="stylesheet" type="text/css" href="css/common.css">
<link rel="stylesheet" href="css/fa-icons.css" type="text/css">
<link rel="stylesheet" type="text/css" href="css/logger-ui.css">

View File

@ -4,6 +4,7 @@
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" type="text/css" href="css/themes/default.css">
<link rel="stylesheet" href="css/common.css" type="text/css">
<link rel="stylesheet" href="css/fa-icons.css" type="text/css">
<link rel="stylesheet" href="css/popup-fenix.css" type="text/css">

View File

@ -4,6 +4,7 @@
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" type="text/css" href="css/themes/default.css">
<link rel="stylesheet" href="css/common.css" type="text/css">
<link rel="stylesheet" href="css/fa-icons.css" type="text/css">
<link rel="stylesheet" href="css/popup.css" type="text/css">

View File

@ -4,6 +4,7 @@
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1">
<title>uBlock — Settings</title>
<link rel="stylesheet" type="text/css" href="css/themes/default.css">
<link rel="stylesheet" type="text/css" href="css/common.css">
<link rel="stylesheet" type="text/css" href="css/fa-icons.css">
<link rel="stylesheet" type="text/css" href="css/dashboard-common.css">
@ -18,23 +19,23 @@
<div class="li"><label><input type="checkbox" data-setting-name="contextMenuEnabled" data-setting-type="bool"><span data-i18n="settingsContextMenuPrompt"></span></label></div>
<div class="li"><label><input type="checkbox" data-setting-name="tooltipsDisabled" data-setting-type="bool"><span data-i18n="settingsTooltipsPrompt"><span></label></div>
<div class="li"><label><input type="checkbox" data-setting-name="colorBlindFriendly" data-setting-type="bool"><span data-i18n="settingsColorBlindPrompt"></span></label></div>
<div class="li"><label><input type="checkbox" data-setting-name="cloudStorageEnabled" data-setting-type="bool"><span data-i18n="settingsCloudStorageEnabledPrompt"></span></label>&ensp;<a class="fa-icon info" href="https://github.com/gorhill/uBlock/wiki/Cloud-storage" target="_blank">info-circle</a></div>
<div class="li"><label><input type="checkbox" data-setting-name="advancedUserEnabled" data-setting-type="bool"><span data-i18n="settingsAdvancedUserPrompt"></span></label>&ensp;<a class="fa-icon info" href="advanced-settings.html" data-i18n-title="settingsAdvancedUserSettings">cogs</a></div>
<div class="li"><label><input type="checkbox" data-setting-name="cloudStorageEnabled" data-setting-type="bool"><span><span data-i18n="settingsCloudStorageEnabledPrompt"></span>&nbsp;<a class="fa-icon info" href="https://github.com/gorhill/uBlock/wiki/Cloud-storage" target="_blank">info-circle</a></span></label></div>
<div class="li"><label><input type="checkbox" data-setting-name="advancedUserEnabled" data-setting-type="bool"><span><span data-i18n="settingsAdvancedUserPrompt"></span>&nbsp;<a class="fa-icon info" href="advanced-settings.html" data-i18n-title="settingsAdvancedUserSettings">cogs</a></span></label></div>
</div>
<div class="section" data-i18n="3pGroupPrivacy"></div>
<div class="ul">
<div class="li"><label><input type="checkbox" data-setting-name="prefetchingDisabled" data-setting-type="bool"><span data-i18n="settingsPrefetchingDisabledPrompt"></span></label>&ensp;<a class="fa-icon info" href="https://github.com/gorhill/uBlock/wiki/Dashboard:-Settings#disable-pre-fetching" target="_blank">info-circle</a></div>
<div class="li"><label><input type="checkbox" data-setting-name="hyperlinkAuditingDisabled" data-setting-type="bool"><span data-i18n="settingsHyperlinkAuditingDisabledPrompt"></span></label>&ensp;<a class="fa-icon info important" href="https://github.com/gorhill/uBlock/wiki/Dashboard:-Settings#disable-hyperlink-auditing" target="_blank">info-circle</a></div>
<div class="li"><label><input type="checkbox" data-setting-name="webrtcIPAddressHidden" data-setting-type="bool"><span data-i18n="settingsWebRTCIPAddressHiddenPrompt"></span></label>&ensp;<a class="fa-icon info important" href="https://github.com/gorhill/uBlock/wiki/Prevent-WebRTC-from-leaking-local-IP-address" target="_blank">info-circle</a></div>
<div class="li"><label><input type="checkbox" data-setting-name="noCSPReports" data-setting-type="bool"><span data-i18n="settingsNoCSPReportsPrompt"></span></label>&ensp;<a class="fa-icon info" href="https://github.com/gorhill/uBlock/wiki/Dashboard:-Settings#block-csp-reports" target="_blank">info-circle</a></div>
<div class="li"><label><input type="checkbox" data-setting-name="prefetchingDisabled" data-setting-type="bool"><span><span data-i18n="settingsPrefetchingDisabledPrompt"></span>&nbsp;<a class="fa-icon info" href="https://github.com/gorhill/uBlock/wiki/Dashboard:-Settings#disable-pre-fetching" target="_blank">info-circle</a></span></label></div>
<div class="li"><label><input type="checkbox" data-setting-name="hyperlinkAuditingDisabled" data-setting-type="bool"><span><span data-i18n="settingsHyperlinkAuditingDisabledPrompt"></span>&nbsp;<a class="fa-icon info important" href="https://github.com/gorhill/uBlock/wiki/Dashboard:-Settings#disable-hyperlink-auditing" target="_blank">info-circle</a></span></label></div>
<div class="li"><label><input type="checkbox" data-setting-name="webrtcIPAddressHidden" data-setting-type="bool"><span><span data-i18n="settingsWebRTCIPAddressHiddenPrompt"></span>&nbsp;<a class="fa-icon info important" href="https://github.com/gorhill/uBlock/wiki/Prevent-WebRTC-from-leaking-local-IP-address" target="_blank">info-circle</a></span></label></div>
<div class="li"><label><input type="checkbox" data-setting-name="noCSPReports" data-setting-type="bool"><span><span data-i18n="settingsNoCSPReportsPrompt"></span>&nbsp;<a class="fa-icon info" href="https://github.com/gorhill/uBlock/wiki/Dashboard:-Settings#block-csp-reports" target="_blank">info-circle</a></span></label></div>
</div>
<div class="section" data-i18n="settingPerSiteSwitchGroup"></div>
<div class="ul">
<div class="li synopsis"><span data-i18n="settingPerSiteSwitchGroupSynopsis"></span>&ensp;<a class="fa-icon info" href="https://github.com/gorhill/uBlock/wiki/Per-site-switches" target="_blank">info-circle</a></div>
<div class="li"><label><input type="checkbox" data-setting-name="noCosmeticFiltering" data-setting-type="bool"><span data-i18n="settingsNoCosmeticFilteringPrompt"></span></label>&ensp;<a class="fa-icon info" href="https://github.com/gorhill/uBlock/wiki/Per-site-switches#no-cosmetic-filtering" target="_blank">info-circle</a></div>
<div class="li"><label><input type="checkbox" data-setting-name="noLargeMedia" data-setting-type="bool"><span data-i18n="settingsNoLargeMediaPrompt"><input type="number" min="0"></span></label>&ensp;<a class="fa-icon info" href="https://github.com/gorhill/uBlock/wiki/Per-site-switches#no-large-media-elements" target="_blank">info-circle</a></div>
<div class="li"><label><input type="checkbox" data-setting-name="noRemoteFonts" data-setting-type="bool"><span data-i18n="settingsNoRemoteFontsPrompt"></span></label>&ensp;<a class="fa-icon info" href="https://github.com/gorhill/uBlock/wiki/Per-site-switches#no-remote-fonts" target="_blank">info-circle</a></div>
<div class="li"><label><input type="checkbox" data-setting-name="noScripting" data-setting-type="bool"><span data-i18n="settingsNoScriptingPrompt"></span></label>&ensp;<a class="fa-icon info" href="https://github.com/gorhill/uBlock/wiki/Per-site-switches#no-scripting" target="_blank">info-circle</a></div>
<div class="li synopsis"><span><span data-i18n="settingPerSiteSwitchGroupSynopsis"></span>&nbsp;<a class="fa-icon info" href="https://github.com/gorhill/uBlock/wiki/Per-site-switches" target="_blank">info-circle</a></span></div>
<div class="li"><label><input type="checkbox" data-setting-name="noCosmeticFiltering" data-setting-type="bool"><span><span data-i18n="settingsNoCosmeticFilteringPrompt"></span>&nbsp;<a class="fa-icon info" href="https://github.com/gorhill/uBlock/wiki/Per-site-switches#no-cosmetic-filtering" target="_blank">info-circle</a></span></label></div>
<div class="li"><label><input type="checkbox" data-setting-name="noLargeMedia" data-setting-type="bool"><span><span data-i18n="settingsNoLargeMediaPrompt"><input type="number" min="0"></span>&nbsp;<a class="fa-icon info" href="https://github.com/gorhill/uBlock/wiki/Per-site-switches#no-large-media-elements" target="_blank">info-circle</a></span></label></div>
<div class="li"><label><input type="checkbox" data-setting-name="noRemoteFonts" data-setting-type="bool"><span><span data-i18n="settingsNoRemoteFontsPrompt"></span>&nbsp;<a class="fa-icon info" href="https://github.com/gorhill/uBlock/wiki/Per-site-switches#no-remote-fonts" target="_blank">info-circle</a></span></label></div>
<div class="li"><label><input type="checkbox" data-setting-name="noScripting" data-setting-type="bool"><span><span data-i18n="settingsNoScriptingPrompt"></span>&nbsp;<a class="fa-icon info" href="https://github.com/gorhill/uBlock/wiki/Per-site-switches#no-scripting" target="_blank">info-circle</a></span></label></div>
</div>
<div id="localData" class="ul">

View File

@ -8,6 +8,7 @@
<link rel="stylesheet" href="lib/codemirror/lib/codemirror.css">
<link rel="stylesheet" href="lib/codemirror/addon/search/matchesonscrollbar.css">
<link rel="stylesheet" type="text/css" href="css/themes/default.css">
<link rel="stylesheet" href="css/common.css">
<link rel="stylesheet" href="css/fa-icons.css">
<link rel="stylesheet" href="css/dashboard-common.css">