--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/main/webapp/lightpit.js Tue Jun 23 14:30:10 2026 +0200 @@ -0,0 +1,55 @@ +/* + * Copyright 2025 Mike Becker. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +function closeWhatsNew(showMore) { + if (showMore) { + window.open(baseHref + 'about', '_blank'); + } + document.getElementById('whats-new').style.display = 'none'; + document.getElementById('page-area').classList.remove('blurred'); +} + +function applyShowAllProjects() { + const toggle = document.getElementById('show-all-projects'); + if (!toggle) return; // this page does not show the navmenu + const checked = toggle.checked; + document.querySelectorAll('#sideMenu .menuEntry[data-hidden]').forEach((elem) => { + elem.style.display = checked ? 'initial' : 'none'; + }) +} + +function toggleShowAllProjects() { + const toggle = document.getElementById('show-all-projects'); + + const req = new XMLHttpRequest(); + req.open('POST', baseHref+'projects/settings'); + req.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded'); + req.send('show_all_projects=' + (toggle.checked ? 'true' : 'false')); + applyShowAllProjects(); +} + +window.addEventListener('load', () => { + applyShowAllProjects(); +});