mirror of
https://github.com/codex-storage/codex-frontend.git
synced 2025-03-01 02:30:49 +00:00
Modified error messages for post requests
This commit is contained in:
parent
c3078124ff
commit
52217354f0
@ -8,4 +8,4 @@ services:
|
||||
ports:
|
||||
- "3000:80"
|
||||
environment:
|
||||
- codex_url=${codex_url:-http://kubernetes.docker.internal:30003}
|
||||
- codex_url=${codex_url:-http://kubernetes.docker.internal:30001}
|
||||
|
@ -7,6 +7,7 @@ function DownloadTab() {
|
||||
const { ftdCid, setFtdCid, nodeInfo } = useDexyStore();
|
||||
|
||||
const [filename, setFilename] = useState("file");
|
||||
const [error, setError] = useState("");
|
||||
|
||||
function download(cid: string) {
|
||||
console.log(filename);
|
||||
@ -22,36 +23,60 @@ function DownloadTab() {
|
||||
{},
|
||||
}
|
||||
)
|
||||
.then((response) => response.blob())
|
||||
.then((blob) => {
|
||||
const url = window.URL.createObjectURL(new Blob([blob]));
|
||||
const link = document.createElement("a");
|
||||
link.href = url;
|
||||
link.setAttribute("download", filename);
|
||||
document.body.appendChild(link);
|
||||
link.click();
|
||||
link.parentNode?.removeChild(link);
|
||||
});
|
||||
.then((response) =>
|
||||
{
|
||||
if (response.status === 200) {
|
||||
response.blob()
|
||||
.then((blob) => {
|
||||
const url = window.URL.createObjectURL(new Blob([blob]));
|
||||
const link = document.createElement("a");
|
||||
link.href = url;
|
||||
link.setAttribute("download", filename);
|
||||
document.body.appendChild(link);
|
||||
link.click();
|
||||
link.parentNode?.removeChild(link);
|
||||
})
|
||||
}
|
||||
else {
|
||||
response.text().then((text) => {
|
||||
setError(text);
|
||||
}).catch((error) => {
|
||||
console.error("Error reading response body:", error);
|
||||
setError("Failed to read response body");
|
||||
});
|
||||
}
|
||||
})
|
||||
.catch((error) => {
|
||||
console.error("Error downloading file:", error);
|
||||
setError("Failed to download file");
|
||||
});
|
||||
}
|
||||
|
||||
return (
|
||||
<DownloadTabWrapper>
|
||||
<input
|
||||
type="text"
|
||||
placeholder="CID"
|
||||
onChange={(e) => {
|
||||
setFtdCid(e.target.value);
|
||||
}}
|
||||
value={ftdCid}
|
||||
/>
|
||||
<div id="divider"></div>
|
||||
<input
|
||||
type="text"
|
||||
placeholder="Filename"
|
||||
onChange={(e) => setFilename(e.target.value)}
|
||||
/>
|
||||
<button onClick={() => download(ftdCid)}>Download</button>
|
||||
</DownloadTabWrapper>
|
||||
<>
|
||||
<DownloadTabWrapper>
|
||||
<input
|
||||
type="text"
|
||||
placeholder="CID"
|
||||
onChange={(e) => {
|
||||
setFtdCid(e.target.value);
|
||||
}}
|
||||
value={ftdCid}
|
||||
/>
|
||||
<div id="divider"></div>
|
||||
<input
|
||||
type="text"
|
||||
placeholder="Filename"
|
||||
onChange={(e) => setFilename(e.target.value)}
|
||||
/>
|
||||
<button onClick={() => download(ftdCid)}>Download</button>
|
||||
</DownloadTabWrapper>
|
||||
{error && (
|
||||
<p style={{ color: "red", marginTop: "10px", textAlign: "center" }}>
|
||||
{error}
|
||||
</p>
|
||||
)}
|
||||
</>
|
||||
);
|
||||
}
|
||||
|
||||
|
@ -14,6 +14,7 @@ function UploadTab() {
|
||||
const { uploads, setUploads, nodeInfo } = useDexyStore();
|
||||
var files = useRef<UploadedItemModel[]>(uploads);
|
||||
const [isLoading, setIsLoading] = useState(false);
|
||||
const [error, setError] = useState("");
|
||||
|
||||
function getDatas() {
|
||||
fetch(`/api/codex/v1/data`, {
|
||||
@ -90,12 +91,17 @@ function UploadTab() {
|
||||
},
|
||||
})
|
||||
.then((response) => {
|
||||
newCid = response.data;
|
||||
getDatas();
|
||||
if (response.status === 200) {
|
||||
newCid = response.data;
|
||||
getDatas();
|
||||
} else {
|
||||
setError("Upload failed");
|
||||
}
|
||||
});
|
||||
console.log("filesCopy failed");
|
||||
} catch (error) {
|
||||
console.error("Error uploading file: ", error);
|
||||
setError("Upload failed");
|
||||
}
|
||||
console.log(cid + acceptedFiles[i].name);
|
||||
resolve("done");
|
||||
@ -108,32 +114,39 @@ function UploadTab() {
|
||||
const { getRootProps, getInputProps, isDragActive } = useDropzone({ onDrop });
|
||||
|
||||
return (
|
||||
<UploadTabWrapper>
|
||||
<div
|
||||
id="dropzone"
|
||||
{...getRootProps()}
|
||||
style={{
|
||||
minHeight: uploads.length > 0 ? "33%" : "100%",
|
||||
}}
|
||||
>
|
||||
<input {...getInputProps()} />
|
||||
{isDragActive ? (
|
||||
<p>Drop the files here ...</p>
|
||||
) : (
|
||||
<p>Drag 'n' drop some files here, or click to select files</p>
|
||||
)}
|
||||
</div>
|
||||
<div
|
||||
id="uploaded-items-wrap"
|
||||
style={{
|
||||
maxHeight: uploads.length > 0 ? "60vh" : "0%",
|
||||
}}
|
||||
>
|
||||
{uploads.map((file) => (
|
||||
<UploadedItemComponent item={file} key={file.cid} />
|
||||
))}
|
||||
</div>
|
||||
</UploadTabWrapper>
|
||||
<>
|
||||
<UploadTabWrapper>
|
||||
<div
|
||||
id="dropzone"
|
||||
{...getRootProps()}
|
||||
style={{
|
||||
minHeight: uploads.length > 0 ? "33%" : "100%",
|
||||
}}
|
||||
>
|
||||
<input {...getInputProps()} />
|
||||
{isDragActive ? (
|
||||
<p>Drop the files here ...</p>
|
||||
) : (
|
||||
<p>Drag 'n' drop some files here, or click to select files</p>
|
||||
)}
|
||||
</div>
|
||||
<div
|
||||
id="uploaded-items-wrap"
|
||||
style={{
|
||||
maxHeight: uploads.length > 0 ? "60vh" : "0%",
|
||||
}}
|
||||
>
|
||||
{uploads.map((file) => (
|
||||
<UploadedItemComponent item={file} key={file.cid} />
|
||||
))}
|
||||
</div>
|
||||
</UploadTabWrapper>
|
||||
{error && (
|
||||
<p style={{ color: "red", marginTop: "10px", textAlign: "center" }}>
|
||||
{error}
|
||||
</p>
|
||||
)}
|
||||
</>
|
||||
);
|
||||
}
|
||||
|
||||
|
@ -11,7 +11,8 @@ function OfferStorage() {
|
||||
const [minPrice, setMinPrice,] = useState("file");
|
||||
const [maxCollateral, setMaxCollateral,] = useState("file");
|
||||
const [expiry, setExpiry,] = useState("file");
|
||||
|
||||
const [error, setError] = useState("");
|
||||
|
||||
|
||||
function upload(cid: string) {
|
||||
fetch(
|
||||
@ -33,58 +34,75 @@ function OfferStorage() {
|
||||
})
|
||||
}
|
||||
)
|
||||
// create a popup in the browser to show if the upload was successful
|
||||
.then((response) => {
|
||||
// create a popup in the browser to show if the upload was successful
|
||||
.then((response) => {
|
||||
if (response.status === 200) {
|
||||
alert("Upload successful!");
|
||||
alert("Successfully created storage offer!");
|
||||
setError("");
|
||||
} else {
|
||||
alert("Upload failed!");
|
||||
response.text().then((text) => {
|
||||
setError(text);
|
||||
}).catch((error) => {
|
||||
console.error("Error reading response body:", error);
|
||||
setError("Failed to read response body");
|
||||
});
|
||||
}
|
||||
})
|
||||
.catch((error) => {
|
||||
console.error("Error creating storage offer:", error);
|
||||
setError("Failed to create storage offer");
|
||||
});
|
||||
}
|
||||
|
||||
return (
|
||||
<OfferStorageWrapper>
|
||||
<input
|
||||
type="text"
|
||||
placeholder="CID"
|
||||
onChange={(e) => {
|
||||
setFtdCid(e.target.value);
|
||||
}}
|
||||
value={ftdCid}
|
||||
/>
|
||||
<div id="divider"></div>
|
||||
<input
|
||||
type="text"
|
||||
placeholder="Size"
|
||||
onChange={(e) => setSize(e.target.value)}
|
||||
/>
|
||||
<div id="divider"></div>
|
||||
<input
|
||||
type="text"
|
||||
placeholder="Duration"
|
||||
onChange={(e) => setDuration(e.target.value)}
|
||||
/>
|
||||
<div id="divider"></div>
|
||||
<input
|
||||
type="text"
|
||||
placeholder="MinPrice"
|
||||
onChange={(e) => setMinPrice(e.target.value)}
|
||||
/>
|
||||
<div id="divider"></div>
|
||||
<input
|
||||
type="text"
|
||||
placeholder="MaxCollateral"
|
||||
onChange={(e) => setMaxCollateral(e.target.value)}
|
||||
/>
|
||||
<div id="divider"></div>
|
||||
<input
|
||||
type="text"
|
||||
placeholder="Expiry"
|
||||
onChange={(e) => setExpiry(e.target.value)}
|
||||
/>
|
||||
<button onClick={() => upload(ftdCid)}>Download</button>
|
||||
</OfferStorageWrapper>
|
||||
<>
|
||||
<OfferStorageWrapper>
|
||||
<input
|
||||
type="text"
|
||||
placeholder="CID"
|
||||
onChange={(e) => {
|
||||
setFtdCid(e.target.value);
|
||||
}}
|
||||
value={ftdCid}
|
||||
/>
|
||||
<div id="divider"></div>
|
||||
<input
|
||||
type="text"
|
||||
placeholder="Size"
|
||||
onChange={(e) => setSize(e.target.value)}
|
||||
/>
|
||||
<div id="divider"></div>
|
||||
<input
|
||||
type="text"
|
||||
placeholder="Duration"
|
||||
onChange={(e) => setDuration(e.target.value)}
|
||||
/>
|
||||
<div id="divider"></div>
|
||||
<input
|
||||
type="text"
|
||||
placeholder="MinPrice"
|
||||
onChange={(e) => setMinPrice(e.target.value)}
|
||||
/>
|
||||
<div id="divider"></div>
|
||||
<input
|
||||
type="text"
|
||||
placeholder="MaxCollateral"
|
||||
onChange={(e) => setMaxCollateral(e.target.value)}
|
||||
/>
|
||||
<div id="divider"></div>
|
||||
<input
|
||||
type="text"
|
||||
placeholder="Expiry"
|
||||
onChange={(e) => setExpiry(e.target.value)}
|
||||
/>
|
||||
<button onClick={() => upload(ftdCid)}>Create</button>
|
||||
</OfferStorageWrapper>
|
||||
{error && (
|
||||
<p style={{ color: "red", marginTop: "10px", textAlign: "center" }}>
|
||||
{error}
|
||||
</p>
|
||||
)}
|
||||
</>
|
||||
);
|
||||
}
|
||||
|
||||
|
@ -10,7 +10,8 @@ function CreateTab() {
|
||||
const [duration, setDuration,] = useState("file");
|
||||
const [proofProbability, setProofProbability,] = useState("file");
|
||||
const [collateral, setCollateral,] = useState("file");
|
||||
|
||||
const [error, setError] = useState("");
|
||||
|
||||
|
||||
function upload(cid: string) {
|
||||
fetch(
|
||||
@ -31,52 +32,69 @@ function CreateTab() {
|
||||
})
|
||||
}
|
||||
)
|
||||
// create a popup in the browser to show if the upload was successful
|
||||
.then((response) => {
|
||||
// create a popup in the browser to show if the upload was successful
|
||||
.then((response) => {
|
||||
if (response.status === 200) {
|
||||
alert("Upload successful!");
|
||||
alert("Successfully created storage offer!");
|
||||
setError("");
|
||||
} else {
|
||||
alert("Upload failed!");
|
||||
response.text().then((text) => {
|
||||
setError(text);
|
||||
}).catch((error) => {
|
||||
console.error("Error reading response body:", error);
|
||||
setError("Failed to read response body");
|
||||
});
|
||||
}
|
||||
})
|
||||
.catch((error) => {
|
||||
console.error("Error creating storage offer:", error);
|
||||
setError("Failed to create storage offer");
|
||||
});
|
||||
}
|
||||
|
||||
return (
|
||||
<CreateTabWrapper>
|
||||
<input
|
||||
type="text"
|
||||
placeholder="CID"
|
||||
onChange={(e) => {
|
||||
setFtdCid(e.target.value);
|
||||
}}
|
||||
value={ftdCid}
|
||||
/>
|
||||
<div id="divider"></div>
|
||||
<input
|
||||
type="text"
|
||||
placeholder="Reward"
|
||||
onChange={(e) => setReward(e.target.value)}
|
||||
/>
|
||||
<div id="divider"></div>
|
||||
<input
|
||||
type="text"
|
||||
placeholder="Duration"
|
||||
onChange={(e) => setDuration(e.target.value)}
|
||||
/>
|
||||
<div id="divider"></div>
|
||||
<input
|
||||
type="text"
|
||||
placeholder="ProofProbability"
|
||||
onChange={(e) => setProofProbability(e.target.value)}
|
||||
/>
|
||||
<div id="divider"></div>
|
||||
<input
|
||||
type="text"
|
||||
placeholder="collateral"
|
||||
onChange={(e) => setCollateral(e.target.value)}
|
||||
/>
|
||||
<button onClick={() => upload(ftdCid)}>Download</button>
|
||||
</CreateTabWrapper>
|
||||
<>
|
||||
<CreateTabWrapper>
|
||||
<input
|
||||
type="text"
|
||||
placeholder="CID"
|
||||
onChange={(e) => {
|
||||
setFtdCid(e.target.value);
|
||||
}}
|
||||
value={ftdCid}
|
||||
/>
|
||||
<div id="divider"></div>
|
||||
<input
|
||||
type="text"
|
||||
placeholder="Reward"
|
||||
onChange={(e) => setReward(e.target.value)}
|
||||
/>
|
||||
<div id="divider"></div>
|
||||
<input
|
||||
type="text"
|
||||
placeholder="Duration"
|
||||
onChange={(e) => setDuration(e.target.value)}
|
||||
/>
|
||||
<div id="divider"></div>
|
||||
<input
|
||||
type="text"
|
||||
placeholder="ProofProbability"
|
||||
onChange={(e) => setProofProbability(e.target.value)}
|
||||
/>
|
||||
<div id="divider"></div>
|
||||
<input
|
||||
type="text"
|
||||
placeholder="collateral"
|
||||
onChange={(e) => setCollateral(e.target.value)}
|
||||
/>
|
||||
<button onClick={() => upload(ftdCid)}>Download</button>
|
||||
</CreateTabWrapper>
|
||||
{error && (
|
||||
<p style={{ color: "red", marginTop: "10px", textAlign: "center" }}>
|
||||
{error}
|
||||
</p>
|
||||
)}
|
||||
</>
|
||||
);
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user