mirror of
https://github.com/privacyguides/privacyguides.org.git
synced 2024-12-20 13:24:35 -05:00
parent
09e1d85933
commit
f09d6c3165
@ -44,4 +44,5 @@
|
|||||||
|
|
||||||
<!-- CSS stylesheets -->
|
<!-- CSS stylesheets -->
|
||||||
<link href="/assets/css/style.css?v=5" rel="stylesheet">
|
<link href="/assets/css/style.css?v=5" rel="stylesheet">
|
||||||
|
<link id="dark-css" href="/assets/css/dark.css?v=1" rel="stylesheet" media="(prefers-color-scheme: dark)">
|
||||||
</head>
|
</head>
|
||||||
|
@ -143,6 +143,9 @@
|
|||||||
<a href="/donate/" class="nav-anchor">
|
<a href="/donate/" class="nav-anchor">
|
||||||
Donate <span class="fas fa-heart text-danger"></span>
|
Donate <span class="fas fa-heart text-danger"></span>
|
||||||
</a>
|
</a>
|
||||||
|
<a id="nav-switch-theme" class="nav-anchor" href="javascript:void(0)" onClick="changeColorScheme()">
|
||||||
|
Theme <span class="nav-theme-icon fas"></span>
|
||||||
|
</a>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</nav>
|
</nav>
|
||||||
|
174
assets/css/dark.scss
Normal file
174
assets/css/dark.scss
Normal file
@ -0,0 +1,174 @@
|
|||||||
|
---
|
||||||
|
---
|
||||||
|
$dark-400: #181b21;
|
||||||
|
$dark-300: #22262e;
|
||||||
|
$dark-200: #343a46;
|
||||||
|
$dark-100: #464f60;
|
||||||
|
$light: #d8d8d8;
|
||||||
|
$primary: #345e8e;
|
||||||
|
$danger: #b63f4a;
|
||||||
|
$secondary: $dark-100;
|
||||||
|
$success: #2c7f40;
|
||||||
|
$warning: #c6a339;
|
||||||
|
$info: #218899;
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* HTML
|
||||||
|
*/
|
||||||
|
|
||||||
|
body {
|
||||||
|
background: $dark-400;
|
||||||
|
color: $light;
|
||||||
|
}
|
||||||
|
a {
|
||||||
|
color: lighten($primary, 25%);
|
||||||
|
}
|
||||||
|
a:hover {
|
||||||
|
color: lighten($primary, 10%);
|
||||||
|
}
|
||||||
|
img {
|
||||||
|
filter: saturate(80%);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Bootstrap
|
||||||
|
*/
|
||||||
|
|
||||||
|
.alert a {
|
||||||
|
color: #214D97;
|
||||||
|
}
|
||||||
|
|
||||||
|
.bg-secondary, .btn-secondary, .badge-secondary { background-color: $secondary !important; }
|
||||||
|
.btn-secondary, .card-secondary .card-header { border-color: $secondary !important; }
|
||||||
|
.text-secondary { color: $secondary !important; }
|
||||||
|
.alert-secondary, .btn-secondary:hover {
|
||||||
|
color: $light;
|
||||||
|
background-color: darken($secondary, 10%);
|
||||||
|
border-color: darken($secondary, 10%);
|
||||||
|
}
|
||||||
|
|
||||||
|
.bg-primary, .btn-primary, .badge-primary { background-color: $primary !important; }
|
||||||
|
.btn-primary, .card-primary .card-header { border-color: $primary !important; }
|
||||||
|
.text-primary { color: $primary !important; }
|
||||||
|
.alert-primary, .btn-primary:hover {
|
||||||
|
color: $light;
|
||||||
|
background-color: darken($primary, 10%);
|
||||||
|
border-color: darken($primary, 10%);
|
||||||
|
}
|
||||||
|
|
||||||
|
.bg-warning, .btn-warning, .badge-warning { background-color: $warning !important; }
|
||||||
|
.btn-warning, .card-warning .card-header { border-color: $warning !important; }
|
||||||
|
.text-warning { color: $warning !important; }
|
||||||
|
.card-warning > .text-dark { color: $dark-400 !important; }
|
||||||
|
.alert-warning, .btn-warning:hover {
|
||||||
|
color: $light;
|
||||||
|
background-color: darken($warning, 10%);
|
||||||
|
border-color: darken($warning, 10%);
|
||||||
|
}
|
||||||
|
|
||||||
|
.bg-info, .btn-info, .badge-info { background-color: $info !important; }
|
||||||
|
.btn-info, .card-info .card-header { border-color: $info !important; }
|
||||||
|
.text-info { color: $info !important; }
|
||||||
|
.alert-info, .btn-info:hover {
|
||||||
|
color: $light;
|
||||||
|
background-color: darken($info, 10%);
|
||||||
|
border-color: darken($info, 10%);
|
||||||
|
}
|
||||||
|
|
||||||
|
.bg-success, .btn-success, .badge-success { background-color: $success !important; }
|
||||||
|
.btn-success, .card-success .card-header { border-color: $success !important; }
|
||||||
|
.text-success { color: $success !important; }
|
||||||
|
.alert-success, .btn-success {
|
||||||
|
color: $light;
|
||||||
|
background-color: darken($success, 10%);
|
||||||
|
border-color: darken($success, 10%);
|
||||||
|
}
|
||||||
|
|
||||||
|
.bg-danger, .btn-danger, .badge-danger { background-color: $danger !important; }
|
||||||
|
.btn-danger, .card-danger .card-header { border-color: $danger !important; }
|
||||||
|
.text-danger { color: $danger !important; }
|
||||||
|
.alert-danger, .btn-danger:hover {
|
||||||
|
color: $light;
|
||||||
|
background-color: darken($danger, 10%);
|
||||||
|
border-color: darken($danger, 10%);
|
||||||
|
}
|
||||||
|
|
||||||
|
.card {
|
||||||
|
box-shadow: none !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.dropdown-item:hover {
|
||||||
|
color: $light;
|
||||||
|
background-color: $dark-300;
|
||||||
|
}
|
||||||
|
|
||||||
|
.form-control,
|
||||||
|
.form-control:focus {
|
||||||
|
color: $light;
|
||||||
|
background: $dark-300;
|
||||||
|
border-color: $dark-300;
|
||||||
|
}
|
||||||
|
|
||||||
|
.card,
|
||||||
|
.jumbotron,
|
||||||
|
.list-group-item {
|
||||||
|
background: $dark-300;
|
||||||
|
}
|
||||||
|
|
||||||
|
.blockquote {
|
||||||
|
border-color: $dark-300;
|
||||||
|
}
|
||||||
|
|
||||||
|
.bg-dark {
|
||||||
|
background-color: $dark-300 !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.dropdown-item {
|
||||||
|
color: $light;
|
||||||
|
}
|
||||||
|
|
||||||
|
.list-group-item {
|
||||||
|
border-color: $dark-200;
|
||||||
|
}
|
||||||
|
|
||||||
|
.text-dark {
|
||||||
|
color: $light !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
table[data-sortable].sortable-theme-bootstrap {
|
||||||
|
color: $light;
|
||||||
|
background-color: $dark-300;
|
||||||
|
}
|
||||||
|
table[data-sortable].sortable-theme-bootstrap th,
|
||||||
|
table[data-sortable].sortable-theme-bootstrap td {
|
||||||
|
border-color: $dark-100 !important;
|
||||||
|
}
|
||||||
|
table[data-sortable].sortable-theme-bootstrap th[data-sorted="true"] {
|
||||||
|
color: $light;
|
||||||
|
background: $dark-200;
|
||||||
|
}
|
||||||
|
table[data-sortable].sortable-theme-bootstrap th[data-sorted="true"][data-sorted-direction="ascending"]::after, {
|
||||||
|
border-bottom-color: $light;
|
||||||
|
}
|
||||||
|
table[data-sortable].sortable-theme-bootstrap th[data-sorted="true"][data-sorted-direction="descending"]::after {
|
||||||
|
border-top-color: $light;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Other
|
||||||
|
*/
|
||||||
|
|
||||||
|
.nav-dropdown {
|
||||||
|
color: $light;
|
||||||
|
background-color: $dark-400;
|
||||||
|
border-color: $dark-300;
|
||||||
|
}
|
||||||
|
|
||||||
|
.nav-theme-icon:before {
|
||||||
|
color: $warning;
|
||||||
|
font-size: 1em;
|
||||||
|
content: "\f185";
|
||||||
|
}
|
@ -177,6 +177,10 @@ h2, h3:not(.h5), h4, h5 {
|
|||||||
text-align: justify;
|
text-align: justify;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.no-text-wrap {
|
||||||
|
white-space: nowrap;
|
||||||
|
}
|
||||||
|
|
||||||
footer {
|
footer {
|
||||||
img,
|
img,
|
||||||
i {
|
i {
|
||||||
@ -184,6 +188,7 @@ footer {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Navbar
|
* Navbar
|
||||||
*/
|
*/
|
||||||
@ -272,8 +277,15 @@ input#nav-toggle,
|
|||||||
display: none;
|
display: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#nav-switch-theme {
|
||||||
|
/* We will make it visible with JavaScript
|
||||||
|
* as it does not work without it */
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
|
||||||
/* Mobile hamburger menu */
|
/*
|
||||||
|
* Mobile hamburger menu
|
||||||
|
*/
|
||||||
|
|
||||||
@media only screen and (max-width: 992px) {
|
@media only screen and (max-width: 992px) {
|
||||||
.menu,
|
.menu,
|
||||||
@ -336,8 +348,10 @@ input#nav-toggle,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.no-text-wrap {
|
.nav-theme-icon:before {
|
||||||
white-space: nowrap;
|
color: var(--warning);
|
||||||
|
font-size: 0.875em;
|
||||||
|
content: "\f186";
|
||||||
}
|
}
|
||||||
|
|
||||||
.table td, .table th {
|
.table td, .table th {
|
||||||
|
@ -27,6 +27,47 @@ function navSectionsClose(event) {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// Dark/Light color scheme switch button
|
||||||
|
document.querySelector("#nav-switch-theme").style.display = "inline"
|
||||||
|
|
||||||
|
if (localStorage.getItem("colorScheme") === "dark") {
|
||||||
|
document.querySelector("#dark-css").removeAttribute("media"); // Set dark theme
|
||||||
|
}
|
||||||
|
else if (localStorage.getItem("colorScheme") === "light") {
|
||||||
|
document.querySelector("#dark-css").setAttribute("media", "invalid"); // Set light theme
|
||||||
|
}
|
||||||
|
|
||||||
|
function changeColorScheme() {
|
||||||
|
|
||||||
|
// Use whatever users want
|
||||||
|
if (localStorage.getItem("colorScheme") === "dark") {
|
||||||
|
// Change to light theme
|
||||||
|
// by setting invalid media it will just not apply CSS for anyone
|
||||||
|
document.querySelector("#dark-css").setAttribute("media", "invalid");
|
||||||
|
localStorage.setItem("colorScheme", "light");
|
||||||
|
}
|
||||||
|
else if (localStorage.getItem("colorScheme") === "light") {
|
||||||
|
// Change to dark theme
|
||||||
|
// media was set to prefers-color-scheme: dark
|
||||||
|
document.querySelector("#dark-css").removeAttribute("media");
|
||||||
|
localStorage.setItem("colorScheme", "dark");;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Just use whatever browsers want
|
||||||
|
else if (window.matchMedia("(prefers-color-scheme: dark)").matches === true) {
|
||||||
|
// Change to light Theme
|
||||||
|
document.querySelector("#dark-css").setAttribute("media", "invalid");
|
||||||
|
localStorage.setItem("colorScheme", "light");
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
// Change to dark theme
|
||||||
|
document.querySelector("#dark-css").removeAttribute("media");
|
||||||
|
localStorage.setItem("colorScheme", "dark");;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
// Matomo
|
// Matomo
|
||||||
var _paq = window._paq || [];
|
var _paq = window._paq || [];
|
||||||
/* tracker methods like "setCustomDimension" should be called before "trackPageView" */
|
/* tracker methods like "setCustomDimension" should be called before "trackPageView" */
|
||||||
|
Loading…
Reference in New Issue
Block a user