diff --git a/examples/openspending/components/FlatUiTable.tsx b/examples/openspending/components/FlatUiTable.tsx index 9283b320..693dc0f5 100644 --- a/examples/openspending/components/FlatUiTable.tsx +++ b/examples/openspending/components/FlatUiTable.tsx @@ -4,10 +4,13 @@ import { Grid } from '@githubocto/flat-ui'; const queryClient = new QueryClient(); -export async function getCsv(url: string) { +export async function getCsv(url: string, corsProxy?: string, range?: string) { + if (corsProxy) { + url = corsProxy + url + } const response = await fetch(url, { headers: { - Range: 'bytes=0-5132288', + Range: range ? `bytes=0-${range}` : 'bytes=0-512000', }, }); const data = await response.text(); @@ -61,21 +64,25 @@ export interface FlatUiTableProps { url?: string; data?: { [key: string]: number | string }[]; rawCsv?: string; + range?: string; + corsProxy?: string; } export const FlatUiTable: React.FC = ({ url, data, rawCsv, + corsProxy, + range }) => { return ( // Provide the client to your App - + ); }; -const TableInner: React.FC = ({ url, data, rawCsv }) => { +const TableInner: React.FC = ({ url, data, rawCsv, corsProxy, range }) => { if (data) { return (
@@ -85,12 +92,12 @@ const TableInner: React.FC = ({ url, data, rawCsv }) => { } const { data: csvString, isLoading: isDownloadingCSV } = useQuery( ['dataCsv', url], - () => getCsv(url), + () => getCsv(url as string, corsProxy, range), { enabled: !!url } ); const { data: parsedData, isLoading: isParsing } = useQuery( ['dataPreview', csvString], - () => parseCsv(rawCsv ? rawCsv : csvString), + () => parseCsv(rawCsv ? rawCsv as string : csvString as string), { enabled: rawCsv ? true : !!csvString } ); if (isParsing || isDownloadingCSV) @@ -103,4 +110,6 @@ const TableInner: React.FC = ({ url, data, rawCsv }) => {
); + return }; + diff --git a/examples/openspending/pages/@org/[org]/[project].tsx b/examples/openspending/pages/@org/[org]/[project].tsx index 57c88957..cb87ceed 100644 --- a/examples/openspending/pages/@org/[org]/[project].tsx +++ b/examples/openspending/pages/@org/[org]/[project].tsx @@ -189,8 +189,8 @@ export default function ProjectPage({ {file.name} {file.format ? `.${file.format}` : ''} - {file.bytes >= 5132288 && ( - Previewing 5MB out of {size} + {file.bytes >= 512000 && ( + Previewing 500KB out of {size} )}