diff --git a/src/components/Availability/AvailabilitiesTable.tsx b/src/components/Availability/AvailabilitiesTable.tsx
index f00fdb2..7a86d8f 100644
--- a/src/components/Availability/AvailabilitiesTable.tsx
+++ b/src/components/Availability/AvailabilitiesTable.tsx
@@ -102,7 +102,7 @@ export function AvailabilitiesTable({ availabilities, space }: Props) {
))}
diff --git a/src/components/Availability/AvailabilityReservations.tsx b/src/components/Availability/AvailabilityReservations.tsx
index 60a12b2..b03a6c9 100644
--- a/src/components/Availability/AvailabilityReservations.tsx
+++ b/src/components/Availability/AvailabilityReservations.tsx
@@ -90,11 +90,11 @@ export function AvailabilityReservations({
}
const totalSize = availability.totalSize;
- const totalUsed = data.reduce((acc, val) => acc + parseInt(val.size, 10), 0);
+ const totalUsed = data.reduce((acc, val) => acc + val.size, 0);
const spaceData = [
...data.map((val, index) => ({
title: val.id,
- size: parseInt(val.size, 10),
+ size: val.size,
color: AvailabilityUtils.availabilityColors[index],
})),
{
diff --git a/src/components/Availability/Sunburst.tsx b/src/components/Availability/Sunburst.tsx
index a69eb65..739f875 100644
--- a/src/components/Availability/Sunburst.tsx
+++ b/src/components/Availability/Sunburst.tsx
@@ -81,7 +81,7 @@ export function Sunburst({ availabilities, space }: Props) {
},
children: a.slots.map((slot) => ({
name: "",
- value: parseFloat(slot.size),
+ value: slot.size,
children: [],
itemStyle: {
color: AvailabilityUtils.slotColors[index],
@@ -93,12 +93,7 @@ export function Sunburst({ availabilities, space }: Props) {
color: "#fff",
},
formatter: (params: CallbackDataParams) => {
- return (
- params.marker +
- "Slot " +
- slot.id +
- Bytes.pretty(parseFloat(slot.size))
- );
+ return params.marker + "Slot " + slot.id + Bytes.pretty(slot.size);
},
},
})),
diff --git a/src/components/FileCellRender/FileCell.tsx b/src/components/FileCellRender/FileCell.tsx
index 8cf0484..70a0237 100644
--- a/src/components/FileCellRender/FileCell.tsx
+++ b/src/components/FileCellRender/FileCell.tsx
@@ -6,8 +6,8 @@ import {
} from "@codex-storage/marketplace-ui-components";
import "./FileCell.css";
import { WebStorage } from "../../utils/web-storage";
-import { CodexDataContent } from "@codex-storage/sdk-js";
import { FilesUtils } from "../Files/files.utils";
+import { CodexDataItem } from "@codex-storage/sdk-js";
type FileMetadata = {
mimetype: string | null;
@@ -19,7 +19,7 @@ type Props = {
requestId: string;
purchaseCid: string;
index: number;
- data: CodexDataContent[];
+ data: CodexDataItem[];
onMetadata?: (requestId: string, metadata: FileMetadata) => void;
};
diff --git a/src/components/Files/FileActions.tsx b/src/components/Files/FileActions.tsx
index 1e6eae0..bb9f648 100644
--- a/src/components/Files/FileActions.tsx
+++ b/src/components/Files/FileActions.tsx
@@ -4,7 +4,6 @@ import {
Cell,
} from "@codex-storage/marketplace-ui-components";
import { FolderButton } from "./FolderButton";
-import { CodexDataContent } from "@codex-storage/sdk-js";
import { CodexSdk } from "../../sdk/codex";
import "./FileActions.css";
import DownloadIcon from "../../assets/icons/download-file.svg?react";
@@ -14,9 +13,10 @@ import { useIsMobile } from "../../hooks/useMobile";
import { useState } from "react";
import { attributes } from "../../utils/attributes";
import CopyIcon from "../../assets/icons/copy.svg?react";
+import { CodexDataItem } from "@codex-storage/sdk-js";
type Props = {
- content: CodexDataContent;
+ content: CodexDataItem;
folders: [string, string[]][];
onFolderToggle: (cid: string, folder: string) => void;
onDetails: (cid: string) => void;
diff --git a/src/components/Files/FileCell.tsx b/src/components/Files/FileCell.tsx
index b29d3a4..f3e43b0 100644
--- a/src/components/Files/FileCell.tsx
+++ b/src/components/Files/FileCell.tsx
@@ -4,13 +4,13 @@ import {
Toast,
WebFileIcon,
} from "@codex-storage/marketplace-ui-components";
-import { CodexDataContent } from "@codex-storage/sdk-js";
+import { CodexDataItem } from "@codex-storage/sdk-js";
import { useState } from "react";
import "./FileCell.css";
import CopyIcon from "../../assets/icons/copy.svg?react";
type Props = {
- content: CodexDataContent;
+ content: CodexDataItem;
};
export function FileCell({ content }: Props) {
diff --git a/src/components/Files/FileDetails.tsx b/src/components/Files/FileDetails.tsx
index 2dc58c4..b03c102 100644
--- a/src/components/Files/FileDetails.tsx
+++ b/src/components/Files/FileDetails.tsx
@@ -4,7 +4,7 @@ import {
Sheets,
WebFileIcon,
} from "@codex-storage/marketplace-ui-components";
-import { CodexDataContent, CodexPurchase } from "@codex-storage/sdk-js";
+import { CodexDataItem, CodexPurchase } from "@codex-storage/sdk-js";
import { Bytes } from "../../utils/bytes";
import { CidCopyButton } from "./CidCopyButton";
import "./FileDetails.css";
@@ -19,7 +19,7 @@ import { PurchaseHistory } from "./PurchaseHistory";
import { WebStorage } from "../../utils/web-storage";
type Props = {
- details: CodexDataContent | null;
+ details: CodexDataItem | null;
onClose: () => void;
};
diff --git a/src/components/Files/FileFilters.tsx b/src/components/Files/FileFilters.tsx
index 963786a..51d6bd0 100644
--- a/src/components/Files/FileFilters.tsx
+++ b/src/components/Files/FileFilters.tsx
@@ -1,4 +1,4 @@
-import { CodexDataContent } from "@codex-storage/sdk-js";
+import { CodexDataItem } from "@codex-storage/sdk-js";
import { FilesUtils } from "./files.utils";
import { classnames } from "../../utils/classnames";
import "./FileFilters.css";
@@ -8,7 +8,7 @@ import ArchiveIcon from "../../assets/icons/archive.svg?react";
import DocumentIcon from "../../assets/icons/document.svg?react";
type Props = {
- files: CodexDataContent[];
+ files: CodexDataItem[];
onFilterToggle: (filter: string) => void;
selected: string[];
};
diff --git a/src/components/Files/Files.tsx b/src/components/Files/Files.tsx
index 23a9f2e..8f8a9ee 100644
--- a/src/components/Files/Files.tsx
+++ b/src/components/Files/Files.tsx
@@ -15,7 +15,7 @@ import { FileDetails } from "./FileDetails.tsx";
import { useData } from "../../hooks/useData.tsx";
import { WebStorage } from "../../utils/web-storage.ts";
import { classnames } from "../../utils/classnames.ts";
-import { CodexDataContent } from "@codex-storage/sdk-js";
+import { CodexDataItem } from "@codex-storage/sdk-js";
import { FilesUtils } from "./files.utils.ts";
import { FilterFilters } from "./FileFilters.tsx";
import { FileCell } from "./FileCell.tsx";
@@ -24,7 +24,7 @@ import PlusIcon from "../../assets/icons/plus.svg?react";
import AllFilesIcon from "../../assets/icons/all.svg?react";
import FavoriteIcon from "../../assets/icons/favorite.svg?react";
-type SortFn = (a: CodexDataContent, b: CodexDataContent) => number;
+type SortFn = (a: CodexDataItem, b: CodexDataItem) => number;
type Props = {
limit?: number;
@@ -36,7 +36,7 @@ export function Files({ limit }: Props) {
const [folder, setFolder] = useState("");
const [folders, setFolders] = useState<[string, string[]][]>([]);
const [error, setError] = useState("");
- const [details, setDetails] = useState(null);
+ const [details, setDetails] = useState(null);
const [sortFn, setSortFn] = useState(() =>
FilesUtils.sortByDate("desc")
);
diff --git a/src/components/Files/PurchaseHistory.tsx b/src/components/Files/PurchaseHistory.tsx
index 9777dd1..c2d033f 100644
--- a/src/components/Files/PurchaseHistory.tsx
+++ b/src/components/Files/PurchaseHistory.tsx
@@ -38,7 +38,7 @@ export function PurchaseHistory({ purchases }: Props) {
const rows = sorted
.filter((p) => !!p.request)
.map((p) => {
- const duration = parseInt(p.request!.ask.duration, 10);
+ const duration = p.request!.ask.duration;
return (
(a: CodexDataContent, b: CodexDataContent) => {
- const {
- manifest: { filename: afilename },
- } = a;
- const {
- manifest: { filename: bfilename },
- } = b;
+ sortByName: (state: TabSortState) => (a: CodexDataItem, b: CodexDataItem) => {
+ const {
+ manifest: { filename: afilename },
+ } = a;
+ const {
+ manifest: { filename: bfilename },
+ } = b;
- return state === "desc"
- ? (bfilename || "")
- .toLocaleLowerCase()
- .localeCompare((afilename || "").toLocaleLowerCase())
- : (afilename || "")
- .toLocaleLowerCase()
- .localeCompare((bfilename || "").toLocaleLowerCase());
- },
- sortBySize:
- (state: TabSortState) => (a: CodexDataContent, b: CodexDataContent) =>
- state === "desc"
- ? b.manifest.datasetSize - a.manifest.datasetSize
- : a.manifest.datasetSize - b.manifest.datasetSize,
- sortByDate:
- (state: TabSortState) => (a: CodexDataContent, b: CodexDataContent) => {
- const aUploadedAt = FilesUtils.getUploadedAt(a.cid);
- const bUploadedAt = FilesUtils.getUploadedAt(b.cid);
+ return state === "desc"
+ ? (bfilename || "")
+ .toLocaleLowerCase()
+ .localeCompare((afilename || "").toLocaleLowerCase())
+ : (afilename || "")
+ .toLocaleLowerCase()
+ .localeCompare((bfilename || "").toLocaleLowerCase());
+ },
+ sortBySize: (state: TabSortState) => (a: CodexDataItem, b: CodexDataItem) =>
+ state === "desc"
+ ? b.manifest.datasetSize - a.manifest.datasetSize
+ : a.manifest.datasetSize - b.manifest.datasetSize,
+ sortByDate: (state: TabSortState) => (a: CodexDataItem, b: CodexDataItem) => {
+ const aUploadedAt = FilesUtils.getUploadedAt(a.cid);
+ const bUploadedAt = FilesUtils.getUploadedAt(b.cid);
- return state === "desc"
- ? new Date(bUploadedAt).getTime() - new Date(aUploadedAt).getTime()
- : new Date(aUploadedAt).getTime() - new Date(bUploadedAt).getTime();
- },
+ return state === "desc"
+ ? new Date(bUploadedAt).getTime() - new Date(aUploadedAt).getTime()
+ : new Date(aUploadedAt).getTime() - new Date(bUploadedAt).getTime();
+ },
removeCidFromFolder(
folders: [string, string[]][],
@@ -95,7 +92,7 @@ export const FilesUtils = {
? filters.filter((f) => f !== filter)
: [...filters, filter],
listInFolder(
- files: CodexDataContent[],
+ files: CodexDataItem[],
folders: [string, string[]][],
index: number
) {
@@ -103,7 +100,7 @@ export const FilesUtils = {
? files
: files.filter((file) => folders[index - 1][1].includes(file.cid));
},
- applyFilters(files: CodexDataContent[], filters: string[]) {
+ applyFilters(files: CodexDataItem[], filters: string[]) {
return files.filter(
(file) =>
filters.length === 0 ||
diff --git a/src/components/Purchase/PurchasesTable.tsx b/src/components/Purchase/PurchasesTable.tsx
index be1c436..600a792 100644
--- a/src/components/Purchase/PurchasesTable.tsx
+++ b/src/components/Purchase/PurchasesTable.tsx
@@ -92,7 +92,7 @@ export function PurchasesTable() {
.map((p, index) => {
const r = p.request!;
const ask = r.ask;
- const duration = parseInt(ask.duration, 10);
+ const duration = ask.duration;
const pf = ask.proofProbability;
return (
(a: CodexPurchase, b: CodexPurchase) => {
- const aPrice = parseInt(a.request?.ask.pricePerBytePerSecond, 10);
- const bPrice = parseInt(b.request?.ask.pricePerBytePerSecond, 10);
+ const aPrice = a.request?.ask.pricePerBytePerSecond || 10;
+ const bPrice = b.request?.ask.pricePerBytePerSecond || 10;
return state === "desc" ? bPrice - aPrice : aPrice - bPrice;
},
sortByUploadedAt: