@phenomlab Yeah, I’m not quite sure what I’m missing here. Anyways, here’s what I’ve done so far.
- Placed CSS in ACP > Appearance > Custom Content > Custom CSS
body {
background-color: var(--body) !important;
}
/*----------------------------------------------------------------------------*/
/*---------------------- Themes Switcher -----------------------*/
/*----------------------------------------------------------------------------*/
/* Works with CUSTOM JS */
/* DON'T DELETE - DON'T MOVE */
/* -- */
/* Fonctionne avec du CUSTOM JS */
/* NE PAS SUPPRIMER - NE PAS DEPLACER */
/*Desktop*/
/*Allows to have the "Theme Switcher" icon in black after a mouse click and during the dropdown */
/*Permet d'avoir l'icone du "Theme Switcher" en noir après un clic souris et lors du dropdown */
[aria-expanded="true"] a #ticon {
color: #000000;
}
/*Theme Switcher icon color via CUSTOM JAVASCRIPT */
/* Blank without mouse over */
/*Couleur de l'icone du Theme Switcher via le CUSTOM JAVASCRIPT */
/* Blanc sans mouse over*/
.themeon {
color: #ffffff !important;
}
/*Black with mouseover*/
/*Noir avec mouse over*/
.themeoff {
color: #000000 !important;
}
/*Smartphone*/
@media all and (max-width: 1024px) {
/*BUGFIX: Placement of the "Theme Switcher" */
/*BUGFIX: Placement du "Theme Switcher" */
#switcher {
list-style: none;
margin-left: -80px;
padding-top: 15px;
}
/*BUGFIX: Space between the icon and the text "Theme Switcher" */
/*BUGFIX: Espace entre l'icone et le texte "Theme Switcher" */
#switcher .fa-fw {
text-align: center;
width: 1.25em;
padding-right: 25px;
}
/* DON'T DELETE - DON'T MOVE */
/*Allows to have the "Theme Switcher" icon in white after a mouse click and during the dropdown */
/* NE PAS SUPPRIMER - NE PAS DEPLACER */
/*Permet d'avoir l'icone du "Theme Switcher" en blanc après un clic souris et lors du dropdown */
[aria-expanded="true"] a #ticon {
color: #ffffff;
}
/*Theme Switcher icon color via CUSTOM JAVASCRIPT */
/* Blank without mouse over */
/*Couleur de l'icone du Theme Switcher via le CUSTOM JAVASCRIPT */
/* Blanc sans mouse over*/
.themeoff {
color: #ffffff !important;
}
}
/*FIREFOX BUGFIX: Remove dotted border from icon when clicked */
/*BUGFIX FIREFOX: Suppression de la bordure pointillée de l'icône quand on clique dessus */
/*Desktop*/
a:focus {
outline: 0;
}
/*Smartphone*/
@media all and (max-width: 1024px) {
a:focus {
outline: 0;
}
}
/* Desktop */
/*Button Position */
/*Position du Bouton */
.header #theme_dropdown {
/*padding: 9px 15px;*/
padding: 9px 15px;
padding-top: 9px;
padding-bottom: 9px;
margin-top: -4px;
padding-top: 15px;
padding-bottom: 14px;
}
/* ---- Appearance of the "Theme Switcher" icon in the navbar via Font Awesome (!!Change the CSS class also in the JS!!) ----*/
/*Ampule*/
/* ---- Apparence de l'icône du "Theme Switcher" dans la navbar via Font Awesome (!!Changer la class CSS aussi dans le JS!!) ----*/
/*Ampoule*/
.fa.fa-lightbulb-o:before {
content: "\f0eb";
}
/*Navbar height to play with background height */
/*Hauteur navbar pour jouer avec la hauteur du background */
.navbar-default {
height: 51px;
}
/*Spacing between "Search" and "Notifications" icons */
/*Espacement entre les icônes "Recherche" et "Notifications" */
#switcher {
margin-top: 4px;
}
/*We remove the background on the icon */
/*On supprime le background sur l'icone */
#switcher .btn-link:hover {
background: none !important;
}
/*Background color on mouseover (Default Theme) */
/*Couleur du background au survol souris (Default Theme) */
.navbar-default .navbar-nav>li>label:hover {
background: #eeeeee;
}
/*Appearance of selection menu */
/*Apparence du menu de sélection */
#theme.dropdown-menu {
position: absolute;
top: 44px;
right: 0px;
z-index: 1000;
float: left;
min-width: 160px;
padding: 5px 0;
margin: 2px 0 0;
list-style: none;
font-size: 14px;
text-align: left;
background-clip: padding-box;
}
/* Smartphone */
/*Appearance of button and drop-down menu on Smartphone */
/*Apparence du bouton et du menu déroulant sur Smartphone */
@media all and (max-width: 1024px) {
/*Dropdown menu text color */
/*Couleur du texte du menu déroulant */
#theme.dropdown-menu>li>a {
display: block;
padding: 3px 20px;
clear: both;
font-weight: 400;
line-height: 1.42857143;
color: #fff;
white-space: nowrap;
background: #3A3C41;
}
/*Appearance and position of button and drop-down menu */
/*Apparence et position du bouton et du menu déroulant */
#theme.dropdown-menu {
position: fixed;
top: 140px;
left: 15px;
z-index: 1000;
float: left;
min-width: 185px;
padding: 5px 0;
margin: 2px 0 0;
list-style: none;
font-size: 14px;
text-align: left;
/* background-clip: padding-box; */
color: #fff;
background: #3A3C41;
width: 60px;
/* VIOLENCE: Largeur */
border: 1px solid black;
}
/*Text color and button background when selected */
/*Couleur du texte et background du bouton lors de la selection */
.btn-link:focus,
.btn-link:hover {
/*color: #23527c;*/
color: lightgrey;
text-decoration: underline;
background-color: transparent;
}
/*We remove the white bars at the top and bottom of the button on Smartphone */
/*On supprime les barres blanches en haut et en bas du bouton sur Smartphone */
.navbar-form {
left: 20px;
box-shadow: none;
list-style: none;
}
}
- Placed JS ACP > Appearance > Custom Content > Custom JS
$(document).ready(function() {
function generateRandomString(length) {
var text = "";
var possible = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
for (var i = 0; i < length; i++) {
text += possible.charAt(Math.floor(Math.random() * possible.length));
}
return text;
}
var string = generateRandomString(10);
$("#random_string").text(string);
var whichTheme = localStorage.getItem("theme");
var activeTheme = localStorage.getItem("activeTheme");
// If no theme is detected (for example, a new visitor), then set this to default
if (!whichTheme) {
// dark-mode media query matched or not
let matched = window.matchMedia('(prefers-color-scheme: dark)').matches;
//var override = getUrlParameter('override');
if (matched) {
// Offer the mifnight theme by default
whichTheme = "dark";
activeTheme = "/assets/customcss/dark_skin.css?version=" + string;
//$("link[rel=stylesheet]").attr('href' , thishref + "?version=" + string + "");
} else {
// Leave the default theme intact
whichTheme = "default";
activeTheme = "/assets/customcss/default.css?version=" + string;
}
// See if override has been enabled
if (whichTheme === 'default') {
// Sudonix is overriding operating system settings and will force dark scheme
activeTheme = "/assets/customcss/default.css?version=" + string;
}
if (whichTheme === 'default') {
// $('[component="post"]').addClass("background");
$('li.self-post .content:not(.isSolved [component="post/content"]').addClass("response");
} else {
// Nothing to do :)
}
}
/*$(".forum-logo").attr("src","/assets/uploads/system/sl_" + whichTheme + ".webp?version=" + string + ""); */
var panel = $('<li id="switcher" class="dropdown"> \
<a title="" data-original-title="Swatch" class="navigation-link dropdown-toggle" href="#" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"> \
<i id="ticon" class="fa fa-light fa-swatchbook" data-content="" aria-hidden="true"></i> \
<span class="visible-xs-inline">Swatch</span> \
<i class="fa fa-caret-down" aria-hidden="true"></i> \
</a> \
<ul id="theme" class="dropdown-menu"> \
<li><a id="default" href="#" rel="/assets/customcss/default.css">Default</a></li> \
<li><a id="dark" href="#" rel="/assets/customcss/dark_skin.css">Dark</a></li> \
</ul> \
</li> \
</div> \
');
if (whichTheme) {
$.get(activeTheme, function(css) {
$('<style type="text/css"></style>')
.html(css)
.appendTo("head");
});
} else {}
$('#main-nav').append(panel);
if (utils.findBootstrapEnvironment() === 'xs') {
$('#main-nav').append(panel);
}
$(document).ready(function() {
$("body").on("click change", "#theme li a", function() {
var thishref = $(this).attr('rel') + '?version=' + string;
$.get(thishref, function(css) {
$('<style type="text/css"></style>')
.html(css)
.appendTo("head");
});
console.log("Applying swatch " + thishref);
//location.reload();
var selected = $(this).attr("id");
var theTheme = $(this).attr("rel");
if (selected === 'default') {
localStorage.setItem("theme", selected);
localStorage.setItem("activeTheme", "/assets/customcss/dark_skin.css?version=" + string);
//location.reload();
} else {
localStorage.setItem("theme", selected);
localStorage.setItem("activeTheme", theTheme);
}
return false;
});
});
});
- Made sure that both custom css and js are enabled in ACP
- I can confirm that when I select a skin in the switcher, it does append the style tag to <head>
- The custom styles are found when you inspect the page
Issue: The following CSS rule is not showing on the page.
body {
background-color: var(--body);
}
I hope this helps.