import { StrictMode } from "react"
import { createRoot } from "react-dom/client"

import { App } from "./App.js"
import { dinnerCatalog } from "./domain/menu-catalog.js"
import { recommendDinner } from "./domain/recommend-dinner.js"
import { canonicalSeoulDate } from "./seoul-date.js"
import "./styles.css"

if (import.meta.env.DEV) {
  void import("react-grab")
  void import("react-scan")
}

const rootElement = document.getElementById("root")
if (rootElement === null) {
  throw new TypeError("The application root element is missing")
}

const recommendation = recommendDinner(canonicalSeoulDate(new Date()), dinnerCatalog)

createRoot(rootElement).render(
  <StrictMode>
    <App recommendation={recommendation} />
  </StrictMode>,
)
