Skip to content

Commit

Permalink
Fix error pages (#39)
Browse files Browse the repository at this point in the history
* Wrap RouteError into default Layout

* Create error layout sublevel
  • Loading branch information
selankon authored Jul 3, 2024
1 parent 14e9aee commit acb7c61
Showing 1 changed file with 110 additions and 106 deletions.
216 changes: 110 additions & 106 deletions src/router/index.tsx
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
import { ExtendedSDKClient } from '@vocdoni/extended-sdk'
import { useClient } from '@vocdoni/react-providers'
import { lazy } from 'react'
import { createBrowserRouter, RouteObject, RouterProvider } from 'react-router-dom'
Expand All @@ -6,7 +7,6 @@ import Layout from '~src/layout/Default'
import Error404 from '~src/router/Error404'
import RouteError from '~src/router/RouteError'
import { SuspenseLoader } from '~src/router/SuspenseLoader'
import { ExtendedSDKClient } from '@vocdoni/extended-sdk'

const Home = lazy(() => import('~pages/Home'))
const Block = lazy(() => import('~pages/block'))
Expand All @@ -27,113 +27,117 @@ export const RoutesProvider = () => {
{
path: RoutePath.Base,
element: <Layout />,
errorElement: <RouteError />,
children: [
{
index: true,
element: (
<SuspenseLoader>
<Home />
</SuspenseLoader>
),
},
{
path: RoutePath.Block,
element: (
<SuspenseLoader>
<Block />
</SuspenseLoader>
),
loader: async ({ params }) => await client.blockByHeight(Number(params.height)),
},
{
path: RoutePath.BlocksList,
element: (
<SuspenseLoader>
<BlocksList />
</SuspenseLoader>
),
},
{
path: RoutePath.Organization,
element: (
<SuspenseLoader>
<Organization />
</SuspenseLoader>
),
loader: async ({ params }) => await client.fetchAccount(params.pid),
},
{
path: RoutePath.Envelope,
element: (
<SuspenseLoader>
<Envelope />
</SuspenseLoader>
),
loader: async ({ params }) => await client.voteInfo(params.verifier as string),
},
{
path: RoutePath.OrganizationsList,
element: (
<SuspenseLoader>
<OrganizationsList />
</SuspenseLoader>
),
},
{
path: RoutePath.ProcessesList,
element: (
<SuspenseLoader>
<ProcessList />
</SuspenseLoader>
),
},
{
path: RoutePath.Process,
element: (
<SuspenseLoader>
<Process />
</SuspenseLoader>
),
loader: async ({ params }) => await client.fetchElection(params.pid),
},
{
path: RoutePath.Transaction,
element: (
<SuspenseLoader>
<Transaction />
</SuspenseLoader>
),
loader: async ({ params }) => await client.txInfoByBlock(Number(params.block), Number(params.index)),
},
{
path: RoutePath.TransactionsList,
element: (
<SuspenseLoader>
<TransactionsList />
</SuspenseLoader>
),
},
{
path: RoutePath.Validators,
element: (
<SuspenseLoader>
<Validators />
</SuspenseLoader>
),
loader: async ({ params }) => await client.validatorsList(),
},
{
path: RoutePath.Verify,
element: (
<SuspenseLoader>
<Verify />
</SuspenseLoader>
),
},
{
path: '*',
element: <Error404 />,
errorElement: <RouteError />,
children: [
{
index: true,
element: (
<SuspenseLoader>
<Home />
</SuspenseLoader>
),
},
{
path: RoutePath.Block,
element: (
<SuspenseLoader>
<Block />
</SuspenseLoader>
),
loader: async ({ params }) => await client.blockByHeight(Number(params.height)),
},
{
path: RoutePath.BlocksList,
element: (
<SuspenseLoader>
<BlocksList />
</SuspenseLoader>
),
},
{
path: RoutePath.Organization,
element: (
<SuspenseLoader>
<Organization />
</SuspenseLoader>
),
loader: async ({ params }) => await client.fetchAccount(params.pid),
},
{
path: RoutePath.Envelope,
element: (
<SuspenseLoader>
<Envelope />
</SuspenseLoader>
),
loader: async ({ params }) => await client.voteInfo(params.verifier as string),
},
{
path: RoutePath.OrganizationsList,
element: (
<SuspenseLoader>
<OrganizationsList />
</SuspenseLoader>
),
},
{
path: RoutePath.ProcessesList,
element: (
<SuspenseLoader>
<ProcessList />
</SuspenseLoader>
),
},
{
path: RoutePath.Process,
element: (
<SuspenseLoader>
<Process />
</SuspenseLoader>
),
loader: async ({ params }) => await client.fetchElection(params.pid),
},
{
path: RoutePath.Transaction,
element: (
<SuspenseLoader>
<Transaction />
</SuspenseLoader>
),
loader: async ({ params }) => await client.txInfoByBlock(Number(params.block), Number(params.index)),
},
{
path: RoutePath.TransactionsList,
element: (
<SuspenseLoader>
<TransactionsList />
</SuspenseLoader>
),
},
{
path: RoutePath.Validators,
element: (
<SuspenseLoader>
<Validators />
</SuspenseLoader>
),
loader: async ({ params }) => await client.validatorsList(),
},
{
path: RoutePath.Verify,
element: (
<SuspenseLoader>
<Verify />
</SuspenseLoader>
),
},
{
path: '*',
element: <Error404 />,
},
],
},
],
},
Expand Down

2 comments on commit acb7c61

@github-actions
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@github-actions
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please sign in to comment.