Throwing 404 to the wall

This commit is contained in:
2025-05-06 21:14:54 +02:00
parent 5a8050145d
commit 990e7fa226
6 changed files with 44 additions and 14 deletions

View File

@@ -43,6 +43,7 @@
"mui-tiptap": "^1.18.1", "mui-tiptap": "^1.18.1",
"react": "^18.0.0", "react": "^18.0.0",
"react-dom": "^18.0.0", "react-dom": "^18.0.0",
"react-error-boundary": "^6.0.0",
"react-hook-form": "^7.30.0", "react-hook-form": "^7.30.0",
"react-i18next": "^15.5.1", "react-i18next": "^15.5.1",
"react-router": "^7.0.2" "react-router": "^7.0.2"
@@ -9180,6 +9181,18 @@
"react": "^18.3.1" "react": "^18.3.1"
} }
}, },
"node_modules/react-error-boundary": {
"version": "6.0.0",
"resolved": "https://registry.npmjs.org/react-error-boundary/-/react-error-boundary-6.0.0.tgz",
"integrity": "sha512-gdlJjD7NWr0IfkPlaREN2d9uUZUlksrfOx7SX62VRerwXbMY6ftGCIZua1VG1aXFNOimhISsTq+Owp725b9SiA==",
"license": "MIT",
"dependencies": {
"@babel/runtime": "^7.12.5"
},
"peerDependencies": {
"react": ">=16.13.1"
}
},
"node_modules/react-hook-form": { "node_modules/react-hook-form": {
"version": "7.56.1", "version": "7.56.1",
"resolved": "https://registry.npmjs.org/react-hook-form/-/react-hook-form-7.56.1.tgz", "resolved": "https://registry.npmjs.org/react-hook-form/-/react-hook-form-7.56.1.tgz",

View File

@@ -39,6 +39,7 @@
"mui-tiptap": "^1.18.1", "mui-tiptap": "^1.18.1",
"react": "^18.0.0", "react": "^18.0.0",
"react-dom": "^18.0.0", "react-dom": "^18.0.0",
"react-error-boundary": "^6.0.0",
"react-hook-form": "^7.30.0", "react-hook-form": "^7.30.0",
"react-i18next": "^15.5.1", "react-i18next": "^15.5.1",
"react-router": "^7.0.2" "react-router": "^7.0.2"

View File

@@ -0,0 +1,4 @@
export const Error404Page = () => {
return <h2>EROR NO FUND</h2>
};

View File

@@ -38,6 +38,10 @@ const Edit = <T,>(props: EditProps) => {
return <Navigate to="../" /> return <Navigate to="../" />
} }
if (query.error?.status == 404) {
throw query.error
}
const record = query.data.data; const record = query.data.data;
return ( return (
<> <>

View File

@@ -85,6 +85,10 @@ const List = <T extends GridValidRowModel>(props: ListProps) => {
return <CircularProgress /> return <CircularProgress />
} }
if (tableQueryResult.error?.status == 404) {
throw tableQueryResult.error
}
return ( return (
<RefineList> <RefineList>
<Link to={"create"} > <Link to={"create"} >

View File

@@ -1,7 +1,7 @@
import { Route, Routes, Link } from "react-router"; import { Route, Routes, Link } from "react-router";
import React, { useContext } from "react"; import React from "react";
import { useForm, useOne, useTranslation } from "@refinedev/core"; import { useForm, useTranslation } from "@refinedev/core";
import { FirmContext, FirmContextProvider } from "../../contexts/FirmContext"; import { FirmContextProvider } from "../../contexts/FirmContext";
import { Header } from "../../components"; import { Header } from "../../components";
import { CrudForm } from "../../lib/crud/components/crud-form"; import { CrudForm } from "../../lib/crud/components/crud-form";
import { IFirm } from "../../interfaces"; import { IFirm } from "../../interfaces";
@@ -10,22 +10,26 @@ import { ContractRoutes } from "./ContractRoutes";
import { DraftRoutes } from "./DraftRoutes"; import { DraftRoutes } from "./DraftRoutes";
import { TemplateRoutes } from "./TemplateRoutes"; import { TemplateRoutes } from "./TemplateRoutes";
import { ProvisionRoutes } from "./ProvisionRoutes"; import { ProvisionRoutes } from "./ProvisionRoutes";
import { ErrorBoundary } from "react-error-boundary";
import { Error404Page } from "../ErrorPage";
export const FirmRoutes = () => { export const FirmRoutes = () => {
return ( return (
<Routes> <Routes>
<Route path="/:instance/:firm/*" element={ <Route path="/:instance/:firm/*" element={
<FirmContextProvider> <ErrorBoundary fallback={<><Header /><Error404Page /></>} >
<Header /> <FirmContextProvider>
<Routes> <Header />
<Route index element={ <FirmHome /> } /> <Routes>
<Route path="/entities/*" element={ <EntityRoutes /> } /> <Route index element={ <FirmHome /> } />
<Route path="/provisions/*" element={ <ProvisionRoutes /> } /> <Route path="/entities/*" element={ <EntityRoutes /> } />
<Route path="/templates/*" element={ <TemplateRoutes /> } /> <Route path="/provisions/*" element={ <ProvisionRoutes /> } />
<Route path="/drafts/*" element={ <DraftRoutes /> } /> <Route path="/templates/*" element={ <TemplateRoutes /> } />
<Route path="/contracts/*" element={ <ContractRoutes /> } /> <Route path="/drafts/*" element={ <DraftRoutes /> } />
</Routes> <Route path="/contracts/*" element={ <ContractRoutes /> } />
</FirmContextProvider> </Routes>
</FirmContextProvider>
</ErrorBoundary>
} /> } />
</Routes> </Routes>
); );