Add layered error boundaries to compliance portal
Introduce global, page, and section-level error handling for the compliance portal so a failure is contained at the smallest possible scope instead of blanking the whole page. Add a portal-local Relay fetch that throws only request-level errors (and always redirects on UNAUTHENTICATED) while leaving field-level errors in the response, so Relay surfaces them at the reading component through @throwOnFieldError and the nearest boundary. Add a NotFoundError for node __typename mismatches mapped to a not-found page. Ship reusable v2 kit primitives (ErrorBoundary, ErrorState, InlineError) matching the Figma global/local/inline designs, wire the bootstrap and route boundaries, and demonstrate section and row boundaries on the home page. Update the error-handling and relay guides accordingly. Signed-off-by: Émile Ré <emile@probo.com>
This commit is contained in:
@@ -18,15 +18,19 @@
|
||||
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
// SOFTWARE.
|
||||
|
||||
import { ErrorBoundary } from "@probo/ui/src/v2/ErrorBoundary/ErrorBoundary";
|
||||
import { RouterProvider } from "react-router";
|
||||
|
||||
import { BootstrapError } from "#/components/errors/BootstrapError";
|
||||
import { RelayProvider } from "#/lib/relay/RelayProvider";
|
||||
import { router } from "#/routes";
|
||||
|
||||
export function App() {
|
||||
return (
|
||||
<RelayProvider>
|
||||
<RouterProvider router={router} />
|
||||
</RelayProvider>
|
||||
<ErrorBoundary fallback={<BootstrapError />}>
|
||||
<RelayProvider>
|
||||
<RouterProvider router={router} />
|
||||
</RelayProvider>
|
||||
</ErrorBoundary>
|
||||
);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user