import { Refine } from "@refinedev/core"; import { RefineKbar, RefineKbarProvider } from "@refinedev/kbar"; import { ErrorComponent, notificationProvider, ThemedLayoutV2, ThemedSiderV2, ThemedTitleV2, } from "@refinedev/antd"; import "@refinedev/antd/dist/reset.css"; import routerBindings, { NavigateToResource, UnsavedChangesNotifier, } from "@refinedev/react-router-v6"; import dataProvider from "@refinedev/simple-rest"; import { useTranslation } from "react-i18next"; import { BrowserRouter, Outlet, Route, Routes } from "react-router-dom"; import { Header } from "./components/header"; import { ColorModeContextProvider } from "./contexts/color-mode"; import { SpoolCreate, SpoolEdit, SpoolList, SpoolShow } from "./pages/spools"; import { FilamentCreate, FilamentEdit, FilamentList, FilamentShow, } from "./pages/filaments"; import { VendorCreate, VendorEdit, VendorList, VendorShow, } from "./pages/vendors"; import { ReactComponent as Logo } from "./icon.svg"; import { FileOutlined, HighlightOutlined, UserOutlined, } from "@ant-design/icons"; import { ConfigProvider } from "antd"; function App() { const { t, i18n } = useTranslation(); const i18nProvider = { translate: (key: string, params: object) => t(key, params), changeLocale: (lang: string) => i18n.changeLanguage(lang), getLocale: () => i18n.language, }; if (!import.meta.env.VITE_APIURL) { return ( <>
App was built without an API URL. Please set the VITE_APIURL environment variable to the URL of your Spoolman API.
> ); } return (