diff options
| author | jackyzha0 <[email protected]> | 2021-04-11 12:42:42 -0700 |
|---|---|---|
| committer | jackyzha0 <[email protected]> | 2021-04-11 12:42:42 -0700 |
| commit | ed65c8b61d2c7955998f877ee501ef84a1473626 (patch) | |
| tree | 9c3f2d0b3f84f31c49ac3ad899e7158c696430e2 /frontend/src/components/PasteInfo.js | |
| parent | base resolve paste and fetch paste refactor (diff) | |
| download | ctrl-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.js | 34 |
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: </Bold>{props.lang} - </SpacedText> - <SpacedText> - <Bold>expires: </Bold>{props.expiry} - </SpacedText> + {err ? + <ErrMsg active> {err} </ErrMsg> : + <> + <SpacedText> + <Bold>language: </Bold>{lang} + </SpacedText> + <SpacedText> + <Bold>expires: </Bold>{expiry} + </SpacedText> + </> + } </StyledDiv> - <br /> - {props.err} </div> ); } |