aboutsummaryrefslogtreecommitdiff
path: root/frontend/src/components/PasteInfo.js
diff options
context:
space:
mode:
authorjackyzha0 <[email protected]>2021-04-11 12:42:42 -0700
committerjackyzha0 <[email protected]>2021-04-11 12:42:42 -0700
commited65c8b61d2c7955998f877ee501ef84a1473626 (patch)
tree9c3f2d0b3f84f31c49ac3ad899e7158c696430e2 /frontend/src/components/PasteInfo.js
parentbase resolve paste and fetch paste refactor (diff)
downloadctrl-v-ed65c8b61d2c7955998f877ee501ef84a1473626.tar.xz
ctrl-v-ed65c8b61d2c7955998f877ee501ef84a1473626.zip
refactor error handling in pasteinfo
Diffstat (limited to 'frontend/src/components/PasteInfo.js')
-rw-r--r--frontend/src/components/PasteInfo.js34
1 files changed, 19 insertions, 15 deletions
diff --git a/frontend/src/components/PasteInfo.js b/frontend/src/components/PasteInfo.js
index 2f912fb..1ef69cc 100644
--- a/frontend/src/components/PasteInfo.js
+++ b/frontend/src/components/PasteInfo.js
@@ -3,6 +3,7 @@ import styled from 'styled-components'
import { Theme } from './Inputs'
import {Button} from "./Common/Button";
import {useRouter} from "next/router";
+import {ErrMsg} from "./Err";
const Bold = styled.span`
font-weight: 700
@@ -27,21 +28,21 @@ const Flex = styled.div`
flex-direction: row;
`
-const PasteInfo = (props) => {
+const PasteInfo = ({hash, lang, theme, expiry, toggleRenderCallback, isRenderMode, onChange, err}) => {
const router = useRouter()
const redirRaw = () => {
- const redirUrl = `/raw/${props.hash}`
+ const redirUrl = `/raw/${hash}`
router.push(redirUrl);
}
const renderable = () => {
- const buttonTxt = props.isRenderMode ? 'text' : 'render'
- if (props.lang === 'latex' || props.lang === 'markdown') {
+ const buttonTxt = isRenderMode ? 'text' : 'render'
+ if (lang === 'latex' || lang === 'markdown') {
return (
<ShiftedButton
secondary
type="button"
- onClick={props.toggleRenderCallback}>
+ onClick={toggleRenderCallback}>
{buttonTxt}
</ShiftedButton>
);
@@ -59,20 +60,23 @@ const PasteInfo = (props) => {
</ShiftedButton>
{renderable()}
<Theme
- value={props.theme}
- onChange={props.onChange}
+ value={theme}
+ onChange={onChange}
id="themeInput" />
</Flex>
<StyledDiv>
- <SpacedText>
- <Bold>language:&nbsp;</Bold>{props.lang}
- </SpacedText>
- <SpacedText>
- <Bold>expires:&nbsp;</Bold>{props.expiry}
- </SpacedText>
+ {err ?
+ <ErrMsg active> {err} </ErrMsg> :
+ <>
+ <SpacedText>
+ <Bold>language:&nbsp;</Bold>{lang}
+ </SpacedText>
+ <SpacedText>
+ <Bold>expires:&nbsp;</Bold>{expiry}
+ </SpacedText>
+ </>
+ }
</StyledDiv>
- <br />
- {props.err}
</div>
);
}