import { defineNuxtPlugin } from '#app' import { useHead } from '#imports' export default defineNuxtPlugin((nuxtApp) => { // Fonction pour ajouter une classe au body const addBodyClass = (className: string) => { if (process.client) { document.body.classList.add(className) } else { // Pour le SSR, on utilise useHead useHead({ bodyAttrs: { class: className } }) } } // Fonction pour supprimer une classe du body const removeBodyClass = (className: string) => { if (process.client) { document.body.classList.remove(className) } // Pas besoin de gérer la suppression côté SSR } // Fonction pour vérifier si une classe est présente const hasBodyClass = (className: string) => { if (process.client) { return document.body.classList.contains(className) } return false } // Exposition des méthodes via le plugin return { provide: { bodyClass: { add: addBodyClass, remove: removeBodyClass, has: hasBodyClass, toggle: (className: string) => { if (hasBodyClass(className)) { removeBodyClass(className) } else { addBodyClass(className) } } } } } })