refactor: error page sends email

This commit is contained in:
Carlos Valente
2025-10-05 20:29:47 +02:00
committed by Alex Christoffer Rasmussen
parent 27243c4432
commit 25030debe4
4 changed files with 20 additions and 27 deletions
@@ -49,15 +49,14 @@ class ErrorBoundary extends React.Component {
return ( return (
<div className={style.errorContainer} data-testid='error-container'> <div className={style.errorContainer} data-testid='error-container'>
<div> <div>
<p className={style.error}>:/</p> <p className={style.error}>: /</p>
<p>Something went wrong</p> <p>Something went wrong.</p>
<div <a
role='button'
className={style.report} className={style.report}
onClick={() => Sentry.showReportDialog({ eventId: this.state.eventId })} href={`mailto:mail@getontime.no?subject=Error%20Report&body=${encodeURIComponent(this.reportContent)}`}
> >
Report error Report error
</div> </a>
<div <div
role='button' role='button'
className={style.report} className={style.report}
@@ -3,24 +3,21 @@
height: 100%; height: 100%;
display: grid; display: grid;
place-content: center; place-content: center;
background-color: #121212; background-color: $ui-black;
color: white; color: $ui-white;
}
.error { .error {
color: $error-red; color: $error-red;
font-weight: 600; }
}
.report { .report {
text-decoration: underline $error-red; color: $blue-500;
cursor: pointer; text-decoration: underline;
} text-underline-offset: 2px;
cursor: pointer;
.report:hover { &:hover {
color: $error-red; color: $ontime-color;
}
.report:active {
color: white;
} }
} }
@@ -11,8 +11,7 @@ interface AppLinkProps {
* Component used to navigate to an editor link inside the same window * Component used to navigate to an editor link inside the same window
* Handles the path to respect Ontime Clouds base URL * Handles the path to respect Ontime Clouds base URL
*/ */
export default function AppLink(props: PropsWithChildren<AppLinkProps>) { export default function AppLink({ search, children }: PropsWithChildren<AppLinkProps>) {
const { search, children } = props;
const navigate = useNavigate(); const navigate = useNavigate();
const handleClick = () => navigate({ search }); const handleClick = () => navigate({ search });
@@ -12,9 +12,7 @@ interface ExternalLinkProps {
inline?: boolean; inline?: boolean;
} }
export default function ExternalLink(props: ExternalLinkProps) { export default function ExternalLink({ href, inline, children }: ExternalLinkProps) {
const { href, inline, children } = props;
const handleClick = (event: MouseEvent) => { const handleClick = (event: MouseEvent) => {
event.preventDefault(); event.preventDefault();
openLink(href); openLink(href);