diff --git a/.DS_Store b/.DS_Store index cb7edb3..0090592 100644 Binary files a/.DS_Store and b/.DS_Store differ diff --git a/frontend/public/assets/cloudUploadIcon.svg b/frontend/public/assets/cloudUploadIcon.svg new file mode 100644 index 0000000..e386c79 --- /dev/null +++ b/frontend/public/assets/cloudUploadIcon.svg @@ -0,0 +1,3 @@ + + + diff --git a/frontend/public/assets/deleteIcon.svg b/frontend/public/assets/deleteIcon.svg new file mode 100644 index 0000000..0a35faf --- /dev/null +++ b/frontend/public/assets/deleteIcon.svg @@ -0,0 +1,3 @@ + + + diff --git a/frontend/public/assets/fileIcon.svg b/frontend/public/assets/fileIcon.svg new file mode 100644 index 0000000..e9a489d --- /dev/null +++ b/frontend/public/assets/fileIcon.svg @@ -0,0 +1,3 @@ + + + diff --git a/frontend/src/app/components/ScaffoldDeployer/ScaffoldDeployer.tsx b/frontend/src/app/components/ScaffoldDeployer/ScaffoldDeployer.tsx new file mode 100644 index 0000000..debb7c9 --- /dev/null +++ b/frontend/src/app/components/ScaffoldDeployer/ScaffoldDeployer.tsx @@ -0,0 +1,129 @@ +"use client"; +import cloudUploadIcon from "../../../../public/assets/cloudUploadIcon.svg"; +import fileIcon from "../../../../public/assets/fileIcon.svg"; +import trash from "../../../../public/assets/deleteIcon.svg"; +import { useRef, useState } from "react"; +import Header from "../Header"; +import Image from "next/image"; + +interface FileList { + lastModified: number; + lastModifiedDate: Date; + name: string; + size: number; + type: string; + webkitRelativePath: string; +} + +function ScaffoldDeployer() { + const fileInputRef: any = useRef(null); + const [selectedFiles, setSelectedFiles] = useState([]); + + const handleFileSelect = (event: any) => { + event.preventDefault(); + console.log("file upload"); + const files: any = Array.from(event.target.files); + setSelectedFiles(files); + console.log(event.target.files); + console.log(selectedFiles); + }; + + const handleDeleteFile = (event: any) => { + event.preventDefault(); + setSelectedFiles([]); + }; + + const handleDragOver = (event: any) => { + event.preventDefault(); + }; + + const handleDrop = (event: any) => { + event.preventDefault(); + const files: any = Array.from(event.dataTransfer.files); + setSelectedFiles(files); + }; + return ( +
+
+
+
+

Declare

+ {selectedFiles.length == 0 ? ( +
+ +

+ Input Contract JSON RPC File +

+ handleFileSelect(e)} + multiple + style={{ display: "none" }} + ref={fileInputRef} + /> + + +
+ ) : ( +
+
+
+
+ {selectedFiles?.at(0)?.name?.split(".")[1].toUpperCase()} +
+ file icon +
+
+

+ {selectedFiles?.at(0)?.name.split(".")[0]} +

+
+
+ +
+ )} + +
+
+

Deploy

+ + + + +
+
+
+ ); +} + +export default ScaffoldDeployer; diff --git a/frontend/src/app/page.tsx b/frontend/src/app/page.tsx index 82b020d..e711852 100644 --- a/frontend/src/app/page.tsx +++ b/frontend/src/app/page.tsx @@ -16,7 +16,7 @@ export default function Home() {
+ +
+ ); +} diff --git a/frontend/yarn.lock b/frontend/yarn.lock index 312ac7c..f00633c 100644 --- a/frontend/yarn.lock +++ b/frontend/yarn.lock @@ -158,10 +158,10 @@ dependencies: glob "7.1.7" -"@next/swc-darwin-arm64@14.0.4": +"@next/swc-darwin-x64@14.0.4": version "14.0.4" - resolved "https://registry.npmjs.org/@next/swc-darwin-arm64/-/swc-darwin-arm64-14.0.4.tgz" - integrity sha512-mF05E/5uPthWzyYDyptcwHptucf/jj09i2SXBPwNzbgBNc+XnwzrL0U6BmPjQeOL+FiB+iG1gwBeq7mlDjSRPg== + resolved "https://registry.npmjs.org/@next/swc-darwin-x64/-/swc-darwin-x64-14.0.4.tgz" + integrity sha512-IZQ3C7Bx0k2rYtrZZxKKiusMTM9WWcK5ajyhOZkYYTCc8xytmwSzR1skU7qLgVT/EY9xtXDG0WhY6fyujnI3rw== "@noble/curves@~1.3.0": version "1.3.0" @@ -196,11 +196,6 @@ "@nodelib/fs.scandir" "2.1.5" fastq "^1.6.0" -"@parcel/watcher-darwin-arm64@2.3.0": - version "2.3.0" - resolved "https://registry.npmjs.org/@parcel/watcher-darwin-arm64/-/watcher-darwin-arm64-2.3.0.tgz" - integrity sha512-mKY+oijI4ahBMc/GygVGvEdOq0L4DxhYgwQqYAz/7yPzuGi79oXrZG52WdpGA1wLBPrYb0T8uBaGFo7I6rvSKw== - "@parcel/watcher-wasm@2.3.0": version "2.3.0" resolved "https://registry.npmjs.org/@parcel/watcher-wasm/-/watcher-wasm-2.3.0.tgz"