mirror of
https://code.castopod.org/adaures/castopod
synced 2025-04-23 01:01:20 +00:00

- replace rollup config with vitejs - use vite dev server during development to take advantage of hot module replacement (HMR) - add vite service using Vite library to load css and js assets - update package.json scripts and remove unnecessary dependencies - update scripts/bundle-prepare.sh closes #107
32 lines
880 B
TypeScript
32 lines
880 B
TypeScript
const Toggler = (): void => {
|
|
const togglerElements: NodeListOf<HTMLElement> = document.querySelectorAll(
|
|
"[data-toggle]"
|
|
);
|
|
|
|
for (let i = 0; i < togglerElements.length; i++) {
|
|
const toggler = togglerElements[i];
|
|
|
|
if (toggler.dataset.toggle) {
|
|
const target: HTMLElement | null = document.getElementById(
|
|
toggler.dataset.toggle
|
|
);
|
|
|
|
if (target && toggler.dataset.toggleClass) {
|
|
toggler.addEventListener("click", () => {
|
|
toggler.dataset.toggleClass?.split(" ").forEach((className) => {
|
|
target.classList.toggle(className);
|
|
});
|
|
|
|
if (toggler.dataset.toggleBodyClass) {
|
|
toggler.dataset.toggleBodyClass.split(" ").forEach((className) => {
|
|
document.body.classList.toggle(className);
|
|
});
|
|
}
|
|
});
|
|
}
|
|
}
|
|
}
|
|
};
|
|
|
|
export default Toggler;
|