diff --git a/examples/openspending/components/FlatUiTable.tsx b/examples/openspending/components/FlatUiTable.tsx deleted file mode 100644 index f9f01083..00000000 --- a/examples/openspending/components/FlatUiTable.tsx +++ /dev/null @@ -1,94 +0,0 @@ -import { - QueryClient, - QueryClientProvider, - useQuery, - useQueryClient, -} from 'react-query'; -import Papa from 'papaparse'; -import { Grid } from '@githubocto/flat-ui'; - -const queryClient = new QueryClient(); - -export async function getCsv(url: string) { - const response = await fetch(url, { - headers: { - Range: 'bytes=0-5132288', - }, - }); - const data = await response.text(); - return data; -} - -export async function parseCsv(file: string): Promise { - return new Promise((resolve, reject) => { - Papa.parse(file, { - header: true, - dynamicTyping: true, - skipEmptyLines: true, - transform: (value: string): string => { - return value.trim(); - }, - complete: (results: any) => { - return resolve(results); - }, - error: (error: any) => { - return reject(error); - }, - }); - }); -} - -const Spinning = () => { - return ( -
- - Loading... -
- ); -}; - -export const FlatUiTable: React.FC<{ url: string }> = ({ url }) => { - return ( - // Provide the client to your App - - - - ); -}; - -const TableInner: React.FC<{ url: string }> = ({ url }) => { - const { data: csvString, isLoading: isDownloadingCSV } = useQuery( - ['dataCsv', url], - () => getCsv(url) - ); - const { data: parsedData, isLoading: isParsing } = useQuery( - ['dataPreview', csvString], - () => parseCsv(csvString), - { enabled: !!csvString } - ); - if (isParsing || isDownloadingCSV) -
- -
; - if (parsedData) - return ( -
- -
- ); -}; diff --git a/examples/openspending/package-lock.json b/examples/openspending/package-lock.json index b95c1e7f..8ed8cb67 100644 --- a/examples/openspending/package-lock.json +++ b/examples/openspending/package-lock.json @@ -12,6 +12,7 @@ "@githubocto/flat-ui": "^0.14.1", "@heroicons/react": "^2.0.18", "@octokit/plugin-throttling": "^5.2.2", + "@portaljs/components": "^0.1.3", "@types/flexsearch": "^0.7.3", "@types/node": "18.16.0", "@types/react": "18.0.38", @@ -2960,6 +2961,15 @@ "url": "https://opencollective.com/unts" } }, + "node_modules/@portaljs/components": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/@portaljs/components/-/components-0.1.3.tgz", + "integrity": "sha512-mEa5yzuxJUDnPhCHVfrPV48h7KA3FwfwdtFuruX9FsH5sf2ITqofUMU4t+KZX0T3hzccvAvpZFvcjbZz7eAC5w==", + "peerDependencies": { + "react": "^18.2.0", + "react-dom": "^18.2.0" + } + }, "node_modules/@primer/octicons-react": { "version": "12.1.0", "resolved": "https://registry.npmjs.org/@primer/octicons-react/-/octicons-react-12.1.0.tgz", diff --git a/examples/openspending/package.json b/examples/openspending/package.json index ffa39da7..77d66117 100644 --- a/examples/openspending/package.json +++ b/examples/openspending/package.json @@ -14,6 +14,7 @@ "@githubocto/flat-ui": "^0.14.1", "@heroicons/react": "^2.0.18", "@octokit/plugin-throttling": "^5.2.2", + "@portaljs/components": "^0.1.3", "@types/flexsearch": "^0.7.3", "@types/node": "18.16.0", "@types/react": "18.0.38", diff --git a/examples/openspending/pages/@org/[org]/[project].tsx b/examples/openspending/pages/@org/[org]/[project].tsx index 858ddffc..03e0fecf 100644 --- a/examples/openspending/pages/@org/[org]/[project].tsx +++ b/examples/openspending/pages/@org/[org]/[project].tsx @@ -13,7 +13,7 @@ import Layout from '../../../components/_shared/Layout'; import Link from 'next/link'; import { Project } from '../../../lib/project.interface'; import ExternalLinkIcon from '../../../components/icons/ExternalLinkIcon'; -import { FlatUiTable } from '@/components/FlatUiTable'; +import { FlatUiTable } from '@portaljs/components'; export default function ProjectPage({ project,