workding memory of dark on the toggle
This commit is contained in:
parent
5bb6ac9d5f
commit
9e5ef69aeb
|
@ -5,39 +5,45 @@
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
$diameter: 50px;
|
$diameter: 1em;
|
||||||
|
|
||||||
.toggle-switch {
|
.toggle-dark {
|
||||||
position: relative;
|
position: relative;
|
||||||
width: $diameter * 2;
|
width: 2em;
|
||||||
}
|
display: inline-block;
|
||||||
|
top: -0.8em;
|
||||||
|
|
||||||
label {
|
label {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
height: $diameter;
|
height: $diameter * 1.0;
|
||||||
background-color: var(--primary-text-color);
|
background-color: var(--primary-text-color);
|
||||||
border-radius: $diameter / 2;
|
border-radius: $diameter / 2 * 1.2;
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
}
|
|
||||||
|
|
||||||
input {
|
input {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
display: none;
|
display: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
input:checked~.slider {
|
||||||
|
/* background-color: var(--primary-color); */
|
||||||
|
}
|
||||||
|
|
||||||
|
input:checked~.slider::before {
|
||||||
|
transform: translateX($diameter * 0.95);
|
||||||
|
background-color: var(--primary-color);
|
||||||
|
box-shadow: none;
|
||||||
|
}
|
||||||
|
|
||||||
.slider {
|
.slider {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
height: 100%;
|
height: 100%;
|
||||||
border-radius: $diameter / 2;
|
border-radius: $diameter / 2.5;
|
||||||
transition: 0.3s;
|
transition: 0.3s;
|
||||||
}
|
}
|
||||||
|
|
||||||
input:checked~.slider {
|
|
||||||
background-color: var(--primary-color);
|
|
||||||
}
|
|
||||||
|
|
||||||
.slider::before {
|
.slider::before {
|
||||||
content: "";
|
content: "";
|
||||||
position: absolute;
|
position: absolute;
|
||||||
|
@ -47,12 +53,9 @@ input:checked~.slider {
|
||||||
height: $diameter * 0.75;
|
height: $diameter * 0.75;
|
||||||
border-radius: 50%;
|
border-radius: 50%;
|
||||||
box-shadow: inset $diameter * .28 $diameter * -.04 0px 0px var(--primary-color);
|
box-shadow: inset $diameter * .28 $diameter * -.04 0px 0px var(--primary-color);
|
||||||
background-color: var(--primary-text-color);
|
background-color: var(--primary--color);
|
||||||
transition: 0.3s;
|
transition: 0.3s;
|
||||||
}
|
}
|
||||||
|
|
||||||
input:checked~.slider::before {
|
}
|
||||||
transform: translateX($diameter * 0.95);
|
|
||||||
background-color: var(--primary-text-color);
|
|
||||||
box-shadow: none;
|
|
||||||
}
|
}
|
|
@ -41,13 +41,22 @@
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
|
|
||||||
<div class='toggle-switch'>
|
<div class='toggle-dark'>
|
||||||
<label>
|
<label>
|
||||||
<input type='checkbox' _="on click or load if me.checked
|
<input type='checkbox' _="on click
|
||||||
|
log(the first <body/>) then
|
||||||
|
if me.checked
|
||||||
log('checked')
|
log('checked')
|
||||||
add .dark to the closest <body/>
|
add .dark to the closest <body/>
|
||||||
else
|
else
|
||||||
remove .dark from the closest <body/>
|
remove .dark from the closest <body/>
|
||||||
|
end
|
||||||
|
end
|
||||||
|
on load
|
||||||
|
if (the first <body/> match .dark)
|
||||||
|
log('loaded as dark') then
|
||||||
|
set me.checked to true then
|
||||||
|
log(me)
|
||||||
">
|
">
|
||||||
<span class='slider'></span>
|
<span class='slider'></span>
|
||||||
</label>
|
</label>
|
||||||
|
|
Loading…
Reference in a new issue