Skip to content

Commit 6922134

Browse files
committed
[FEAT]: Add onOpenVideo and isVideo for working on video files and video previews
1 parent dca8203 commit 6922134

File tree

1 file changed

+66
-45
lines changed

1 file changed

+66
-45
lines changed

src/components/file-item/components/FileItemMainLayer/FileItemMainLayer.tsx

Lines changed: 66 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,21 @@
11
import React, { FC, Fragment, useEffect, useState } from "react";
22
//import { FileItemProps } from "../FileItem/FileItemProps";
33
import FileItemStatus from "../FileItemStatus/FileItemStatus";
4-
import { Cancel, Visibility, Info } from "../../../icons";
4+
import { PlayIcon,Cancel, Visibility, Info } from "../../../icons";
55
import { Localization } from "../../../../localization/localization";
66
//import {shrinkWord} from "./../../utils";
77
export interface FileItemMainLayerProps {
88
showInfo: boolean;
99
onOpenInfo: Function;
1010
onOpenImage: Function | undefined;
11+
onOpenVideo: Function | undefined;
1112
onDelete: Function | undefined;
1213
//fileNamePosition: FileItemProps["fileName"];
1314
fileName: string;
1415
info: boolean;
1516
valid: boolean;
1617
isImage: boolean;
18+
isVideo: boolean;
1719
uploadStatus?: undefined | "uploading" | "success" | "error";
1820
sizeFormatted: string;
1921
/**
@@ -43,14 +45,17 @@ const FileItemMainLayer: FC<FileItemMainLayerProps> = (
4345
info,
4446
valid,
4547
isImage,
48+
isVideo,
4649
onlyImage,
4750
onOpenInfo,
4851
onOpenImage,
52+
onOpenVideo,
4953
sizeFormatted,
5054
uploadStatus,
5155
localization,
5256
hovering,
5357
} = props;
58+
5459
const handleDelete = () => {
5560
onDelete?.();
5661
};
@@ -60,6 +65,9 @@ const FileItemMainLayer: FC<FileItemMainLayerProps> = (
6065
const handleOpenImage = () => {
6166
onOpenImage?.();
6267
};
68+
const handleOpenVideo =()=>{
69+
onOpenVideo?.();
70+
}
6371
const [uploadComplete, setUploadComplete] = useState<boolean>(false);
6472
useEffect(() => {
6573
if (uploadStatus === "success") {
@@ -134,6 +142,14 @@ const FileItemMainLayer: FC<FileItemMainLayerProps> = (
134142
size="small"
135143
/>
136144
)}
145+
{isVideo && onOpenVideo && valid && (
146+
<PlayIcon
147+
className="view-in-image-file-item"
148+
color="rgba(255,255,255,0.9)"
149+
onClick={handleOpenVideo}
150+
size="small"
151+
/>
152+
)}
137153
{!onlyImage && info && (
138154
<Info
139155
color="rgba(255,255,255,0.8)"
@@ -144,64 +160,69 @@ const FileItemMainLayer: FC<FileItemMainLayerProps> = (
144160
</div>
145161
</div>
146162
</div>
147-
): <Fragment>
148-
<div className="info-container">
149-
<div
150-
className={
151-
uploadStatus === "uploading" || !onDelete
152-
? "status-close uploading"
153-
: showInfo
154-
? "status-close hide"
155-
: "status-close"
156-
}
157-
>
158-
{/* <Cancel
163+
) : (
164+
<Fragment>
165+
<div className="info-container">
166+
<div
167+
className={
168+
uploadStatus === "uploading" || !onDelete
169+
? "status-close uploading"
170+
: showInfo
171+
? "status-close hide"
172+
: "status-close"
173+
}
174+
>
175+
{/* <Cancel
159176
color="rgba(255,255,255,0.8)"
160177
onClick={uploadStatus === "uploading" ? undefined : handleDelete}
161178
colorFill="black"
162179
/> */}
163-
</div>
164-
165-
{uploadStatus && !showInfo && (
166-
<div
167-
className={uploadComplete ? "file-status hide" : "file-status"}
168-
>
169-
<FileItemStatus
170-
uploadStatus={uploadStatus}
171-
localization={localization as Localization}
172-
/>
173180
</div>
174-
)}
175181

176-
<div className={"file-item-footer"}>
177-
{!onlyImage && uploadStatus && uploadComplete ? (
178-
<div className={showInfo ? "file-status hide" : "file-status"}>
179-
<div className="file-status-ok" style={{marginBottom:"1px"}}>
180-
<FileItemStatus
181-
uploadStatus={uploadStatus}
182-
//message={localization==="ES-es"?"subido":"uploaded"}
183-
localization={localization as Localization}
184-
/>
185-
</div>
186-
</div>
187-
) : (
188-
<div className={showInfo ? "file-status hide" : "file-status"} style={{marginBottom:"1px"}}>
182+
{uploadStatus && !showInfo && (
183+
<div
184+
className={uploadComplete ? "file-status hide" : "file-status"}
185+
>
189186
<FileItemStatus
190-
valid={valid}
187+
uploadStatus={uploadStatus}
191188
localization={localization as Localization}
192189
/>
193190
</div>
194191
)}
195192

196-
<div
197-
className={showInfo ? "size-open-info hide" : "size-open-info"}
198-
>
199-
193+
<div className={"file-item-footer"}>
194+
{!onlyImage && uploadStatus && uploadComplete ? (
195+
<div className={showInfo ? "file-status hide" : "file-status"}>
196+
<div
197+
className="file-status-ok"
198+
style={{ marginBottom: "1px" }}
199+
>
200+
<FileItemStatus
201+
uploadStatus={uploadStatus}
202+
//message={localization==="ES-es"?"subido":"uploaded"}
203+
localization={localization as Localization}
204+
/>
205+
</div>
206+
</div>
207+
) : (
208+
<div
209+
className={showInfo ? "file-status hide" : "file-status"}
210+
style={{ marginBottom: "1px" }}
211+
>
212+
<FileItemStatus
213+
valid={valid}
214+
localization={localization as Localization}
215+
/>
216+
</div>
217+
)}
218+
219+
<div
220+
className={showInfo ? "size-open-info hide" : "size-open-info"}
221+
></div>
200222
</div>
201223
</div>
202-
</div>
203-
204-
</Fragment>}
224+
</Fragment>
225+
)}
205226
</Fragment>
206227
);
207228
};

0 commit comments

Comments
 (0)