import React from "react";
import { createRoot } from "react-dom/client";

import { BrowserRouter, Routes, Route } from "react-router-dom";
import { Client } from "@cubicweb/client";

import { CWClientContext } from "CubicWebClient";
import { CWUsers } from "./components/cwusers/CWUsers";

const cwserver = "{{ cookiecutter.cubicweb_server }}";
const client = new Client(`${cwserver}/api`);
const contextValue = { client, cwserver };

const rootElement: HTMLElement = document.getElementById("root")!;
const appRoot = createRoot(rootElement);

appRoot.render(
  <React.StrictMode>
    <CWClientContext.Provider value={contextValue}>
      <BrowserRouter>
        <Routes>
          <Route path="/" element={<CWUsers />} />
        </Routes>
      </BrowserRouter>
    </CWClientContext.Provider>
  </React.StrictMode>
);