Refactor: Create wrap for download button
This commit is contained in:
parent
7e09131800
commit
b02b4ee4eb
2 changed files with 31 additions and 27 deletions
|
|
@ -0,0 +1,25 @@
|
||||||
|
import ForwardedIconComponent from "../../../../../../../components/genericIconComponent";
|
||||||
|
|
||||||
|
export default function DownloadButton({
|
||||||
|
isHovered,
|
||||||
|
handleDownload,
|
||||||
|
}: {
|
||||||
|
isHovered: boolean;
|
||||||
|
handleDownload: () => void;
|
||||||
|
}): JSX.Element | undefined {
|
||||||
|
if (isHovered) {
|
||||||
|
return (
|
||||||
|
<div
|
||||||
|
className={`absolute right-1 top-1 rounded-bl-lg bg-muted text-sm font-bold text-foreground `}
|
||||||
|
>
|
||||||
|
<button className="px-2 py-1 text-ring " onClick={handleDownload}>
|
||||||
|
<ForwardedIconComponent
|
||||||
|
name="DownloadCloud"
|
||||||
|
className="h-5 w-5 text-current hover:scale-110"
|
||||||
|
/>
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
return undefined;
|
||||||
|
}
|
||||||
|
|
@ -7,6 +7,7 @@ import { fileCardPropsType } from "../../../../../types/components";
|
||||||
import useFlowsManagerStore from "../../../../../stores/flowsManagerStore";
|
import useFlowsManagerStore from "../../../../../stores/flowsManagerStore";
|
||||||
import { BACKEND_URL, BASE_URL_API } from "../../../../../constants/constants";
|
import { BACKEND_URL, BASE_URL_API } from "../../../../../constants/constants";
|
||||||
import formatFileName from "../filePreviewChat/utils/format-file-name";
|
import formatFileName from "../filePreviewChat/utils/format-file-name";
|
||||||
|
import DownloadButton from "./components/downloadButton/downloadButton";
|
||||||
|
|
||||||
const imgTypes = new Set(["png", "jpg"]);
|
const imgTypes = new Set(["png", "jpg"]);
|
||||||
|
|
||||||
|
|
@ -62,21 +63,10 @@ export default function FileCard({
|
||||||
alt="generated image"
|
alt="generated image"
|
||||||
className="m-0 h-auto w-auto rounded-lg border border-border p-0 transition-all"
|
className="m-0 h-auto w-auto rounded-lg border border-border p-0 transition-all"
|
||||||
/>
|
/>
|
||||||
{isHovered && (
|
<DownloadButton
|
||||||
<div
|
isHovered={isHovered}
|
||||||
className={`absolute right-1 top-1 rounded-bl-lg bg-muted text-sm font-bold text-foreground `}
|
handleDownload={handleDownload}
|
||||||
>
|
/>
|
||||||
<button
|
|
||||||
className="px-2 py-1 text-ring "
|
|
||||||
onClick={handleDownload}
|
|
||||||
>
|
|
||||||
<IconComponent
|
|
||||||
name="DownloadCloud"
|
|
||||||
className="h-5 w-5 text-current hover:scale-110"
|
|
||||||
/>
|
|
||||||
</button>
|
|
||||||
</div>
|
|
||||||
)}
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
);
|
);
|
||||||
|
|
@ -98,18 +88,7 @@ export default function FileCard({
|
||||||
<span>File</span>
|
<span>File</span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
{isHovered && (
|
<DownloadButton isHovered={isHovered} handleDownload={handleDownload} />
|
||||||
<div
|
|
||||||
className={`absolute right-0 top-1 rounded-bl-lg bg-muted px-1 text-sm font-bold text-foreground `}
|
|
||||||
>
|
|
||||||
<button className="px-2 py-1 text-ring " onClick={handleDownload}>
|
|
||||||
<IconComponent
|
|
||||||
name="DownloadCloud"
|
|
||||||
className="h-5 w-5 text-current hover:scale-110"
|
|
||||||
/>
|
|
||||||
</button>
|
|
||||||
</div>
|
|
||||||
)}
|
|
||||||
</div>
|
</div>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue