71 lines
2.9 KiB
JavaScript
71 lines
2.9 KiB
JavaScript
let theme = '';
|
|
theme = sessionStorage.getItem( 'theme' ) || getPreferredTheme();
|
|
|
|
$( document ).ready( function () {
|
|
$( '#nav' ).load( '/docs/nav.html' );
|
|
$( '#top' ).load( '/docs/top.html' );
|
|
setTimeout( setTheme, 300 );
|
|
} );
|
|
|
|
|
|
|
|
// set theme on page load
|
|
function setTheme () {
|
|
if ( theme == 'dark' ) {
|
|
document.getElementById( 'darkToggle' ).innerHTML = '☼';
|
|
$( '.content' ).css( 'background-color', 'rgb(46, 46, 46)' );
|
|
$( '.top-container' ).css( 'background-color', 'rgb(100, 100, 100)' );
|
|
$( '.content' ).css( 'color', 'white' );
|
|
$( '.nav-subitem' ).css( 'background-color', 'rgb(18, 18, 99)' );
|
|
$( '.navitem' ).css( 'background-color', 'rgb(12, 12, 60)' );
|
|
$( '.nav-container' ).css( 'background-color', 'rgb(0, 0, 100)' );
|
|
$( '#doc-container a' ).css( 'color', 'white' );
|
|
$( '#darkToggle' ).css( 'color', 'white' );
|
|
}
|
|
}
|
|
|
|
// retreive preferred theme from browser preferences if not in session storage
|
|
function getPreferredTheme () {
|
|
if ( window.matchMedia( '(prefers-color-scheme: dark)' ).matches ) {
|
|
setPreferredTheme( 'dark' );
|
|
return 'dark';
|
|
} else {
|
|
setPreferredTheme( 'light' );
|
|
return 'light';
|
|
};
|
|
}
|
|
|
|
// set theme in session storage
|
|
function setPreferredTheme ( userTheme ) {
|
|
sessionStorage.setItem( 'theme', userTheme );
|
|
theme = userTheme;
|
|
}
|
|
|
|
// change theme
|
|
function toggleDarkMode () {
|
|
if ( theme == 'light' ) {
|
|
$( '.content' ).animate( { 'background-color': 'rgb(46, 46, 46)' } );
|
|
$( '.content' ).animate( { 'color': 'white' } );
|
|
$( '#doc-container a' ).animate( { 'color': 'white' } );
|
|
$( '.top-container' ).animate( { 'background-color': 'rgb(100, 100, 100)' } );
|
|
$( '.nav-subitem' ).animate( { 'background-color': 'rgb(18, 18, 99)' } );
|
|
$( '.navitem' ).animate( { 'background-color': 'rgb(12, 12, 60)' } );
|
|
$( '.nav-container' ).animate( { 'background-color': 'rgb(0, 0, 100)' } );
|
|
$( '#darkToggle' ).animate( { 'color': 'white' } );
|
|
document.getElementById( 'darkToggle' ).innerHTML = '☼';
|
|
setPreferredTheme( 'dark' );
|
|
} else {
|
|
$( '.content' ).animate( { 'background-color': 'white' } );
|
|
$( '.content' ).animate( { 'color': 'black' } );
|
|
$( '#doc-container a' ).animate( { 'color': 'blue' } );
|
|
$( '.nav-subitem' ).animate( { 'background-color': 'rgb(27, 27, 165)' } );
|
|
$( '.navitem' ).animate( { 'background-color': 'rgb(22, 22, 117)' } );
|
|
$( '.nav-container' ).animate( { 'background-color': 'blue' } );
|
|
$( '.top-container' ).animate( { 'background-color': 'rgb(223, 223, 223)' } );
|
|
$( '#darkToggle' ).animate( { 'color': 'black' } );
|
|
document.getElementById( 'darkToggle' ).innerHTML = '☽';
|
|
setPreferredTheme( 'light' );
|
|
}
|
|
setTimeout( highlightPath, 1000 );
|
|
}
|