ar-design
Version:
AR Design is a (react | nextjs) ui library.
28 lines (27 loc) • 1.79 kB
JavaScript
import React, { memo } from "react";
import { ARIcon } from "../../icons";
import Button from "../button";
const Buttons = ({ selectedFile, handleFileToBase64, handleFileRemove }) => {
return (React.createElement("div", { className: "buttons" },
React.createElement("div", null,
React.createElement(Button, { variant: "borderless", color: "purple", type: "button", icon: { element: React.createElement(ARIcon, { icon: "Download", fill: "currentColor" }) }, onClick: (e) => {
e.stopPropagation();
const url = window.URL.createObjectURL(selectedFile);
const a = document.createElement("a");
a.href = url;
a.download = selectedFile.name;
a.click();
window.URL.revokeObjectURL(url);
} }),
selectedFile.type.includes("image") && (React.createElement(Button, { variant: "borderless", color: "blue", type: "button", icon: { element: React.createElement(ARIcon, { icon: "Eye-Fill", fill: "currentColor" }) }, onClick: async (e) => {
e.stopPropagation();
const base64 = await handleFileToBase64(selectedFile);
const newTab = window.open();
newTab?.document.write(`<img src="${base64}" title="${selectedFile.name}" alt="${selectedFile.name}" />`);
} })),
React.createElement(Button, { variant: "borderless", color: "red", type: "button", icon: { element: React.createElement(ARIcon, { icon: "Trash-Fill", fill: "currentColor" }) }, onClick: (e) => {
e.stopPropagation();
handleFileRemove(selectedFile);
} }))));
};
export default memo(Buttons);