SIPDAM/samooapk/public/js/dashboard.js

62 lines
2.1 KiB
JavaScript

// Dashboard JavaScript
document.addEventListener('DOMContentLoaded', function() {
const sidebar = document.getElementById('sidebar');
const mainContent = document.getElementById('mainContent');
const sidebarToggle = document.getElementById('sidebarToggle');
const sidebarOverlay = document.getElementById('sidebarOverlay');
// Toggle sidebar
sidebarToggle.addEventListener('click', function() {
sidebar.classList.toggle('active');
sidebarOverlay.classList.toggle('active');
});
// Close sidebar when clicking overlay
sidebarOverlay.addEventListener('click', function() {
sidebar.classList.remove('active');
sidebarOverlay.classList.remove('active');
});
// Close sidebar when clicking nav links (mobile only)
const navLinks = document.querySelectorAll('.sidebar .nav-link');
navLinks.forEach(link => {
link.addEventListener('click', function() {
if (window.innerWidth < 768) {
sidebar.classList.remove('active');
sidebarOverlay.classList.remove('active');
}
});
});
// Handle window resize
window.addEventListener('resize', function() {
if (window.innerWidth >= 768) {
sidebar.classList.remove('active');
sidebarOverlay.classList.remove('active');
}
});
// Add smooth scrolling for internal links
document.querySelectorAll('a[href^="#"]').forEach(anchor => {
anchor.addEventListener('click', function (e) {
e.preventDefault();
const target = document.querySelector(this.getAttribute('href'));
if (target) {
target.scrollIntoView({
behavior: 'smooth'
});
}
});
});
// Auto-hide alerts after 5 seconds
const alerts = document.querySelectorAll('.alert');
alerts.forEach(alert => {
setTimeout(() => {
alert.style.opacity = '0';
setTimeout(() => {
alert.remove();
}, 300);
}, 5000);
});
});