🔥 (bootsier): Elimina AdminLTE
Retira AdminLTE 4 de Bootsier: CSS/JS, `bs::sidebar`, `BootsierRegions` y el shell propio de `CoreTemplates::Admin`. Sólo quedaba un sidebar de 5 secciones ya alcanzables desde el dashboard, las páginas de sección y el breadcrumb de `AdminFrame`.
This commit is contained in:
parent
6df71885cc
commit
11c2bdffb1
63 changed files with 201 additions and 7491 deletions
54
extensions/pagetop-bootsier/assets/bootsier.theme.js
Normal file
54
extensions/pagetop-bootsier/assets/bootsier.theme.js
Normal file
|
|
@ -0,0 +1,54 @@
|
|||
(function () {
|
||||
'use strict';
|
||||
|
||||
// Color mode selector (light / dark / auto).
|
||||
var STORAGE_KEY = 'bootsier-theme';
|
||||
var getStored = function () { return localStorage.getItem(STORAGE_KEY); };
|
||||
var setStored = function (theme) { localStorage.setItem(STORAGE_KEY, theme); };
|
||||
var prefersDark = function () {
|
||||
return window.matchMedia('(prefers-color-scheme: dark)').matches;
|
||||
};
|
||||
|
||||
var setTheme = function (theme) {
|
||||
var resolved = (theme === 'auto') ? (prefersDark() ? 'dark' : 'light') : theme;
|
||||
document.documentElement.setAttribute('data-bs-theme', resolved);
|
||||
};
|
||||
|
||||
var showActiveTheme = function (theme) {
|
||||
document.querySelectorAll('[data-bs-theme-value]').forEach(function (el) {
|
||||
el.classList.remove('active');
|
||||
el.setAttribute('aria-pressed', 'false');
|
||||
var check = el.querySelector('.bi-check-lg');
|
||||
if (check) { check.classList.add('d-none'); }
|
||||
});
|
||||
var active = document.querySelector('[data-bs-theme-value="' + theme + '"]');
|
||||
if (active) {
|
||||
active.classList.add('active');
|
||||
active.setAttribute('aria-pressed', 'true');
|
||||
var check = active.querySelector('.bi-check-lg');
|
||||
if (check) { check.classList.remove('d-none'); }
|
||||
}
|
||||
document.querySelectorAll('[data-bs-theme-icon]').forEach(function (icon) {
|
||||
icon.classList.toggle('d-none', icon.dataset.bsThemeIcon !== theme);
|
||||
});
|
||||
};
|
||||
|
||||
window.matchMedia('(prefers-color-scheme: dark)').addEventListener('change', function () {
|
||||
var stored = getStored();
|
||||
if (!stored || stored === 'auto') { setTheme('auto'); }
|
||||
});
|
||||
|
||||
document.addEventListener('DOMContentLoaded', function () {
|
||||
var theme = getStored() || 'auto';
|
||||
setTheme(theme);
|
||||
showActiveTheme(theme);
|
||||
document.querySelectorAll('[data-bs-theme-value]').forEach(function (toggle) {
|
||||
toggle.addEventListener('click', function () {
|
||||
var t = toggle.getAttribute('data-bs-theme-value');
|
||||
setStored(t);
|
||||
setTheme(t);
|
||||
showActiveTheme(t);
|
||||
});
|
||||
});
|
||||
});
|
||||
}());
|
||||
Loading…
Add table
Add a link
Reference in a new issue