From 2312007a4c77749c5b20e2cb5ff7acd0d11e96b3 Mon Sep 17 00:00:00 2001 From: Arnaud Date: Mon, 30 Sep 2024 18:53:26 +0200 Subject: [PATCH] Customize the upload success message and remove to copy feature on upload --- package-lock.json | 4 +- package.json | 2 +- src/components/Upload/Upload.tsx | 8 ++ src/components/Upload/UploadFile.tsx | 149 +++++++++++---------------- src/components/Upload/upload.css | 4 + 5 files changed, 78 insertions(+), 89 deletions(-) diff --git a/package-lock.json b/package-lock.json index 23cea53..3b91332 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@codex-storage/marketplace-ui-components", - "version": "0.0.12", + "version": "0.0.14", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@codex-storage/marketplace-ui-components", - "version": "0.0.12", + "version": "0.0.14", "license": "MIT", "dependencies": { "lucide-react": "^0.441.0" diff --git a/package.json b/package.json index 241c8e7..088e8f7 100644 --- a/package.json +++ b/package.json @@ -5,7 +5,7 @@ "type": "git", "url": "https://github.com/codex-storage/codex-marketplace-ui-components" }, - "version": "0.0.13", + "version": "0.0.14", "type": "module", "scripts": { "prepack": "npm run build", diff --git a/src/components/Upload/Upload.tsx b/src/components/Upload/Upload.tsx index 75f17f6..29281b5 100644 --- a/src/components/Upload/Upload.tsx +++ b/src/components/Upload/Upload.tsx @@ -79,6 +79,12 @@ type Props = { * --codex-color-warning */ style?: CustomStyleCSS; + + /** + * Success message displayed when a file is updated. + * Default: File uploaded successfully. + */ + successMessage?: string; }; export function Upload({ @@ -91,6 +97,7 @@ export function Upload({ onDeleteItem, onSuccess, codexData, + successMessage = "File uploaded successfully", // useWorker = !!window.Worker, }: Props) { const { deleteFile, files, uploadFiles, warning } = useUploadStategy( @@ -174,6 +181,7 @@ export function Upload({ id={id} onSuccess={onSuccess} codexData={codexData} + successMessage={successMessage} // useWorker={useWorker} /> ))} diff --git a/src/components/Upload/UploadFile.tsx b/src/components/Upload/UploadFile.tsx index 74341ba..d8ef528 100644 --- a/src/components/Upload/UploadFile.tsx +++ b/src/components/Upload/UploadFile.tsx @@ -1,14 +1,6 @@ -import { - useRef, - useState, - useReducer, - Reducer, - useEffect, - useCallback, -} from "react"; +import { useRef, useReducer, Reducer, useEffect, useCallback } from "react"; import { attributes } from "../utils/attributes"; import { PrettyBytes } from "../utils/bytes"; -import { Toast } from "../Toast/Toast"; import { UploadStatus } from "./types"; import { CircleCheck, TriangleAlert, CircleX, CircleStop } from "lucide-react"; import { Spinner } from "../Spinner/Spinner"; @@ -23,6 +15,7 @@ type UploadFileProps = { id: string; onSuccess: ((cid: string, file: File) => void) | undefined; codexData: CodexData; + successMessage: string; // useWorker: boolean; }; @@ -128,11 +121,11 @@ export function UploadFile({ id, onSuccess, codexData, + successMessage, // useWorker, }: UploadFileProps) { const abort = useRef<(() => void) | null>(null); // const worker = useRef(null); - const [toast, setToast] = useState({ time: 0, message: "" }); const [state, dispatch] = useReducer>(reducer, { progress: { loaded: 0, total: 0 }, cid: "", @@ -250,16 +243,6 @@ export function UploadFile({ onClose(id); }; - const onCopy = () => { - if (cid) { - navigator.clipboard.writeText(cid); - setToast({ - time: Date.now(), - message: "The CID has been copied to your clipboard.", - }); - } - }; - const parts = file.name.split("."); const extension = parts.pop(); const filename = parts.join("."); @@ -271,78 +254,72 @@ export function UploadFile({ const ActionIcon = () => ; return ( -
-
-
- {preview ? ( - Preview - ) : ( - - )} -
- - {filename} - .{extension} - -
- {PrettyBytes(file.size)} + <> +
+
+
+ {preview ? ( + Preview + ) : ( + + )} +
+ + {filename} + .{extension} + +
+ {PrettyBytes(file.size)} +
-
-
- +
+ - -
-
- -
- - - {percent.toFixed(2)} % - -
- - {!!cid && ( - <> -
- Success ! Click on the CID to copy it to your - clipboard. +
- - - {cid} - - - - )} +
- {error ? error : <> } +
+ + + {percent.toFixed(2)} % + +
- -
+
+ {cid ? ( +
{successMessage}
+ ) : ( + + {error ? error : <> } + + )} +
+
+ ); } diff --git a/src/components/Upload/upload.css b/src/components/Upload/upload.css index 22bfc81..78fcdab 100644 --- a/src/components/Upload/upload.css +++ b/src/components/Upload/upload.css @@ -106,6 +106,10 @@ text-align: right; } +.uploadFile-message { + font-size: 0.85rem; +} + .upload-progress-check { color: var(--codex-color-primary); }