import "@/styles/variableColor.less";
import "@/styles/reset.less";
import "@/styles/classNameModule.less";
import "@/styles/globalClassName.less";

import zhCN from 'antd/lib/locale/zh_CN';

import { ConfigProvider } from 'antd';
import { BrowserRouter, Routes, Route } from "react-router-dom";

import { createRoot } from "react-dom/client";
import AppComponent from "@/pages/app";

import { postModuleFederation } from "@stores/moduleFederation";

import dayjs from 'dayjs';
import 'dayjs/locale/zh-cn';
dayjs.locale('zh-cn');

async function Main() {

  // 加载模块联邦组件
  const BASEUIRESPS = import("crootfui/baseui"); // 基础组件
  const PRODSRESPS = import("crootfui/prods"); // 业务组件
  const TEMPSRESPS = import("crootfui/temps"); // 业务模版
  const BOSSRESPS = import("crootfui/boss"); // 业务函数
  Promise.all([BASEUIRESPS, PRODSRESPS, TEMPSRESPS, BOSSRESPS]).then(([baseui, prods, temps, boss]) => {
    // console.log('模块联邦的组件:', TEMPSRESPS);
    postModuleFederation('baseui', baseui);
    postModuleFederation('prods', prods);
    postModuleFederation('components', temps);
    postModuleFederation('boss', boss);

    const container = createRoot(document.getElementById("root"));
    container.render(
      <ConfigProvider locale={zhCN}>
        <>
          <BrowserRouter>
            <Routes>
              <Route path="/smr/login" element={<temps.LoginBox />} />
              <Route path="/*" element={<AppComponent />} />
            </Routes>
          </BrowserRouter>
        </>
      </ConfigProvider>
    );
  });
}
Main();