mirror of
				https://github.com/paperless-ngx/paperless-ngx.git
				synced 2025-11-03 19:17:13 -05:00 
			
		
		
		
	* Added devcontainer * Add feature storage pathes * Exclude tests and add versioning * Check escaping * Check escaping * Check quoting * Echo * Escape * Escape : * Double escape \ * Escaping * Remove if * Escape colon * Missing \ * Esacpe : * Escape all * test * Remove sed * Fix exclude * Remove SED command * Add LD_LIBRARY_PATH * Adjusted to v1.7 * Updated test-cases * Remove devcontainer * Removed internal build-file * Run pre-commit * Corrected flak8 error * Adjusted to v1.7 * Updated test-cases * Corrected flak8 error * Adjusted to new plural translations * Small adjustments due to code-review backend * Adjusted line-break * Removed PAPERLESS prefix from settings variables * Corrected style change due to search+replace * First documentation draft * Revert changes to Pipfile * Add sphinx-autobuild with keep-outdated * Revert merge error that results in wrong storage path is evaluated * Adjust styles of generated files ... * Adds additional testing to cover dynamic storage path functionality * Remove unnecessary condition * Add hint to edit storage path dialog * Correct spelling of pathes to paths * Minor documentation tweaks * Minor typo * improving wrapping of filter editor buttons with new storage path button * Update .gitignore * Fix select border radius in non input-groups * Better storage path edit hint * Add note to edit storage path dialog re document_renamer * Add note to bulk edit storage path re document_renamer * Rename FILTER_STORAGE_DIRECTORY to PATH * Fix broken filter rule parsing * Show default storage if unspecified * Remove note re storage path on bulk edit * Add basic validation of filename variables Co-authored-by: Markus Kling <markus@markus-kling.net> Co-authored-by: Trenton Holmes <holmes.trenton@gmail.com> Co-authored-by: Michael Shamoon <4887959+shamoon@users.noreply.github.com> Co-authored-by: Quinn Casey <quinn@quinncasey.com>
		
			
				
	
	
		
			48 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			48 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
let toggleButton
 | 
						|
let icon
 | 
						|
 | 
						|
function load() {
 | 
						|
	'use strict'
 | 
						|
 | 
						|
	toggleButton = document.createElement('button')
 | 
						|
	toggleButton.setAttribute('title', 'Toggle dark mode')
 | 
						|
	toggleButton.classList.add('dark-mode-toggle')
 | 
						|
	icon = document.createElement('i')
 | 
						|
	icon.classList.add('fa', darkModeState ? 'fa-sun-o' : 'fa-moon-o')
 | 
						|
	toggleButton.appendChild(icon)
 | 
						|
	document.body.prepend(toggleButton)
 | 
						|
 | 
						|
	// Listen for changes in the OS settings
 | 
						|
	// addListener is used because older versions of Safari don't support addEventListener
 | 
						|
	// prefersDarkQuery set in <head>
 | 
						|
	if (prefersDarkQuery) {
 | 
						|
		prefersDarkQuery.addListener(function (evt) {
 | 
						|
			toggleDarkMode(evt.matches)
 | 
						|
		})
 | 
						|
	}
 | 
						|
 | 
						|
	// Initial setting depending on the prefers-color-mode or localstorage
 | 
						|
	// darkModeState should be set in the document <head> to prevent flash
 | 
						|
	if (darkModeState == undefined) darkModeState = false
 | 
						|
	toggleDarkMode(darkModeState)
 | 
						|
 | 
						|
	// Toggles the "dark-mode" class on click and sets localStorage state
 | 
						|
	toggleButton.addEventListener('click', () => {
 | 
						|
		darkModeState = !darkModeState
 | 
						|
 | 
						|
		toggleDarkMode(darkModeState)
 | 
						|
		localStorage.setItem('dark-mode', darkModeState)
 | 
						|
	})
 | 
						|
}
 | 
						|
 | 
						|
function toggleDarkMode(state) {
 | 
						|
	document.documentElement.classList.toggle('dark-mode', state)
 | 
						|
	document.documentElement.classList.toggle('light-mode', !state)
 | 
						|
	icon.classList.remove('fa-sun-o')
 | 
						|
	icon.classList.remove('fa-moon-o')
 | 
						|
	icon.classList.add(state ? 'fa-sun-o' : 'fa-moon-o')
 | 
						|
	darkModeState = state
 | 
						|
}
 | 
						|
 | 
						|
document.addEventListener('DOMContentLoaded', load)
 |