style error page
parent
5765c78a1d
commit
08875e4415
Binary file not shown.
|
After Width: | Height: | Size: 607 KiB |
@ -1,17 +1,23 @@
|
|||||||
import * as React from 'react'
|
import * as React from 'react'
|
||||||
import { useRouteError } from "react-router-dom";
|
import { useRouteError } from "react-router-dom";
|
||||||
|
import '../css/error_page.css'
|
||||||
|
|
||||||
export default function ErrorPage() {
|
export default function ErrorPage() {
|
||||||
const error: any = useRouteError();
|
const error: any = useRouteError()
|
||||||
console.error(error);
|
console.error(error)
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<div id="error-page">
|
<div id="error-page">
|
||||||
|
<div className="error-message">
|
||||||
<h1>Oops!</h1>
|
<h1>Oops!</h1>
|
||||||
<p>Sorry, an unexpected error has occurred.</p>
|
<p>Something unexpected happened:</p>
|
||||||
<p>
|
<p><code>{error.statusText || error.message}</code></p>
|
||||||
<i>{error.statusText || error.message}</i>
|
<p>Please create an issue on the <a href="https://github.com/leanprover-community/lean4game/issues" target="_blank">lean4game repo</a>.</p>
|
||||||
</p>
|
<div className="thought-bubble" />
|
||||||
|
<div className="thought-bubble" />
|
||||||
|
<div className="thought-bubble" />
|
||||||
|
<div className="thought-bubble" />
|
||||||
</div>
|
</div>
|
||||||
);
|
</div>
|
||||||
|
)
|
||||||
}
|
}
|
||||||
|
|||||||
@ -0,0 +1,60 @@
|
|||||||
|
#error-page {
|
||||||
|
height: 100%;
|
||||||
|
background-image: url("/RoboSurprised.png");
|
||||||
|
background-repeat: no-repeat;
|
||||||
|
background-size: contain;
|
||||||
|
background-position: right bottom;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* these colours are matching the ones of `.messages.error` */
|
||||||
|
.error-message{
|
||||||
|
border: 2px solid #D8000C;
|
||||||
|
background-color: #FFBABA;
|
||||||
|
border-radius: 1rem;
|
||||||
|
display: inline-block;
|
||||||
|
margin: 3rem;
|
||||||
|
padding-left: 1rem;
|
||||||
|
padding-right: 1rem;
|
||||||
|
/* color: #D8000C; */
|
||||||
|
position: relative;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
.thought-bubble {
|
||||||
|
border: 2px solid #D8000C;
|
||||||
|
background-color: #FFBABA;
|
||||||
|
position: absolute;
|
||||||
|
display: block;
|
||||||
|
}
|
||||||
|
|
||||||
|
.thought-bubble:nth-of-type(1) {
|
||||||
|
bottom: -3.5rem;
|
||||||
|
left: 1rem;
|
||||||
|
border-radius: 1.2rem;
|
||||||
|
width: 2.4rem;
|
||||||
|
height: 2.4rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.thought-bubble:nth-of-type(2) {
|
||||||
|
bottom: -6rem;
|
||||||
|
left: 2.5rem;
|
||||||
|
border-radius: 1rem;
|
||||||
|
width: 2rem;
|
||||||
|
height: 2rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.thought-bubble:nth-of-type(3) {
|
||||||
|
bottom: -7.5rem;
|
||||||
|
left: 4.5rem;
|
||||||
|
border-radius: 0.8rem;
|
||||||
|
width: 1.6rem;
|
||||||
|
height: 1.6rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.thought-bubble:nth-of-type(4) {
|
||||||
|
bottom: -8.2rem;
|
||||||
|
left: 6.8rem;
|
||||||
|
border-radius: 0.6rem;
|
||||||
|
width: 1.4rem;
|
||||||
|
height: 1.4rem;
|
||||||
|
}
|
||||||
Loading…
Reference in New Issue