credit abis
This commit is contained in:
@@ -2,7 +2,7 @@
|
||||
</main>
|
||||
</div>
|
||||
<script>
|
||||
// Dark Mode Toggle
|
||||
// ── Dark Mode Toggle ──────────────────────────────────────────────────
|
||||
const themeBtn = document.getElementById('theme-toggle');
|
||||
const iconLight = document.getElementById('theme-icon-light');
|
||||
const iconDark = document.getElementById('theme-icon-dark');
|
||||
@@ -16,7 +16,6 @@
|
||||
iconDark.style.display = 'block';
|
||||
}
|
||||
}
|
||||
|
||||
if(themeBtn) {
|
||||
updateThemeIcon();
|
||||
themeBtn.addEventListener('click', () => {
|
||||
@@ -26,8 +25,8 @@
|
||||
updateThemeIcon();
|
||||
});
|
||||
}
|
||||
|
||||
// Toast Notifier
|
||||
|
||||
// ── Toast ─────────────────────────────────────────────────────────────
|
||||
function showToast(msg) {
|
||||
const t = document.getElementById('toast');
|
||||
t.textContent = msg;
|
||||
@@ -35,7 +34,24 @@
|
||||
setTimeout(() => t.classList.remove('show'), 3000);
|
||||
}
|
||||
|
||||
// User dropdown
|
||||
// ── Sidebar Collapse ──────────────────────────────────────────────────
|
||||
function toggleSidebar() {
|
||||
const collapsed = document.body.classList.toggle('sidebar-collapsed');
|
||||
localStorage.setItem('sidebar_collapsed', collapsed ? '1' : '0');
|
||||
updateSidebarIcon();
|
||||
}
|
||||
function updateSidebarIcon() {
|
||||
const icon = document.getElementById('sidebar-toggle-icon');
|
||||
if(!icon) return;
|
||||
if(document.body.classList.contains('sidebar-collapsed')) {
|
||||
icon.className = 'fa fa-chevron-right';
|
||||
} else {
|
||||
icon.className = 'fa fa-chevron-left';
|
||||
}
|
||||
}
|
||||
updateSidebarIcon();
|
||||
|
||||
// ── User Dropdown ─────────────────────────────────────────────────────
|
||||
function toggleUserDropdown() {
|
||||
const menu = document.getElementById('user-dropdown-menu');
|
||||
menu.classList.toggle('open');
|
||||
@@ -49,14 +65,20 @@
|
||||
if (wrap && !wrap.contains(e.target)) closeUserDropdown();
|
||||
});
|
||||
|
||||
// Close modals on overlay click
|
||||
// ── Notifications ─────────────────────────────────────────────────────
|
||||
function openNotifications() {
|
||||
closeUserDropdown();
|
||||
document.getElementById('notifications-modal').classList.add('active');
|
||||
}
|
||||
|
||||
// ── Close modals on overlay click ─────────────────────────────────────
|
||||
document.querySelectorAll('.modal-overlay').forEach(mo => {
|
||||
mo.addEventListener('click', (e) => {
|
||||
if (e.target === mo) mo.classList.remove('active');
|
||||
});
|
||||
});
|
||||
|
||||
// Auto open change-pw modal if there was a pw msg
|
||||
// ── Auto open change-pw modal if error ────────────────────────────────
|
||||
<?php
|
||||
$pw_msg_bottom = $_SESSION['pw_change_msg_bottom'] ?? null;
|
||||
if($pw_msg_bottom):
|
||||
|
||||
Reference in New Issue
Block a user