AstraOS-Panel/AstraOS/Frontend/JAVASCRIPT/main.js
MrWhiff f4bfa163a7 AstraOS Ver. 1.17:
- Comments entfernt
2025-12-21 23:56:29 +01:00

70 lines
2.6 KiB
JavaScript

document.addEventListener('DOMContentLoaded', function () {
document.querySelectorAll('.collapsible').forEach(button => {
const content = button.nextElementSibling;
const chevron = button.querySelector('svg');
const shouldOpen = button.dataset.open === "true";
if (shouldOpen) {
content.classList.remove("hidden");
content.style.height = "auto";
content.style.opacity = "1";
if (chevron) chevron.style.transform = "rotate(180deg)";
} else {
content.classList.add("hidden");
content.style.height = "0";
content.style.opacity = "0";
if (chevron) chevron.style.transform = "rotate(0deg)";
}
});
document.querySelectorAll('.collapsible').forEach(button => {
button.addEventListener('click', () => {
const content = button.nextElementSibling;
const chevron = button.querySelector('svg');
document.querySelectorAll('.collapsible').forEach(other => {
if (other !== button) {
const otherContent = other.nextElementSibling;
const otherChevron = other.querySelector('svg');
if (!otherContent.classList.contains('hidden')) {
gsap.to(otherContent, {
height: 0,
opacity: 0,
duration: 0.25,
ease: 'power2.in',
onComplete: () => {
otherContent.classList.add('hidden');
if (otherChevron) gsap.to(otherChevron, { rotation: 0, duration: 0.25 });
}
});
}
}
});
if (content.classList.contains('hidden')) {
content.classList.remove('hidden');
gsap.fromTo(content,
{ height: 0, opacity: 0 },
{ height: 'auto', opacity: 1, duration: 0.25, ease: 'power2.out' }
);
if (chevron) gsap.to(chevron, { rotation: 180, duration: 0.25 });
} else {
gsap.to(content, {
height: 0,
opacity: 0,
duration: 0.25,
ease: 'power2.in',
onComplete: () => {
content.classList.add('hidden');
if (chevron) gsap.to(chevron, { rotation: 0, duration: 0.25 });
}
});
}
});
});
});