refacto file rendering

This commit is contained in:
OxSaitama 2023-05-11 22:05:09 +02:00
parent d4e85a6fdc
commit 9816c7753a
3 changed files with 8 additions and 7 deletions

View File

@ -54,7 +54,7 @@ export default class Files extends BaseSuperAdmin {
} }
public getUploadLink(uid: string): string { public getUploadLink(uid: string): string {
return this.baseURl.concat(`/upload/${uid}`); return this.baseURl.concat(`/download/${uid}`);
} }

View File

@ -5,12 +5,14 @@ import classes from "./classes.module.scss";
type IProps = { type IProps = {
href: string; href: string;
fileName?: string;
}; };
type IState = {}; type IState = {};
export default class FilePreview extends React.Component<IProps, IState> { export default class FilePreview extends React.Component<IProps, IState> {
override render() { override render() {
const type = this.props.href.split(".").pop(); let type = this.props.href.split(".").pop();
if(this.props.fileName) type = this.props.fileName.split(".").pop();
return ( return (
<div className={classes["root"]}> <div className={classes["root"]}>
{!type && ( {!type && (
@ -18,14 +20,12 @@ export default class FilePreview extends React.Component<IProps, IState> {
Erreur lors du chargement du fichier Erreur lors du chargement du fichier
</Typography> </Typography>
)} )}
{type && (
<div className={classes["file-container"]}> <div className={classes["file-container"]}>
{type === "pdf" && ( {type?.toLowerCase() === "pdf" && (
<embed src={this.props.href} width="100%" height="100%" type="application/pdf" className={classes["pdf"]} /> <embed src={this.props.href} width="100%" height="100%" type="application/pdf" className={classes["pdf"]} />
)} )}
{type !== "pdf" && <img src={this.props.href} alt="File preview" className={classes["image"]} />} {type?.toLowerCase() !== "pdf" && <img src={this.props.href} alt="File preview" className={classes["image"]} />}
</div> </div>
)}
</div> </div>
); );
} }

View File

@ -91,6 +91,7 @@ class ViewDocumentsClass extends BasePage<IPropsClass, IState> {
<div className={classes["file-container"]}> <div className={classes["file-container"]}>
<FilePreview <FilePreview
href={Files.getInstance().getUploadLink(this.state.selectedFile?.uid as string)} href={Files.getInstance().getUploadLink(this.state.selectedFile?.uid as string)}
fileName={this.state.selectedFile.file_name}
key={this.state.selectedFile.uid} key={this.state.selectedFile.uid}
/> />
</div> </div>