frontend/Components/ErrorViewer/index.tsx

63 lines
2.3 KiB
TypeScript
Raw Normal View History

2022-08-26 22:49:44 +03:00
import React, { useState } from "react";
import DocViewer, { DocViewerRenderers } from "react-doc-viewer";
import styles from "./error.module.css"
import 'antd/dist/antd.css';
interface ErrorViewerIE{
errText:string;
paragraph: string[];
variants?: string[];
num: number;
2022-08-27 01:37:17 +03:00
correct:boolean
2022-08-26 22:49:44 +03:00
}
export const ErrorViewer : React.FC<ErrorViewerIE> = (props) =>{
const [open, setOpen] = useState(false)
return(
2022-08-27 01:37:17 +03:00
<div className={styles.viewer}>
<div className={styles.card}>
<div className={styles.leftSide}>
<img src={props.correct? "/images/correct.svg":"/images/err.svg"}></img>
<div style={{color:"rgba(0, 0, 0, 0.45)"}}>{props.num}</div>
<div className={styles.Text}>
{props.errText}
</div>
2022-08-26 22:49:44 +03:00
</div>
2022-08-27 01:37:17 +03:00
<div className={styles.rightSide}>
<div className={styles.correct}>{props.correct? "Нет замечаний":"Есть замечания"}</div>
<div onClick={()=>setOpen(!open)} className={styles.arrow}>
<span style={{color:"#1890FF"}}>Посмотреть</span>
<img style={{transform: open? "rotate(180deg)":""}} src="/images/arrow.svg"></img>
</div>
</div>
</div>
{ open?
<div className={styles.fixes}>
<div className={styles.paragraphs}>
2022-08-26 22:49:44 +03:00
{
props.paragraph.map(
2022-08-27 01:37:17 +03:00
(value, index)=><div className={styles.paragraph}>
<div>{index+1}</div>
<div className={styles.paragraph}>{value}</div>
</div>
2022-08-26 22:49:44 +03:00
)
}
</div>
<div style={{display: props.variants==undefined? "none":""}}>
{
props.variants?.map(
(value)=><div className={styles.variant}>{value}</div>
)
}
</div>
</div>
2022-08-27 01:37:17 +03:00
:<div></div>
}
2022-08-26 22:49:44 +03:00
</div>
);
}