basic pages

This commit is contained in:
Robert 2024-03-07 05:33:23 +07:00
parent 4ab8033a13
commit e80d82408e
No known key found for this signature in database
GPG Key ID: F631C7FD957D5F22
4 changed files with 56 additions and 4 deletions

View File

@ -0,0 +1,22 @@
import { redirect } from "@tanstack/react-router";
import { requireChains } from "@/entities/chain/lib";
import { useChainState } from "@/entities/chain/model";
import { createFileRoute } from "@tanstack/react-router";
function ChainPage() {
return <div className="mt-8">Content</div>;
}
export const Route = createFileRoute("/$namespace/$chainId")({
component: ChainPage,
loader: async ({ params }) => {
await requireChains();
const chains = useChainState.getState().chains;
if (typeof chains === "undefined")
throw redirect({ to: "/$namespace", params });
const selectedChain = chains.find((value) => value._id === params.chainId);
if (!selectedChain) throw redirect({ to: "/$namespace", params });
},
});

View File

@ -0,0 +1,24 @@
import { redirect } from "@tanstack/react-router";
import { requireChains } from "@/entities/chain/lib";
import { useChainState } from "@/entities/chain/model";
import { createFileRoute } from "@tanstack/react-router";
function IndexPage() {
return <div className="mt-8">content</div>;
}
export const Route = createFileRoute("/$namespace/")({
component: IndexPage,
loader: async ({ params }) => {
await requireChains();
const chains = useChainState.getState().chains;
if (typeof chains === "undefined") throw redirect({ to: "/" });
if (chains.length > 0)
throw redirect({
to: `/$namespace/$chainId`,
params: { namespace: params.namespace, chainId: chains[0]._id },
});
},
});

View File

@ -1,9 +1,15 @@
import { Header } from "@/widgets/header";
import { Sidebar } from "@/widgets/sidebar";
import { createRootRoute, Outlet } from "@tanstack/react-router";
export const Route = createRootRoute({
component: () => (
<>
<Outlet />
</>
<div>
<Header />
<div className="flex gap-x-4 overflow-hidden">
<Sidebar />
<Outlet />
</div>
</div>
),
});

View File

@ -1,7 +1,7 @@
import { createFileRoute } from "@tanstack/react-router";
function IndexPage() {
return <div>hi</div>;
return <div className="mt-8">Сервис недоступен</div>;
}
export const Route = createFileRoute("/")({