I've posted a PR to the Dashticz GIT with a lot uo updates and some changes
You can checkout the PR if you like or wait until it has accepted by the moderator
See : https://github.com/Dashticz/dashticz/pull/1242
Code: Select all
git checkout 1242**Bootstrap 5 upgrade**
- Bootstrap has been upgraded to version 5.3.8.
- A compatibility layer has been added for the legacy Bootstrap 3 markup still used by Dashticz and existing custom blocks.
- Legacy grid classes such as col-xs-* remain supported.
- Existing column layouts, including combinations such as width: 3 and width: 9, continue to appear on the same row.
- Compatibility has been added for modals, dropdowns, tabs, collapses, carousels, buttons, visibility helpers and alignment classes.
- Camera carousel controls have been updated while keeping the existing configuration format.
**Selector and button fixes**
- Selector button groups are now isolated from each other.
- Pressing a selector button executes the correct action instead of occasionally triggering another button.
- The active selector remains visually highlighted.
- Buttons, selectors and dropdown selectors now use consistent styling.
- Chart and date library updates
- Chart.js has been upgraded from version 2.9 to the maintained Chart.js 4 release.
- Graph axes, tooltips, fonts, datasets and zoom settings are converted automatically for compatibility.
- Moment.js and handlebars.moment have been replaced internally by Day.js.
- A compatibility layer remains available for existing moment(...) calls and Handlebars templates.
- Localized dates, Unix timestamps, date calculations and custom parsing remain supported.
**Clock fixes**
- Clock components now use public date APIs instead of removed Moment.js internals.
- The Hayman clock works correctly again.
- Other clock implementations have also been checked and updated.
- Seconds settings are now handled consistently.
**Screensaver improvements**
- The screensaver timeout is now calculated from the last actual user interaction.
- Operating the dashboard after closing the screensaver correctly restarts the inactivity timer.
- Screensaver blocks are rendered independently, so one failing block can no longer prevent the other configured blocks from appearing.
- Custom clocks and other configured screensaver blocks remain supported.
- Screensaver blocks use a plain black background without borders, transparency or theme effects.
**New Modern Dark theme**
- A reusable modern-dark theme has been added.
- The theme includes:
- Slightly transparent dark blocks.
- Flat block backgrounds without gradients.
- More rounded corners.
- Subtle dark borders.
- Consistent spacing between blocks.
- Blue-outlined buttons and selectors.
- Clearly visible active button states.
- Compact title-bar icons.
- Styled sliders and battery indicators.
- Plain title bars without borders or gradients.
- A completely black standby/screensaver layout.
- Enable the theme in custom/CONFIG.js:
- config['theme'] = 'modern-dark';
- The theme only contains general styling. Personal device rules, private URLs and dashboard-specific settings remain in custom/custom.css.
- Dashticz loads custom/custom.css after the selected theme, so local CSS rules can override the theme without modifying the public theme files.
**Startup screen**
- The startup page has been optimized.
- A responsive animated loading screen with a glowing Dashticz logo has been added.
- A reduced-motion fallback is included for users who disable animations.
- Metadata, preloading and browser cache handling have been improved.
**Additional reliability improvements**
- The update check now compares version numbers correctly.
- A newer local version is no longer incorrectly told to install an older release.
- Block removal and lifecycle handling have been improved.
- Map subscriptions, camera timers, event listeners and WebSocket callbacks are cleaned up correctly.
- Authentication refresh, URL parsing and sequential script loading have received additional error handling.
- KNMI Weather has been updated to use the newer API v2.
- Font Awesome, Swiper and other supporting dependencies have been refreshed while retaining compatibility.
- Security and maintenance
- Proxy, calendar, settings and Horizon endpoints received additional validation and protection.
- Remote URLs are checked and private or reserved destinations are blocked by default.
- CSRF and same-origin protection are used where appropriate.
- RSS and OAuth output is escaped or sanitized.
- Production JavaScript and CSS bundles are included, so Node.js is not required for a normal installation.
- node_modules and personal files under custom/ are excluded from Git.
- Source files use LF line endings.
- Automated regression checks cover syntax, dependencies, compatibility, selectors, version handling, security and line endings.