Fixed redirect when error.
parent
935cf0c176
commit
940b198003
|
|
@ -7,6 +7,7 @@ import { useState } from "react";
|
||||||
import KennzahlenTable from "../components/KennzahlenTable";
|
import KennzahlenTable from "../components/KennzahlenTable";
|
||||||
import PDFViewer from "../components/pdfViewer";
|
import PDFViewer from "../components/pdfViewer";
|
||||||
import { kpiQueryOptions, settingsQueryOptions } from "../util/query";
|
import { kpiQueryOptions, settingsQueryOptions } from "../util/query";
|
||||||
|
import { redirect } from "@tanstack/react-router";
|
||||||
|
|
||||||
export const Route = createFileRoute("/extractedResult/$pitchBook")({
|
export const Route = createFileRoute("/extractedResult/$pitchBook")({
|
||||||
component: ExtractedResultsPage,
|
component: ExtractedResultsPage,
|
||||||
|
|
@ -15,11 +16,18 @@ export const Route = createFileRoute("/extractedResult/$pitchBook")({
|
||||||
from: search.from as string | undefined,
|
from: search.from as string | undefined,
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
loader: ({ context: { queryClient }, params: { pitchBook } }) =>
|
loader: async ({ context: { queryClient }, params: { pitchBook } }) => {
|
||||||
Promise.allSettled([
|
const results = await Promise.allSettled([
|
||||||
queryClient.ensureQueryData(kpiQueryOptions(pitchBook)),
|
queryClient.ensureQueryData(kpiQueryOptions(pitchBook)),
|
||||||
queryClient.ensureQueryData(settingsQueryOptions()),
|
queryClient.ensureQueryData(settingsQueryOptions()),
|
||||||
]),
|
]);
|
||||||
|
if (results[0].status === "rejected") {
|
||||||
|
throw redirect({
|
||||||
|
to: "/"
|
||||||
|
});
|
||||||
|
}
|
||||||
|
return results;
|
||||||
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
function ExtractedResultsPage() {
|
function ExtractedResultsPage() {
|
||||||
|
|
|
||||||
|
|
@ -23,11 +23,19 @@ import PDFViewer from "../components/pdfViewer";
|
||||||
import { kpiQueryOptions } from "../util/query";
|
import { kpiQueryOptions } from "../util/query";
|
||||||
import ArrowBackIcon from "@mui/icons-material/ArrowBack";
|
import ArrowBackIcon from "@mui/icons-material/ArrowBack";
|
||||||
import {fetchPutKPI} from "../util/api";
|
import {fetchPutKPI} from "../util/api";
|
||||||
|
import { redirect } from "@tanstack/react-router";
|
||||||
|
|
||||||
export const Route = createFileRoute("/extractedResult_/$pitchBook/$kpi")({
|
export const Route = createFileRoute("/extractedResult_/$pitchBook/$kpi")({
|
||||||
component: ExtractedResultsPage,
|
component: ExtractedResultsPage,
|
||||||
loader: ({ context: { queryClient }, params: { pitchBook } }) =>
|
loader: async ({ context: { queryClient }, params: { pitchBook } }) => {
|
||||||
queryClient.ensureQueryData(kpiQueryOptions(pitchBook)),
|
try {
|
||||||
|
return await queryClient.ensureQueryData(kpiQueryOptions(pitchBook));
|
||||||
|
} catch (err) {
|
||||||
|
throw redirect({
|
||||||
|
to: "/"
|
||||||
|
});
|
||||||
|
}
|
||||||
|
},
|
||||||
});
|
});
|
||||||
|
|
||||||
function ExtractedResultsPage() {
|
function ExtractedResultsPage() {
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue