Skip to content

Instantly share code, notes, and snippets.

@CuzImBisonratte
Last active December 17, 2021 19:56
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save CuzImBisonratte/fcbd77deb08f7f5f5d5aa8e083b64481 to your computer and use it in GitHub Desktop.
Save CuzImBisonratte/fcbd77deb08f7f5f5d5aa8e083b64481 to your computer and use it in GitHub Desktop.
<!-- Theme button -->
<div id="themeButton">
<button id="themeToggleButton" onclick="toggleTheme()">Darkmode/Lightmode</button>
</div>
//themes.js von CuzImBisonratte
//https://github.com/CuzImBisonratte/themes.js
// Hier kannst du die Farbcodes umstellen
ThemeColorBackLight = "#f1f1f1";
ThemeColorBackDark = "#282C36";
ThemeColorTextLight = "#282C36";
ThemeColorTextDark = "#818181";
ThemeButtonNameLight = "Hell";
ThemeButtonNameDark = "Dunkel";
// Initialize the Themes-variable
var theme;
// Funktion, die die Farbänderungen auführt
function changeToTheme(backgroundColor, textColor, themeName) {
document.body.style.backgroundColor = backgroundColor;
document.body.style.color = textColor;
document.getElementById("themeToggleButton").innerHTML = themeName;
}
// Die funktion, die beim aufrufen der Website automatisch gestartet wird
function initializeTheme() {
// Aktuelles Theme abrufen
try {
theme = localStorage.getItem("theme");
} catch (e) {
if (e.name == "NS_ERROR_FILE_CORRUPTED") {
localStorage.clear();
theme = localStorage.getItem("theme");
}
}
//Theme auf gespeichertes Theme setzen
if (theme == "light") {
// Theme ändern
changeToTheme(ThemeColorBackLight, ThemeColorTextLight, ThemeButtonNameLight);
} else {
// Theme ändern
changeToTheme(ThemeColorBackDark, ThemeColorTextDark, ThemeButtonNameDark);
}
}
// Funktion einmal zum Start ausführen
initializeTheme();
// Funktion, die bei Knopfdruck ausgeführt wird
function toggleTheme(theme) {
// Theme basierend auf Aktuellem theme ändern
if (theme == "dark") {
// Theme ändern
changeToTheme(ThemeColorBackLight, ThemeColorTextLight, ThemeButtonNameLight);
// Theme-Speicher auf "Hell" setzen
localStorage.setItem("theme", "light");
} else {
// Theme ändern
changeToTheme(ThemeColorBackDark, ThemeColorTextDark, ThemeButtonNameDark);
// Theme-Speicher auf "Dunkel" setzen
localStorage.setItem("theme", "dark");
}
}
/* Theme switch */
#themeToggleButton {
color: var(--font-color);
background: var(--color-primary);
padding: 10px 20px;
border-radius: 5px;
}
#themeButton {
position: fixed;
top: 10px;
right: 10px;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment