File Manager - Dashboard Routes #2
|
@ -0,0 +1,8 @@
|
||||||
|
{
|
||||||
|
"bracketSpacing": true,
|
||||||
|
"bracketSameLine": true,
|
||||||
|
"quoteProps": "consistent",
|
||||||
|
"semi": true,
|
||||||
|
"singleQuote": false,
|
||||||
|
"trailingComma": "all"
|
||||||
|
}
|
|
@ -3,7 +3,8 @@ import type {
|
||||||
AuthActionResponse,
|
AuthActionResponse,
|
||||||
CheckResponse,
|
CheckResponse,
|
||||||
OnErrorResponse
|
OnErrorResponse
|
||||||
} from "@refinedev/core/dist/interfaces"
|
// @ts-ignore
|
||||||
|
} from "@refinedev/core/dist/interfaces/bindings/auth"
|
||||||
|
|
||||||
export const authProvider: AuthProvider = {
|
export const authProvider: AuthProvider = {
|
||||||
login: async (params: any) => {
|
login: async (params: any) => {
|
||||||
|
|
54
app/root.tsx
54
app/root.tsx
|
@ -1,9 +1,9 @@
|
||||||
import {
|
import {
|
||||||
Links,
|
Links,
|
||||||
Meta,
|
Meta,
|
||||||
Outlet,
|
Outlet,
|
||||||
Scripts,
|
Scripts,
|
||||||
ScrollRestoration,
|
ScrollRestoration,
|
||||||
} from "@remix-run/react";
|
} from "@remix-run/react";
|
||||||
|
|
||||||
import stylesheet from "./tailwind.css?url";
|
import stylesheet from "./tailwind.css?url";
|
||||||
|
@ -11,33 +11,43 @@ import type { LinksFunction } from "@remix-run/node";
|
||||||
|
|
||||||
// Supports weights 200-800
|
// Supports weights 200-800
|
||||||
import '@fontsource-variable/manrope';
|
import '@fontsource-variable/manrope';
|
||||||
|
import {Refine} from "@refinedev/core";
|
||||||
|
import {authProvider} from "~/data/auth-provider.js";
|
||||||
|
import routerProvider from "@refinedev/remix-router";
|
||||||
|
|
||||||
export const links: LinksFunction = () => [
|
export const links: LinksFunction = () => [
|
||||||
{ rel: "stylesheet", href: stylesheet },
|
{ rel: "stylesheet", href: stylesheet },
|
||||||
];
|
];
|
||||||
|
|
||||||
export function Layout({ children }: { children: React.ReactNode }) {
|
export function Layout({children}: { children: React.ReactNode }) {
|
||||||
return (
|
return (
|
||||||
<html lang="en">
|
<html lang="en">
|
||||||
<head>
|
<head>
|
||||||
<meta charSet="utf-8" />
|
<meta charSet="utf-8"/>
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
<meta name="viewport" content="width=device-width, initial-scale=1"/>
|
||||||
<Meta />
|
<Meta/>
|
||||||
<Links />
|
<Links/>
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
{children}
|
{children}
|
||||||
<ScrollRestoration />
|
<ScrollRestoration/>
|
||||||
<Scripts />
|
<Scripts/>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
export default function App() {
|
export default function App() {
|
||||||
return <Outlet />;
|
return (
|
||||||
|
<Refine
|
||||||
|
authProvider={authProvider}
|
||||||
|
routerProvider={routerProvider}
|
||||||
|
>
|
||||||
|
<Outlet/>
|
||||||
|
</Refine>
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
export function HydrateFallback() {
|
export function HydrateFallback() {
|
||||||
return <p>Loading...</p>;
|
return <p>Loading...</p>;
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,13 +1,25 @@
|
||||||
import Login from "./login"
|
import Login from "./login";
|
||||||
|
import { useGo, useIsAuthenticated } from "@refinedev/core";
|
||||||
|
import { useEffect } from "react";
|
||||||
|
|
||||||
export default function Index() {
|
export default function Index() {
|
||||||
const isLogged = false
|
const { isLoading, data } = useIsAuthenticated();
|
||||||
|
|
||||||
if (isLogged) {
|
const go = useGo();
|
||||||
window.location.href = "/dashboard"
|
|
||||||
} else {
|
useEffect(() => {
|
||||||
window.location.href = "/login"
|
if (!isLoading && data?.authenticated) {
|
||||||
|
go({ to: "/dashboard", type: "replace" });
|
||||||
|
}
|
||||||
|
}, [isLoading, data]);
|
||||||
|
|
||||||
|
if (isLoading) {
|
||||||
|
return <>Checking Login Status</> || null;
|
||||||
}
|
}
|
||||||
|
|
||||||
return isLogged ? <div>Dashboard</div> : <Login />
|
if (data?.authenticated) {
|
||||||
|
return <>Redirecting</> || null;
|
||||||
|
}
|
||||||
|
|
||||||
|
return <Login />;
|
||||||
}
|
}
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -24,8 +24,10 @@
|
||||||
"@radix-ui/react-progress": "^1.0.3",
|
"@radix-ui/react-progress": "^1.0.3",
|
||||||
"@radix-ui/react-slot": "^1.0.2",
|
"@radix-ui/react-slot": "^1.0.2",
|
||||||
"@refinedev/cli": "^2.16.1",
|
"@refinedev/cli": "^2.16.1",
|
||||||
"@refinedev/core": "^4.47.2",
|
"@refinedev/core": "https://gitpkg.now.sh/LumeWeb/refine/packages/core?remix",
|
||||||
"@refinedev/remix-router": "^3.0.0",
|
"@refinedev/devtools-internal": "https://gitpkg.now.sh/LumeWeb/refine/packages/devtools-internal?remix",
|
||||||
|
"@refinedev/devtools-shared": "https://gitpkg.now.sh/LumeWeb/refine/packages/devtools-shared?remix",
|
||||||
|
"@refinedev/remix-router": "https://gitpkg.now.sh/LumeWeb/refine/packages/remix?remix",
|
||||||
"@remix-run/node": "^2.8.0",
|
"@remix-run/node": "^2.8.0",
|
||||||
"@remix-run/react": "^2.8.0",
|
"@remix-run/react": "^2.8.0",
|
||||||
"@tanstack/react-table": "^8.13.2",
|
"@tanstack/react-table": "^8.13.2",
|
||||||
|
|
Loading…
Reference in New Issue