-
Notifications
You must be signed in to change notification settings - Fork 2
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
SFR-2239: Remove error codes from error page #536
Changes from 1 commit
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -14,59 +14,53 @@ import { FeedbackContext } from "../context/FeedbackContext"; | |
|
||
const ERROR_PERSISTS = " if the error persists."; | ||
|
||
const getNotificationText = (statusCode) => { | ||
return `You are asking for help or information about a page error (error code ${statusCode})`; | ||
}; | ||
|
||
const errorMap = { | ||
500: { | ||
overline: "error 500", | ||
heading: "Something went wrong on our end.", | ||
subText: "We encountered an error while trying to load the page. ", | ||
tryText: "Try refreshing the page or ", | ||
}, | ||
404: { | ||
overline: "error 404", | ||
heading: "We couldn't find that page.", | ||
subText: | ||
"The page you were looking for doesn't exist or may have moved elsewhere. ", | ||
tryText: "Try a different URL or ", | ||
}, | ||
400: { | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. May want to consider having a default error map. |
||
overline: "error 400", | ||
heading: "There was an unexpected error.", | ||
subText: "We couldn't process your request at this time. ", | ||
tryText: "Try again later or ", | ||
}, | ||
}; | ||
|
||
const Error = ({ statusCode }) => { | ||
const { onOpen, isError, setNotificationText, setIsError } = | ||
const { onOpen, isError, setIsError, setStatusCode } = | ||
useContext(FeedbackContext); | ||
|
||
useEffect(() => { | ||
if (!isError) { | ||
setIsError(true); | ||
setNotificationText(getNotificationText(statusCode)); | ||
setStatusCode(statusCode); | ||
} | ||
}, [isError, setIsError, setNotificationText, statusCode]); | ||
}, [isError, setIsError, setStatusCode, statusCode]); | ||
|
||
return ( | ||
<Layout> | ||
<Flex | ||
alignItems="center" | ||
flexDir="column" | ||
paddingLeft="l" | ||
paddingRight="l" | ||
textAlign="center" | ||
role="alert" | ||
> | ||
<Image | ||
src="/images/error-img.png" | ||
alt="" | ||
marginBottom="xl" | ||
marginTop="xxxl" | ||
marginTop={{ base: "xl", md: "xxxl" }} | ||
width={100} | ||
/> | ||
<Text size="overline1">{errorMap[statusCode].overline}</Text> | ||
<Heading marginTop="s" marginBottom="s"> | ||
{errorMap[statusCode].heading} | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Here you may just want guard against unexpected error codes like 502, 503, 403 and go to the default error mapping. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Spoke with Apoorva and she recommended that we use the 400 error as default. |
||
</Heading> | ||
|
@@ -89,7 +83,11 @@ const Error = ({ statusCode }) => { | |
</Button> | ||
{ERROR_PERSISTS} | ||
</Box> | ||
<Box width="fit-content" marginTop="xxl" marginBottom="xxxl"> | ||
<Box | ||
width="fit-content" | ||
marginTop={{ base: "xl", md: "xxl" }} | ||
marginBottom={{ base: "xxl", md: "xxxl" }} | ||
> | ||
<Link to="/" linkType="buttonPrimary"> | ||
Back to Digital Research Books | ||
</Link> | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks like statusCode could be null though I hope that's never the case so we may just want to have a default. What are your thoughts?
{statusCode ?? 'Unknown'} - ${values.comment}
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We may also want to prefix the status code with something like Error Code: or HTTP Status Code: just so folks understand what the status code means!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes, good idea!