pages video fix

This commit is contained in:
hamid zarghami
2026-07-01 11:23:11 +03:30
parent 0bef54c51c
commit 168af3bf95
2 changed files with 71 additions and 39 deletions
+39 -17
View File
@@ -1,33 +1,55 @@
import { type FC } from "react";
import { DocumentUpload, VideoSquare } from "iconsax-react";
import { clx } from "@/helpers/utils";
type VideoUploadZoneProps = {
getRootProps: () => React.HTMLAttributes<HTMLDivElement>;
getInputProps: () => React.InputHTMLAttributes<HTMLInputElement>;
isLoading?: boolean;
loadingLabel?: string;
};
const VideoUploadZone: FC<VideoUploadZoneProps> = ({ getRootProps, getInputProps }) => {
const VideoUploadZone: FC<VideoUploadZoneProps> = ({
getRootProps,
getInputProps,
isLoading = false,
loadingLabel = "در حال آپلود...",
}) => {
return (
<div
{...getRootProps()}
className="w-full py-8 border border-dashed border-description flex flex-col justify-center items-center gap-4 rounded-2xl cursor-pointer hover:bg-gray-50 transition-colors"
className={clx(
"w-full py-8 border border-dashed border-description flex flex-col justify-center items-center gap-4 rounded-2xl transition-colors",
isLoading
? "pointer-events-none opacity-80"
: "cursor-pointer hover:bg-gray-50"
)}
>
<input {...getInputProps()} />
<VideoSquare
size={32}
color="#8C90A3"
variant="Outline"
/>
<div className="text-description text-xs">
ویدیو مورد نظر را آپلود کنید
</div>
<div className="flex items-center gap-2">
<DocumentUpload
size={16}
color="black"
/>
<div className="text-xs">آپلود</div>
</div>
{isLoading ? (
<>
<span className="h-8 w-8 animate-spin rounded-full border-2 border-gray-300 border-t-black" />
<div className="text-description text-xs">{loadingLabel}</div>
</>
) : (
<>
<VideoSquare
size={32}
color="#8C90A3"
variant="Outline"
/>
<div className="text-description text-xs">
ویدیو مورد نظر را آپلود کنید
</div>
<div className="flex items-center gap-2">
<DocumentUpload
size={16}
color="black"
/>
<div className="text-xs">آپلود</div>
</div>
</>
)}
</div>
);
};