Refactor auth and init README
This commit is contained in:
@@ -1,56 +1,40 @@
|
||||
import {
|
||||
Refine,
|
||||
Authenticated,
|
||||
} from "@refinedev/core";
|
||||
import {
|
||||
useNotificationProvider,
|
||||
ThemedLayout,
|
||||
ErrorComponent,
|
||||
RefineThemes,
|
||||
} from "@refinedev/antd";
|
||||
import {
|
||||
DashboardOutlined,
|
||||
} from "@ant-design/icons";
|
||||
|
||||
import routerProvider, {
|
||||
NavigateToResource,
|
||||
CatchAllNavigate,
|
||||
UnsavedChangesNotifier,
|
||||
DocumentTitleHandler,
|
||||
} from "@refinedev/react-router";
|
||||
import { BrowserRouter, Routes, Route, Outlet, Navigate } from "react-router";
|
||||
import { Refine, Authenticated } from "@refinedev/core";
|
||||
import { useNotificationProvider, ThemedLayout, ErrorComponent, RefineThemes } from "@refinedev/antd";
|
||||
import routerProvider, { NavigateToResource, CatchAllNavigate, UnsavedChangesNotifier, DocumentTitleHandler } from "@refinedev/react-router";
|
||||
import { BrowserRouter, Routes, Route, Outlet } from "react-router";
|
||||
import { DashboardOutlined } from "@ant-design/icons";
|
||||
import { App as AntdApp, ConfigProvider } from "antd";
|
||||
|
||||
import "@ant-design/v5-patch-for-react-19";
|
||||
import "@refinedev/antd/dist/reset.css";
|
||||
|
||||
import { authProvider, dataProvider, liveProvider } from "@ng-org/refine-providers";
|
||||
import { authProvider as ngAuthProvider, dataProvider, liveProvider } from "@ng-org/refine-providers";
|
||||
|
||||
import dataModels from "./shapes/data-models";
|
||||
import shapeTypes from "./shapes/shapeTypes";
|
||||
import AuthPage from "./components/AuthPage";
|
||||
import { PostList, PostCreate, PostEdit, PostShow } from "../src/pages/posts";
|
||||
import { DashboardPage } from "../src/pages/dashboard";
|
||||
|
||||
import { getSession } from "./utils/initNg";
|
||||
const authProvider = ngAuthProvider();
|
||||
|
||||
const App: React.FC = () => (
|
||||
<BrowserRouter basename={import.meta.env.MODE === 'production' ? '/nextgraph-refine-app/' : '/'}>
|
||||
<ConfigProvider theme={RefineThemes.Blue}>
|
||||
<AntdApp>
|
||||
<Refine
|
||||
// authProvider={authProvider}
|
||||
dataProvider={dataProvider({ dataModels, getSession })}
|
||||
liveProvider={liveProvider({ dataModels })}
|
||||
authProvider={authProvider}
|
||||
dataProvider={dataProvider({ shapeTypes, authProvider })}
|
||||
liveProvider={liveProvider({ shapeTypes })}
|
||||
routerProvider={routerProvider}
|
||||
resources={[
|
||||
// {
|
||||
// name: "dashboard",
|
||||
// list: "/",
|
||||
// meta: {
|
||||
// label: "Dashboard",
|
||||
// icon: <DashboardOutlined />,
|
||||
// },
|
||||
// },
|
||||
{
|
||||
name: "dashboard",
|
||||
list: "/",
|
||||
meta: {
|
||||
label: "Dashboard",
|
||||
icon: <DashboardOutlined />,
|
||||
},
|
||||
},
|
||||
{
|
||||
name: "posts",
|
||||
list: "/posts",
|
||||
@@ -73,18 +57,17 @@ const App: React.FC = () => (
|
||||
<Routes>
|
||||
<Route
|
||||
element={
|
||||
// <Authenticated
|
||||
// key="authenticated-routes"
|
||||
// fallback={<CatchAllNavigate to="/login" />}
|
||||
// >
|
||||
<Authenticated
|
||||
key="authenticated-routes"
|
||||
fallback={<CatchAllNavigate to="/login" />}
|
||||
>
|
||||
<ThemedLayout>
|
||||
<Outlet />
|
||||
</ThemedLayout>
|
||||
// </Authenticated>
|
||||
</Authenticated>
|
||||
}
|
||||
>
|
||||
<Route index element={<Navigate to="/" />} />
|
||||
{/* <Route index element={<DashboardPage />} /> */}
|
||||
<Route index element={<DashboardPage />} />
|
||||
|
||||
<Route path="/posts">
|
||||
<Route index element={<PostList />} />
|
||||
@@ -94,7 +77,7 @@ const App: React.FC = () => (
|
||||
</Route>
|
||||
</Route>
|
||||
|
||||
{/* <Route
|
||||
<Route
|
||||
element={
|
||||
<Authenticated key="auth-pages" fallback={<Outlet />}>
|
||||
<NavigateToResource resource="posts" />
|
||||
@@ -103,15 +86,15 @@ const App: React.FC = () => (
|
||||
>
|
||||
<Route path="/login" element={<AuthPage />} />
|
||||
<Route path="/register" element={<AuthPage />} />
|
||||
</Route> */}
|
||||
</Route>
|
||||
|
||||
<Route
|
||||
element={
|
||||
// <Authenticated key="catch-all">
|
||||
<Authenticated key="catch-all">
|
||||
<ThemedLayout>
|
||||
<Outlet />
|
||||
</ThemedLayout>
|
||||
// </Authenticated>
|
||||
</Authenticated>
|
||||
}
|
||||
>
|
||||
<Route path="*" element={<ErrorComponent />} />
|
||||
|
||||
@@ -1,10 +0,0 @@
|
||||
import { DataModels } from "@ng-org/refine-providers";
|
||||
import { NoteShapeType } from "./orm/post.shapeTypes";
|
||||
|
||||
const dataModels : DataModels = {
|
||||
posts: {
|
||||
shapeType: NoteShapeType
|
||||
}
|
||||
}
|
||||
|
||||
export default dataModels;
|
||||
@@ -0,0 +1,8 @@
|
||||
import { ShapeTypes } from "@ng-org/refine-providers";
|
||||
import { NoteShapeType } from "./orm/post.shapeTypes";
|
||||
|
||||
const shapeTypes : ShapeTypes = {
|
||||
posts: NoteShapeType
|
||||
}
|
||||
|
||||
export default shapeTypes;
|
||||
@@ -1,17 +0,0 @@
|
||||
import { ng, init, Session } from "@ng-org/web";
|
||||
import { initNg } from "@ng-org/orm";
|
||||
|
||||
export let session: Session | undefined;
|
||||
|
||||
init(
|
||||
async (event: any) => {
|
||||
session = event.session;
|
||||
// The ORM needs to have access to ng,
|
||||
// the interface to the engine running in WASM.
|
||||
initNg(ng, session!);
|
||||
},
|
||||
true,
|
||||
[],
|
||||
);
|
||||
|
||||
export const getSession = () => session;
|
||||
Reference in New Issue
Block a user