mirror of
				https://github.com/privacyguides/privacyguides.org.git
				synced 2025-10-31 19:46:34 +00:00 
			
		
		
		
	| @@ -44,4 +44,5 @@ | ||||
|  | ||||
|   <!-- CSS stylesheets --> | ||||
|   <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> | ||||
|   | ||||
| @@ -143,6 +143,9 @@ | ||||
|         <a href="/donate/" class="nav-anchor"> | ||||
|           Donate <span class="fas fa-heart text-danger"></span> | ||||
|         </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> | ||||
|   </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; | ||||
| } | ||||
|  | ||||
| .no-text-wrap { | ||||
|   white-space: nowrap; | ||||
| } | ||||
|  | ||||
| footer { | ||||
|   img, | ||||
|   i { | ||||
| @@ -184,6 +188,7 @@ footer { | ||||
|   } | ||||
| } | ||||
|  | ||||
|  | ||||
| /* | ||||
|  * Navbar | ||||
|  */ | ||||
| @@ -272,8 +277,15 @@ input#nav-toggle, | ||||
|   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) { | ||||
|   .menu, | ||||
| @@ -336,8 +348,10 @@ input#nav-toggle, | ||||
|   } | ||||
| } | ||||
|  | ||||
| .no-text-wrap { | ||||
|   white-space: nowrap; | ||||
| .nav-theme-icon:before { | ||||
|   color: var(--warning); | ||||
|   font-size: 0.875em; | ||||
|   content: "\f186"; | ||||
| } | ||||
|  | ||||
| .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 | ||||
| var _paq = window._paq || []; | ||||
| /* tracker methods like "setCustomDimension" should be called before "trackPageView" */ | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Dawid Potocki
					Dawid Potocki