Add: UI for schemeSwitcher
This commit is contained in:
parent
f99ac66d53
commit
16e3888050
|
@ -950,6 +950,18 @@
|
||||||
"optionsAdvancedNewStyleAsUsercss": {
|
"optionsAdvancedNewStyleAsUsercss": {
|
||||||
"message": "Write new style as usercss"
|
"message": "Write new style as usercss"
|
||||||
},
|
},
|
||||||
|
"optionsAdvancedAutoSwitchScheme": {
|
||||||
|
"message": "Toggle Light/Dark Mode styles automatically"
|
||||||
|
},
|
||||||
|
"optionsAdvancedAutoSwitchSchemeNever": {
|
||||||
|
"message": "Never"
|
||||||
|
},
|
||||||
|
"optionsAdvancedAutoSwitchSchemeBySystem": {
|
||||||
|
"message": "By system preference"
|
||||||
|
},
|
||||||
|
"optionsAdvancedAutoSwitchSchemeByTime": {
|
||||||
|
"message": "By night time:"
|
||||||
|
},
|
||||||
"optionsBadgeDisabled": {
|
"optionsBadgeDisabled": {
|
||||||
"message": "Background color when disabled"
|
"message": "Background color when disabled"
|
||||||
},
|
},
|
||||||
|
|
|
@ -462,7 +462,6 @@ function setupLivePrefs(
|
||||||
oldValue = input.checked;
|
oldValue = input.checked;
|
||||||
// FIXME: use == because we use number value in iconset
|
// FIXME: use == because we use number value in iconset
|
||||||
newValue = input.checked = value == input.value;
|
newValue = input.checked = value == input.value;
|
||||||
console.log(value, input.value);
|
|
||||||
} else if (input.type === 'checkbox') {
|
} else if (input.type === 'checkbox') {
|
||||||
oldValue = input.checked;
|
oldValue = input.checked;
|
||||||
newValue = input.checked = value;
|
newValue = input.checked = value;
|
||||||
|
|
28
options.html
28
options.html
|
@ -41,7 +41,7 @@
|
||||||
<label>
|
<label>
|
||||||
<span i18n-text="optionsIconDark"></span>
|
<span i18n-text="optionsIconDark"></span>
|
||||||
<div class="iconset">
|
<div class="iconset">
|
||||||
<input type="radio" name="iconset">
|
<input type="radio" name="iconset" value="0">
|
||||||
<img src="/images/icon/16.png">
|
<img src="/images/icon/16.png">
|
||||||
<img src="/images/icon/16w.png">
|
<img src="/images/icon/16w.png">
|
||||||
<img src="/images/icon/16x.png">
|
<img src="/images/icon/16x.png">
|
||||||
|
@ -50,7 +50,7 @@
|
||||||
<label>
|
<label>
|
||||||
<span i18n-text="optionsIconLight"></span>
|
<span i18n-text="optionsIconLight"></span>
|
||||||
<div class="iconset">
|
<div class="iconset">
|
||||||
<input type="radio" name="iconset">
|
<input type="radio" name="iconset" value="1">
|
||||||
<img src="/images/icon/light/16.png">
|
<img src="/images/icon/light/16.png">
|
||||||
<img src="/images/icon/light/16w.png">
|
<img src="/images/icon/light/16w.png">
|
||||||
<img src="/images/icon/light/16x.png">
|
<img src="/images/icon/light/16x.png">
|
||||||
|
@ -153,7 +153,7 @@
|
||||||
</h1>
|
</h1>
|
||||||
</div>
|
</div>
|
||||||
<div class="items">
|
<div class="items">
|
||||||
<label>
|
<label class="option-item">
|
||||||
<span i18n-text="optionsAdvancedExposeIframes">
|
<span i18n-text="optionsAdvancedExposeIframes">
|
||||||
<a data-cmd="note"
|
<a data-cmd="note"
|
||||||
i18n-title="optionsAdvancedExposeIframesNote"
|
i18n-title="optionsAdvancedExposeIframesNote"
|
||||||
|
@ -168,13 +168,33 @@
|
||||||
<span></span>
|
<span></span>
|
||||||
</span>
|
</span>
|
||||||
</label>
|
</label>
|
||||||
<label class="chromium-only">
|
<label class="chromium-only option-item">
|
||||||
<span i18n-text="optionsAdvancedContextDelete"></span>
|
<span i18n-text="optionsAdvancedContextDelete"></span>
|
||||||
<span class="onoffswitch">
|
<span class="onoffswitch">
|
||||||
<input type="checkbox" id="editor.contextDelete" class="slider">
|
<input type="checkbox" id="editor.contextDelete" class="slider">
|
||||||
<span></span>
|
<span></span>
|
||||||
</span>
|
</span>
|
||||||
</label>
|
</label>
|
||||||
|
<div class="radio-group option-item">
|
||||||
|
<span i18n-text="optionsAdvancedAutoSwitchScheme" class="radio-group-label"></span>
|
||||||
|
<label class="radio-group-item">
|
||||||
|
<input type="radio" value="never" name="schemeSwitcher.enabled" class="radio">
|
||||||
|
<span i18n-text="optionsAdvancedAutoSwitchSchemeNever"></span>
|
||||||
|
</label>
|
||||||
|
<label class="radio-group-item">
|
||||||
|
<input type="radio" value="system" name="schemeSwitcher.enabled" class="radio">
|
||||||
|
<span i18n-text="optionsAdvancedAutoSwitchSchemeBySystem"></span>
|
||||||
|
</label>
|
||||||
|
<label class="radio-group-item">
|
||||||
|
<input type="radio" value="time" name="schemeSwitcher.enabled" class="radio">
|
||||||
|
<span>
|
||||||
|
<span i18n-text="optionsAdvancedAutoSwitchSchemeByTime"></span>
|
||||||
|
<input type="text" pattern="\d{2}:\d{2}" required id="schemeSwitcher.nightStart" class="input-sm">
|
||||||
|
~
|
||||||
|
<input type="text" pattern="\d{2}:\d{2}" required id="schemeSwitcher.nightEnd" class="input-sm">
|
||||||
|
</span>
|
||||||
|
</label>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
|
@ -117,7 +117,8 @@ input[type=number] {
|
||||||
text-align: right;
|
text-align: right;
|
||||||
}
|
}
|
||||||
|
|
||||||
input[type=number]:invalid {
|
input[type=number]:invalid,
|
||||||
|
input[type=text]:invalid {
|
||||||
background-color: rgba(255, 0, 0, 0.1);
|
background-color: rgba(255, 0, 0, 0.1);
|
||||||
color: darkred;
|
color: darkred;
|
||||||
}
|
}
|
||||||
|
@ -297,6 +298,44 @@ html:not(.firefox):not(.opera) #updates {
|
||||||
background-color: transparent;
|
background-color: transparent;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* radio group */
|
||||||
|
.radio-group-item {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
min-height: 1.5em;
|
||||||
|
}
|
||||||
|
.radio-group-item > input {
|
||||||
|
margin: 0 8px 0 0;
|
||||||
|
flex-grow: 0;
|
||||||
|
}
|
||||||
|
.radio-group-label {
|
||||||
|
display: block;
|
||||||
|
margin: 0 0 .3em;
|
||||||
|
}
|
||||||
|
|
||||||
|
.input-sm {
|
||||||
|
width: 3em;
|
||||||
|
}
|
||||||
|
|
||||||
|
.option-item {
|
||||||
|
margin: .25ex 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* pixel perfect radio */
|
||||||
|
input[type="radio"].radio::after {
|
||||||
|
position: absolute;
|
||||||
|
top: -1px;
|
||||||
|
right: -1px;
|
||||||
|
bottom: -1px;
|
||||||
|
left: -1px;
|
||||||
|
height: auto;
|
||||||
|
width: auto;
|
||||||
|
transform: scale(0);
|
||||||
|
}
|
||||||
|
input[type="radio"].radio:checked::after {
|
||||||
|
transform: scale(.65);
|
||||||
|
}
|
||||||
|
|
||||||
@keyframes fadeinout {
|
@keyframes fadeinout {
|
||||||
0% { opacity: 0 }
|
0% { opacity: 0 }
|
||||||
10% { opacity: 1 }
|
10% { opacity: 1 }
|
||||||
|
|
Loading…
Reference in New Issue
Block a user