import { darkCssIsReady, loadDarkThemeCss } from '@rys-fe/vite-plugin-theme/es/client';

import { addClass, hasClass, removeClass } from '/@/utils/domUtils';



export async function updateDarkTheme(mode: string | null = 'light') {

  const htmlRoot = document.getElementById('htmlRoot');

  if (!htmlRoot) {

    return;

  }

  const hasDarkClass = hasClass(htmlRoot, 'dark');

  if (mode === 'dark') {

    if (import.meta.env.PROD && !darkCssIsReady) {

      await loadDarkThemeCss();

    }

    htmlRoot.setAttribute('data-theme', 'dark');

    if (!hasDarkClass) {

      addClass(htmlRoot, 'dark');

    }

  } else {

    htmlRoot.setAttribute('data-theme', 'light');

    if (hasDarkClass) {

      removeClass(htmlRoot, 'dark');

    }

  }

}