Fix types

This commit is contained in:
Arnaud 2025-04-02 17:25:27 +02:00
parent 00efd97653
commit 680371bb7d
No known key found for this signature in database
GPG Key ID: 69D6CE281FCAE663
13 changed files with 51 additions and 59 deletions

View File

@ -102,7 +102,7 @@ export function AvailabilitiesTable({ availabilities, space }: Props) {
<SlotRow
key={slot.id}
active={showDetails}
bytes={parseFloat(slot.size)}
bytes={slot.size}
id={slot.id}></SlotRow>
))}
</Fragment>

View File

@ -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],
})),
{

View File

@ -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);
},
},
})),

View File

@ -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;
};

View File

@ -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;

View File

@ -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) {

View File

@ -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;
};

View File

@ -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[];
};

View File

@ -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<CodexDataContent | null>(null);
const [details, setDetails] = useState<CodexDataItem | null>(null);
const [sortFn, setSortFn] = useState<SortFn>(() =>
FilesUtils.sortByDate("desc")
);

View File

@ -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 (
<Row

View File

@ -1,5 +1,5 @@
import { TabSortState } from "@codex-storage/marketplace-ui-components";
import { CodexDataContent } from "@codex-storage/sdk-js";
import { CodexDataItem } from "@codex-storage/sdk-js";
const archiveMimetypes = [
"application/zip",
@ -37,37 +37,34 @@ export const FilesUtils = {
return "document";
},
sortByName:
(state: TabSortState) => (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 ||

View File

@ -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 (
<Row

View File

@ -22,8 +22,8 @@ export const PurchaseUtils = {
: Number(a.request?.ask.duration) - Number(b.request?.ask.duration),
sortByReward:
(state: TabSortState) => (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: