mirror of
https://github.com/LemmyNet/lemmy-ui.git
synced 2024-11-26 06:11:15 +00:00
Fix error page not showing when site not fetched and adjust styles
This commit is contained in:
parent
3996cdaae3
commit
23d7751523
3 changed files with 33 additions and 16 deletions
|
@ -167,7 +167,7 @@ server.get("/*", async (req, res) => {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
routeData = [getErrorRouteData(error)];
|
routeData = getErrorRouteData(error, site);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Redirect to the 404 if there's an API error
|
// Redirect to the 404 if there's an API error
|
||||||
|
@ -177,13 +177,10 @@ server.get("/*", async (req, res) => {
|
||||||
if (error === "instance_is_private") {
|
if (error === "instance_is_private") {
|
||||||
return res.redirect(`/signup`);
|
return res.redirect(`/signup`);
|
||||||
} else {
|
} else {
|
||||||
routeData = [getErrorRouteData(error, site)];
|
routeData = getErrorRouteData(error, site);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
console.log("Route Data");
|
|
||||||
console.log(routeData);
|
|
||||||
|
|
||||||
const isoData: IsoDataOptionalSite = {
|
const isoData: IsoDataOptionalSite = {
|
||||||
path,
|
path,
|
||||||
site_res: site,
|
site_res: site,
|
||||||
|
|
|
@ -16,31 +16,51 @@ export class ErrorPage extends Component<any, any> {
|
||||||
return (
|
return (
|
||||||
<div className="container-lg text-center">
|
<div className="container-lg text-center">
|
||||||
<h1>{errorPageData ? "Error!" : "Page Not Found"}</h1>
|
<h1>{errorPageData ? "Error!" : "Page Not Found"}</h1>
|
||||||
<p>
|
<p className="p-4">
|
||||||
{errorPageData
|
{errorPageData ? (
|
||||||
? 'There was an error on the server. Try refreshing your browser. If that doesn\'t work, come back at a later time. If the problem persists, <a href="https://github.com/LemmyNet/lemmy/issues">consider opening an issue.</a>'
|
<>
|
||||||
: "The page you are looking for does not exist"}
|
<span>
|
||||||
|
There was an error on the server. Try refreshing your browser.
|
||||||
|
If that doesn't work, come back at a later time. If the
|
||||||
|
problem persists,
|
||||||
|
</span>{" "}
|
||||||
|
<a href="https://github.com/LemmyNet/lemmy/issues">
|
||||||
|
consider opening an issue.
|
||||||
|
</a>
|
||||||
|
</>
|
||||||
|
) : (
|
||||||
|
"The page you are looking for does not exist."
|
||||||
|
)}
|
||||||
</p>
|
</p>
|
||||||
{!errorPageData && (
|
{!errorPageData && (
|
||||||
<Link to="/">Click here to return to your home page</Link>
|
<Link to="/" replace>
|
||||||
|
Click here to return to your home page.
|
||||||
|
</Link>
|
||||||
)}
|
)}
|
||||||
{errorPageData?.adminMatrixIds &&
|
{errorPageData?.adminMatrixIds &&
|
||||||
errorPageData.adminMatrixIds.length > 0 && (
|
errorPageData.adminMatrixIds.length > 0 && (
|
||||||
<div>
|
<>
|
||||||
<div>
|
<div>
|
||||||
If you would like to reach out to one of{" "}
|
If you would like to reach out to one of{" "}
|
||||||
{this.isoData.site_res?.site_view.site.name ?? "this instance"}
|
{this.isoData.site_res?.site_view.site.name ?? "this instance"}
|
||||||
's admins for support, try the following Matrix addresses:
|
's admins for support, try the following Matrix addresses:
|
||||||
</div>
|
</div>
|
||||||
<ul>
|
<ul className="mx-auto mt-2" style={{ width: "fit-content" }}>
|
||||||
{errorPageData.adminMatrixIds.map(matrixId => (
|
{errorPageData.adminMatrixIds.map(matrixId => (
|
||||||
<li key={matrixId}>{matrixId}</li>
|
<li key={matrixId} className="text-info">
|
||||||
|
{matrixId}
|
||||||
|
</li>
|
||||||
))}
|
))}
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</>
|
||||||
)}
|
)}
|
||||||
{errorPageData?.error && (
|
{errorPageData?.error && (
|
||||||
<code className="text-start">{errorPageData.error}</code>
|
<code
|
||||||
|
style={{ "text-align": "start" }}
|
||||||
|
className="d-block bg-dark text-light p-2 mt-4"
|
||||||
|
>
|
||||||
|
{errorPageData.error}
|
||||||
|
</code>
|
||||||
)}
|
)}
|
||||||
</div>
|
</div>
|
||||||
);
|
);
|
||||||
|
|
|
@ -6,7 +6,7 @@ function AuthGuard(props: { children?: InfernoNode }) {
|
||||||
if (!UserService.Instance.myUserInfo) {
|
if (!UserService.Instance.myUserInfo) {
|
||||||
return <Redirect to="/login" />;
|
return <Redirect to="/login" />;
|
||||||
} else {
|
} else {
|
||||||
return <>{props.children}</>;
|
return props.children;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue