diff --git a/.eslintrc b/.eslintrc index 2f22d681a..5f79b0e12 100644 --- a/.eslintrc +++ b/.eslintrc @@ -13,5 +13,12 @@ "rules": { "jsx-a11y/media-has-caption": "off" }, - "ignorePatterns": ["**/*.html", "node_polyfill.js"] + + "ignorePatterns": [ + "**/*.html", + "node_polyfill.js", + "src/stories/*", + ".storybook/*", + "src/gql/index.ts" + ] } diff --git a/.husky/pre-commit b/.husky/pre-commit index 274d4d8ef..46af14b21 100755 --- a/.husky/pre-commit +++ b/.husky/pre-commit @@ -1,4 +1,4 @@ #!/bin/sh . "$(dirname -- "$0")/_/husky.sh" -npx pretty-quick --staged +npx pretty-quick --staged \ No newline at end of file diff --git a/.husky/pre-push b/.husky/pre-push new file mode 100644 index 000000000..815deeeae --- /dev/null +++ b/.husky/pre-push @@ -0,0 +1,4 @@ +#!/bin/sh +. "$(dirname -- "$0")/_/husky.sh" + +npm run lint diff --git a/package.json b/package.json index 17aa638d7..1784cf2e9 100644 --- a/package.json +++ b/package.json @@ -44,9 +44,9 @@ "test": "vite test", "screenshots": "playwright test", "eject": "react-scripts eject", - "format": "prettier --write \"./src/**/*.{js,jsx,scss}\"", + "format": "prettier --write \"./src/**/*.{js,jsx,scss,ts,tsx}\"", "prepare": "husky install", - "lint": "eslint src --ext .js,.jsx", + "lint": "eslint src --ext .js,.jsx,.ts,.tsx", "storybook": "storybook dev -p 6006", "build-storybook": "storybook build" }, diff --git a/src/components/collab/CollabSwitch.tsx b/src/components/collab/CollabSwitch.tsx index 7ff5271c6..a6d7cdea2 100644 --- a/src/components/collab/CollabSwitch.tsx +++ b/src/components/collab/CollabSwitch.tsx @@ -1,7 +1,7 @@ import { Button } from '@atoms/button' -import { apiSWR, fetchGraphQL } from '@data/api' +import { apiSWR } from '@data/api' import { CollabContractsOverview } from '@pages/collaborate/manage' -import { useEffect, useState } from 'react' +import { useState } from 'react' import collabStyles from '@components/collab/index.module.scss' import classNames from 'classnames' diff --git a/src/data/ipfs.ts b/src/data/ipfs.ts index 9d5480a39..9ca5d54a5 100644 --- a/src/data/ipfs.ts +++ b/src/data/ipfs.ts @@ -8,10 +8,6 @@ import { useUserStore } from '@context/userStore' import { useModalStore } from '@context/modalStore' import { FileForm, FileMint, MintFormat } from '@types' -/** - * @typedef { {path: string?, blob: Blob} } FileHolder - */ - /** * Upload a single file through the IPFS proxy. */ @@ -102,17 +98,8 @@ const isDoubleMint = async (uri: string) => { address: proxyAddress || address || '', uris: [uri], }) - // await fetchGraphQL(uriQuery, 'uriQuery', { - // address: proxyAddress || address, - // ids: [uri], - // }) - console.debug(res) - // if (errors) { - // show(`GraphQL Error: ${JSON.stringify(errors)}`) - // return true - // } else if (data) { if (!res.tokens) return false const areAllTokensBurned = res.tokens.every((token) => token.editions === 0) @@ -129,21 +116,6 @@ const isDoubleMint = async (uri: string) => { // return false } -interface PrepareProps { - name: string - description: string - tags: string - address: string - file: FileForm - cover: FileForm - thumbnail: FileForm - rights: string - rightUri?: string - language?: string - accessibility: string - contentRating: string - formats: any -} export const prepareFile = async ({ name, description, @@ -270,22 +242,7 @@ export const prepareDirectory = async ({ accessibility, contentRating, formats, -}: { - name: string - description: string - tags: string - address: string - files: FileForm[] - cover: FileForm - thumbnail: FileForm - generateDisplayUri: string - rights: string - rightUri: string - language: string - accessibility: string - contentRating: string - formats: MintFormat[] -}) => { +}: PrepareDirectoryOptions) => { const step = useModalStore.getState().step const hashes = await uploadFilesToDirectory(files) @@ -435,21 +392,7 @@ async function buildMetadataFile({ accessibility, contentRating, formats, -}: { - name: string - description: string - tags: string - uri: string - address: string - displayUri: string - thumbnailUri: string - rights: string - rightUri?: string - language: string - accessibility: string - contentRating: string - formats: MintFormat[] -}) { +}: BuildMetadataOptions) { const metadata: TeiaMetadata = { name, description, @@ -475,6 +418,55 @@ async function buildMetadataFile({ return JSON.stringify(metadata) } +// TODO: Move types to each roots? + +interface PrepareProps { + name: string + description: string + tags: string + address: string + file: FileForm + cover: FileForm + thumbnail: FileForm + rights: string + rightUri?: string + language?: string + accessibility: string + contentRating: string + formats: any +} + +interface PrepareDirectoryOptions { + name: string + description: string + tags: string + address: string + files: FileMint[] + cover: FileForm + thumbnail: FileForm + generateDisplayUri: string + rights: string + rightUri: string + language: string + accessibility: string + contentRating: string + formats: MintFormat[] +} +interface BuildMetadataOptions { + name: string + description: string + tags: string + uri: string + address: string + displayUri: string + thumbnailUri: string + rights: string + rightUri?: string + language?: string + accessibility: string + contentRating: string + formats: MintFormat[] +} interface TeiaMetadata { name: string description: string diff --git a/src/pages/collaborate/manage.jsx b/src/pages/collaborate/manage.jsx index 76a292300..0574c16b1 100644 --- a/src/pages/collaborate/manage.jsx +++ b/src/pages/collaborate/manage.jsx @@ -5,25 +5,25 @@ import { apiSWR } from '@data/api' // import { CountdownTimer } from '@components/collab/manage/CountdownTimer' import { CollabList } from '@components/collab/manage/CollabList' import { useUserStore } from '@context/userStore' -import { useCollabStore } from '@context/collabStore' -import { shallow } from 'zustand/shallow' +// import { useCollabStore } from '@context/collabStore' +// import { shallow } from 'zustand/shallow' import { Loading } from '@atoms/loading' export const CollabContractsOverview = ({ showAdminOnly = false }) => { const address = useUserStore((st) => st.address) - const [ - originatedContract, - // originationOpHash, - // findOriginatedContractFromOpHash, - ] = useCollabStore( - (st) => [ - st.originatedContract, - // st.originationOpHash, - // st.findOriginatedContractFromOpHash, - ], - shallow - ) + // const [ + // originatedContract, + // originationOpHash, + // findOriginatedContractFromOpHash, + // ] = useCollabStore( + // (st) => [ + // st.originatedContract, + // st.originationOpHash, + // st.findOriginatedContractFromOpHash, + // ], + // shallow + // ) // const [collabs, setCollabs] = useState([]) // const [managedCollabs, setManagedCollabs] = useState([]) @@ -75,7 +75,7 @@ export const CollabContractsOverview = ({ showAdminOnly = false }) => { : [...adminCollabs, ...participantCollabs] return availableCollabs - }, [data, address, originatedContract, showAdminOnly]) + }, [data, address /*, originatedContract*/, showAdminOnly]) if (!address) { return }