From e573976c89ddf4a4d1813cbe6b1ab49addc6c58e Mon Sep 17 00:00:00 2001 From: Tim McMackin Date: Wed, 10 Dec 2025 16:44:50 -0500 Subject: [PATCH 1/8] Finished files from NFT marketplace tutorial --- nft-marketplace/part-1/.gitignore | 9 + nft-marketplace/part-1/.taq/config.json | 70 + nft-marketplace/part-1/app/README.md | 27 + nft-marketplace/part-1/app/index.html | 14 + nft-marketplace/part-1/app/package.json | 54 + nft-marketplace/part-1/app/public/favicon.ico | Bin 0 -> 4814 bytes nft-marketplace/part-1/app/public/logo.png | Bin 0 -> 4814 bytes nft-marketplace/part-1/app/public/vite.svg | 1 + .../part-1/app/public/winelord.gif | Bin 0 -> 119391 bytes .../part-1/app/public/winelord.png | Bin 0 -> 431337 bytes nft-marketplace/part-1/app/src/App.css | 43 + nft-marketplace/part-1/app/src/App.tsx | 146 + .../part-1/app/src/ConnectWallet.tsx | 51 + .../part-1/app/src/DisconnectWallet.tsx | 44 + nft-marketplace/part-1/app/src/Header.tsx | 77 + nft-marketplace/part-1/app/src/MintPage.tsx | 412 ++ nft-marketplace/part-1/app/src/Navigator.tsx | 150 + nft-marketplace/part-1/app/src/OffersPage.tsx | 27 + nft-marketplace/part-1/app/src/Paperbase.tsx | 282 + .../app/src/TransactionInvalidBeaconError.ts | 78 + .../part-1/app/src/WineCataloguePage.tsx | 30 + .../part-1/app/src/assets/react.svg | 1 + nft-marketplace/part-1/app/src/index.css | 69 + nft-marketplace/part-1/app/src/main.tsx | 10 + nft-marketplace/part-1/app/src/nft.code.ts | 6 + nft-marketplace/part-1/app/src/nft.types.ts | 107 + .../part-1/app/src/nodeSpecific.ts | 3 + .../part-1/app/src/type-aliases.ts | 97 + nft-marketplace/part-1/app/src/type-utils.ts | 36 + nft-marketplace/part-1/app/src/vite-env.d.ts | 1 + nft-marketplace/part-1/app/tsconfig.json | 25 + nft-marketplace/part-1/app/tsconfig.node.json | 10 + nft-marketplace/part-1/app/vite.config.ts | 19 + nft-marketplace/part-1/app/yarn.lock | 5309 +++++++++++++++++ nft-marketplace/part-1/contracts/nft.jsligo | 111 + .../part-1/contracts/nft.parameterList.jsligo | 6 + .../part-1/contracts/nft.storageList.jsligo | 39 + nft-marketplace/part-1/ligo.json | 1 + nft-marketplace/part-1/package-lock.json | 2919 +++++++++ nft-marketplace/part-1/package.json | 17 + nft-marketplace/part-2/.gitignore | 9 + nft-marketplace/part-2/.taq/config.json | 70 + nft-marketplace/part-2/app/README.md | 27 + nft-marketplace/part-2/app/index.html | 14 + nft-marketplace/part-2/app/package.json | 54 + nft-marketplace/part-2/app/public/favicon.ico | Bin 0 -> 4814 bytes nft-marketplace/part-2/app/public/logo.png | Bin 0 -> 4814 bytes nft-marketplace/part-2/app/public/vite.svg | 1 + .../part-2/app/public/winelord.gif | Bin 0 -> 119391 bytes .../part-2/app/public/winelord.png | Bin 0 -> 431337 bytes nft-marketplace/part-2/app/src/App.css | 43 + nft-marketplace/part-2/app/src/App.tsx | 146 + .../part-2/app/src/ConnectWallet.tsx | 51 + .../part-2/app/src/DisconnectWallet.tsx | 44 + nft-marketplace/part-2/app/src/Header.tsx | 77 + nft-marketplace/part-2/app/src/MintPage.tsx | 412 ++ nft-marketplace/part-2/app/src/Navigator.tsx | 150 + nft-marketplace/part-2/app/src/OffersPage.tsx | 331 + nft-marketplace/part-2/app/src/Paperbase.tsx | 282 + .../app/src/TransactionInvalidBeaconError.ts | 78 + .../part-2/app/src/WineCataloguePage.tsx | 229 + .../part-2/app/src/assets/react.svg | 1 + nft-marketplace/part-2/app/src/index.css | 69 + nft-marketplace/part-2/app/src/main.tsx | 10 + nft-marketplace/part-2/app/src/nft.code.ts | 6 + nft-marketplace/part-2/app/src/nft.types.ts | 131 + .../part-2/app/src/nodeSpecific.ts | 3 + .../part-2/app/src/type-aliases.ts | 97 + nft-marketplace/part-2/app/src/type-utils.ts | 36 + nft-marketplace/part-2/app/src/vite-env.d.ts | 1 + nft-marketplace/part-2/app/tsconfig.json | 25 + nft-marketplace/part-2/app/tsconfig.node.json | 10 + nft-marketplace/part-2/app/vite.config.ts | 19 + nft-marketplace/part-2/app/yarn.lock | 5309 +++++++++++++++++ nft-marketplace/part-2/contracts/nft.jsligo | 195 + .../part-2/contracts/nft.parameterList.jsligo | 6 + .../part-2/contracts/nft.storageList.jsligo | 40 + nft-marketplace/part-2/ligo.json | 1 + nft-marketplace/part-2/package-lock.json | 2919 +++++++++ nft-marketplace/part-2/package.json | 17 + nft-marketplace/part-3/.gitignore | 9 + nft-marketplace/part-3/.taq/config.json | 70 + nft-marketplace/part-3/app/README.md | 27 + nft-marketplace/part-3/app/index.html | 14 + nft-marketplace/part-3/app/package.json | 54 + nft-marketplace/part-3/app/public/favicon.ico | Bin 0 -> 4814 bytes nft-marketplace/part-3/app/public/logo.png | Bin 0 -> 4814 bytes nft-marketplace/part-3/app/public/vite.svg | 1 + .../part-3/app/public/winelord.gif | Bin 0 -> 119391 bytes .../part-3/app/public/winelord.png | Bin 0 -> 431337 bytes nft-marketplace/part-3/app/src/App.css | 43 + nft-marketplace/part-3/app/src/App.tsx | 139 + .../part-3/app/src/ConnectWallet.tsx | 51 + .../part-3/app/src/DisconnectWallet.tsx | 44 + nft-marketplace/part-3/app/src/Header.tsx | 77 + nft-marketplace/part-3/app/src/MintPage.tsx | 441 ++ nft-marketplace/part-3/app/src/Navigator.tsx | 150 + nft-marketplace/part-3/app/src/OffersPage.tsx | 332 ++ nft-marketplace/part-3/app/src/Paperbase.tsx | 282 + .../app/src/TransactionInvalidBeaconError.ts | 78 + .../part-3/app/src/WineCataloguePage.tsx | 255 + .../part-3/app/src/assets/react.svg | 1 + nft-marketplace/part-3/app/src/index.css | 69 + nft-marketplace/part-3/app/src/main.tsx | 10 + nft-marketplace/part-3/app/src/nft.code.ts | 6 + nft-marketplace/part-3/app/src/nft.types.ts | 128 + .../part-3/app/src/nodeSpecific.ts | 3 + .../part-3/app/src/type-aliases.ts | 97 + nft-marketplace/part-3/app/src/type-utils.ts | 36 + nft-marketplace/part-3/app/src/vite-env.d.ts | 1 + nft-marketplace/part-3/app/tsconfig.json | 25 + nft-marketplace/part-3/app/tsconfig.node.json | 10 + nft-marketplace/part-3/app/vite.config.ts | 19 + nft-marketplace/part-3/app/yarn.lock | 5309 +++++++++++++++++ nft-marketplace/part-3/contracts/nft.jsligo | 193 + .../part-3/contracts/nft.parameterList.jsligo | 6 + .../part-3/contracts/nft.storageList.jsligo | 40 + nft-marketplace/part-3/ligo.json | 1 + nft-marketplace/part-3/package-lock.json | 2919 +++++++++ nft-marketplace/part-3/package.json | 17 + nft-marketplace/part-4/.gitignore | 9 + nft-marketplace/part-4/.taq/config.json | 70 + nft-marketplace/part-4/app/README.md | 27 + nft-marketplace/part-4/app/index.html | 14 + nft-marketplace/part-4/app/package.json | 54 + nft-marketplace/part-4/app/public/favicon.ico | Bin 0 -> 4814 bytes nft-marketplace/part-4/app/public/logo.png | Bin 0 -> 4814 bytes nft-marketplace/part-4/app/public/vite.svg | 1 + .../part-4/app/public/winelord.gif | Bin 0 -> 119391 bytes .../part-4/app/public/winelord.png | Bin 0 -> 431337 bytes nft-marketplace/part-4/app/src/App.css | 43 + nft-marketplace/part-4/app/src/App.tsx | 147 + .../part-4/app/src/ConnectWallet.tsx | 51 + .../part-4/app/src/DisconnectWallet.tsx | 44 + nft-marketplace/part-4/app/src/Header.tsx | 77 + nft-marketplace/part-4/app/src/MintPage.tsx | 454 ++ nft-marketplace/part-4/app/src/Navigator.tsx | 150 + nft-marketplace/part-4/app/src/OffersPage.tsx | 377 ++ nft-marketplace/part-4/app/src/Paperbase.tsx | 282 + .../app/src/TransactionInvalidBeaconError.ts | 78 + .../part-4/app/src/WineCataloguePage.tsx | 266 + .../part-4/app/src/assets/react.svg | 1 + nft-marketplace/part-4/app/src/index.css | 69 + nft-marketplace/part-4/app/src/main.tsx | 10 + nft-marketplace/part-4/app/src/nft.code.ts | 6 + nft-marketplace/part-4/app/src/nft.types.ts | 143 + .../part-4/app/src/nodeSpecific.ts | 3 + .../part-4/app/src/type-aliases.ts | 97 + nft-marketplace/part-4/app/src/type-utils.ts | 36 + nft-marketplace/part-4/app/src/vite-env.d.ts | 1 + nft-marketplace/part-4/app/tsconfig.json | 25 + nft-marketplace/part-4/app/tsconfig.node.json | 10 + nft-marketplace/part-4/app/vite.config.ts | 19 + nft-marketplace/part-4/app/yarn.lock | 5309 +++++++++++++++++ nft-marketplace/part-4/contracts/nft.jsligo | 201 + .../part-4/contracts/nft.parameterList.jsligo | 6 + .../part-4/contracts/nft.storageList.jsligo | 40 + nft-marketplace/part-4/ligo.json | 1 + nft-marketplace/part-4/package-lock.json | 2919 +++++++++ nft-marketplace/part-4/package.json | 17 + 160 files changed, 43228 insertions(+) create mode 100644 nft-marketplace/part-1/.gitignore create mode 100644 nft-marketplace/part-1/.taq/config.json create mode 100644 nft-marketplace/part-1/app/README.md create mode 100644 nft-marketplace/part-1/app/index.html create mode 100644 nft-marketplace/part-1/app/package.json create mode 100644 nft-marketplace/part-1/app/public/favicon.ico create mode 100644 nft-marketplace/part-1/app/public/logo.png create mode 100644 nft-marketplace/part-1/app/public/vite.svg create mode 100755 nft-marketplace/part-1/app/public/winelord.gif create mode 100755 nft-marketplace/part-1/app/public/winelord.png create mode 100644 nft-marketplace/part-1/app/src/App.css create mode 100644 nft-marketplace/part-1/app/src/App.tsx create mode 100644 nft-marketplace/part-1/app/src/ConnectWallet.tsx create mode 100644 nft-marketplace/part-1/app/src/DisconnectWallet.tsx create mode 100644 nft-marketplace/part-1/app/src/Header.tsx create mode 100644 nft-marketplace/part-1/app/src/MintPage.tsx create mode 100644 nft-marketplace/part-1/app/src/Navigator.tsx create mode 100644 nft-marketplace/part-1/app/src/OffersPage.tsx create mode 100644 nft-marketplace/part-1/app/src/Paperbase.tsx create mode 100644 nft-marketplace/part-1/app/src/TransactionInvalidBeaconError.ts create mode 100644 nft-marketplace/part-1/app/src/WineCataloguePage.tsx create mode 100644 nft-marketplace/part-1/app/src/assets/react.svg create mode 100644 nft-marketplace/part-1/app/src/index.css create mode 100644 nft-marketplace/part-1/app/src/main.tsx create mode 100644 nft-marketplace/part-1/app/src/nft.code.ts create mode 100644 nft-marketplace/part-1/app/src/nft.types.ts create mode 100644 nft-marketplace/part-1/app/src/nodeSpecific.ts create mode 100644 nft-marketplace/part-1/app/src/type-aliases.ts create mode 100644 nft-marketplace/part-1/app/src/type-utils.ts create mode 100644 nft-marketplace/part-1/app/src/vite-env.d.ts create mode 100644 nft-marketplace/part-1/app/tsconfig.json create mode 100644 nft-marketplace/part-1/app/tsconfig.node.json create mode 100644 nft-marketplace/part-1/app/vite.config.ts create mode 100644 nft-marketplace/part-1/app/yarn.lock create mode 100644 nft-marketplace/part-1/contracts/nft.jsligo create mode 100644 nft-marketplace/part-1/contracts/nft.parameterList.jsligo create mode 100644 nft-marketplace/part-1/contracts/nft.storageList.jsligo create mode 100644 nft-marketplace/part-1/ligo.json create mode 100644 nft-marketplace/part-1/package-lock.json create mode 100644 nft-marketplace/part-1/package.json create mode 100644 nft-marketplace/part-2/.gitignore create mode 100644 nft-marketplace/part-2/.taq/config.json create mode 100644 nft-marketplace/part-2/app/README.md create mode 100644 nft-marketplace/part-2/app/index.html create mode 100644 nft-marketplace/part-2/app/package.json create mode 100644 nft-marketplace/part-2/app/public/favicon.ico create mode 100644 nft-marketplace/part-2/app/public/logo.png create mode 100644 nft-marketplace/part-2/app/public/vite.svg create mode 100755 nft-marketplace/part-2/app/public/winelord.gif create mode 100755 nft-marketplace/part-2/app/public/winelord.png create mode 100644 nft-marketplace/part-2/app/src/App.css create mode 100644 nft-marketplace/part-2/app/src/App.tsx create mode 100644 nft-marketplace/part-2/app/src/ConnectWallet.tsx create mode 100644 nft-marketplace/part-2/app/src/DisconnectWallet.tsx create mode 100644 nft-marketplace/part-2/app/src/Header.tsx create mode 100644 nft-marketplace/part-2/app/src/MintPage.tsx create mode 100644 nft-marketplace/part-2/app/src/Navigator.tsx create mode 100644 nft-marketplace/part-2/app/src/OffersPage.tsx create mode 100644 nft-marketplace/part-2/app/src/Paperbase.tsx create mode 100644 nft-marketplace/part-2/app/src/TransactionInvalidBeaconError.ts create mode 100644 nft-marketplace/part-2/app/src/WineCataloguePage.tsx create mode 100644 nft-marketplace/part-2/app/src/assets/react.svg create mode 100644 nft-marketplace/part-2/app/src/index.css create mode 100644 nft-marketplace/part-2/app/src/main.tsx create mode 100644 nft-marketplace/part-2/app/src/nft.code.ts create mode 100644 nft-marketplace/part-2/app/src/nft.types.ts create mode 100644 nft-marketplace/part-2/app/src/nodeSpecific.ts create mode 100644 nft-marketplace/part-2/app/src/type-aliases.ts create mode 100644 nft-marketplace/part-2/app/src/type-utils.ts create mode 100644 nft-marketplace/part-2/app/src/vite-env.d.ts create mode 100644 nft-marketplace/part-2/app/tsconfig.json create mode 100644 nft-marketplace/part-2/app/tsconfig.node.json create mode 100644 nft-marketplace/part-2/app/vite.config.ts create mode 100644 nft-marketplace/part-2/app/yarn.lock create mode 100644 nft-marketplace/part-2/contracts/nft.jsligo create mode 100644 nft-marketplace/part-2/contracts/nft.parameterList.jsligo create mode 100644 nft-marketplace/part-2/contracts/nft.storageList.jsligo create mode 100644 nft-marketplace/part-2/ligo.json create mode 100644 nft-marketplace/part-2/package-lock.json create mode 100644 nft-marketplace/part-2/package.json create mode 100644 nft-marketplace/part-3/.gitignore create mode 100644 nft-marketplace/part-3/.taq/config.json create mode 100644 nft-marketplace/part-3/app/README.md create mode 100644 nft-marketplace/part-3/app/index.html create mode 100644 nft-marketplace/part-3/app/package.json create mode 100644 nft-marketplace/part-3/app/public/favicon.ico create mode 100644 nft-marketplace/part-3/app/public/logo.png create mode 100644 nft-marketplace/part-3/app/public/vite.svg create mode 100755 nft-marketplace/part-3/app/public/winelord.gif create mode 100755 nft-marketplace/part-3/app/public/winelord.png create mode 100644 nft-marketplace/part-3/app/src/App.css create mode 100644 nft-marketplace/part-3/app/src/App.tsx create mode 100644 nft-marketplace/part-3/app/src/ConnectWallet.tsx create mode 100644 nft-marketplace/part-3/app/src/DisconnectWallet.tsx create mode 100644 nft-marketplace/part-3/app/src/Header.tsx create mode 100644 nft-marketplace/part-3/app/src/MintPage.tsx create mode 100644 nft-marketplace/part-3/app/src/Navigator.tsx create mode 100644 nft-marketplace/part-3/app/src/OffersPage.tsx create mode 100644 nft-marketplace/part-3/app/src/Paperbase.tsx create mode 100644 nft-marketplace/part-3/app/src/TransactionInvalidBeaconError.ts create mode 100644 nft-marketplace/part-3/app/src/WineCataloguePage.tsx create mode 100644 nft-marketplace/part-3/app/src/assets/react.svg create mode 100644 nft-marketplace/part-3/app/src/index.css create mode 100644 nft-marketplace/part-3/app/src/main.tsx create mode 100644 nft-marketplace/part-3/app/src/nft.code.ts create mode 100644 nft-marketplace/part-3/app/src/nft.types.ts create mode 100644 nft-marketplace/part-3/app/src/nodeSpecific.ts create mode 100644 nft-marketplace/part-3/app/src/type-aliases.ts create mode 100644 nft-marketplace/part-3/app/src/type-utils.ts create mode 100644 nft-marketplace/part-3/app/src/vite-env.d.ts create mode 100644 nft-marketplace/part-3/app/tsconfig.json create mode 100644 nft-marketplace/part-3/app/tsconfig.node.json create mode 100644 nft-marketplace/part-3/app/vite.config.ts create mode 100644 nft-marketplace/part-3/app/yarn.lock create mode 100644 nft-marketplace/part-3/contracts/nft.jsligo create mode 100644 nft-marketplace/part-3/contracts/nft.parameterList.jsligo create mode 100644 nft-marketplace/part-3/contracts/nft.storageList.jsligo create mode 100644 nft-marketplace/part-3/ligo.json create mode 100644 nft-marketplace/part-3/package-lock.json create mode 100644 nft-marketplace/part-3/package.json create mode 100644 nft-marketplace/part-4/.gitignore create mode 100644 nft-marketplace/part-4/.taq/config.json create mode 100644 nft-marketplace/part-4/app/README.md create mode 100644 nft-marketplace/part-4/app/index.html create mode 100644 nft-marketplace/part-4/app/package.json create mode 100644 nft-marketplace/part-4/app/public/favicon.ico create mode 100644 nft-marketplace/part-4/app/public/logo.png create mode 100644 nft-marketplace/part-4/app/public/vite.svg create mode 100755 nft-marketplace/part-4/app/public/winelord.gif create mode 100755 nft-marketplace/part-4/app/public/winelord.png create mode 100644 nft-marketplace/part-4/app/src/App.css create mode 100644 nft-marketplace/part-4/app/src/App.tsx create mode 100644 nft-marketplace/part-4/app/src/ConnectWallet.tsx create mode 100644 nft-marketplace/part-4/app/src/DisconnectWallet.tsx create mode 100644 nft-marketplace/part-4/app/src/Header.tsx create mode 100644 nft-marketplace/part-4/app/src/MintPage.tsx create mode 100644 nft-marketplace/part-4/app/src/Navigator.tsx create mode 100644 nft-marketplace/part-4/app/src/OffersPage.tsx create mode 100644 nft-marketplace/part-4/app/src/Paperbase.tsx create mode 100644 nft-marketplace/part-4/app/src/TransactionInvalidBeaconError.ts create mode 100644 nft-marketplace/part-4/app/src/WineCataloguePage.tsx create mode 100644 nft-marketplace/part-4/app/src/assets/react.svg create mode 100644 nft-marketplace/part-4/app/src/index.css create mode 100644 nft-marketplace/part-4/app/src/main.tsx create mode 100644 nft-marketplace/part-4/app/src/nft.code.ts create mode 100644 nft-marketplace/part-4/app/src/nft.types.ts create mode 100644 nft-marketplace/part-4/app/src/nodeSpecific.ts create mode 100644 nft-marketplace/part-4/app/src/type-aliases.ts create mode 100644 nft-marketplace/part-4/app/src/type-utils.ts create mode 100644 nft-marketplace/part-4/app/src/vite-env.d.ts create mode 100644 nft-marketplace/part-4/app/tsconfig.json create mode 100644 nft-marketplace/part-4/app/tsconfig.node.json create mode 100644 nft-marketplace/part-4/app/vite.config.ts create mode 100644 nft-marketplace/part-4/app/yarn.lock create mode 100644 nft-marketplace/part-4/contracts/nft.jsligo create mode 100644 nft-marketplace/part-4/contracts/nft.parameterList.jsligo create mode 100644 nft-marketplace/part-4/contracts/nft.storageList.jsligo create mode 100644 nft-marketplace/part-4/ligo.json create mode 100644 nft-marketplace/part-4/package-lock.json create mode 100644 nft-marketplace/part-4/package.json diff --git a/nft-marketplace/part-1/.gitignore b/nft-marketplace/part-1/.gitignore new file mode 100644 index 0000000..06eff8a --- /dev/null +++ b/nft-marketplace/part-1/.gitignore @@ -0,0 +1,9 @@ +.DS_Store +artifacts +.taq/*-state.json +.taq/config.local.*.json +node_modules/ +_ligo +.ligo +ligo.esy.lock/ +.env diff --git a/nft-marketplace/part-1/.taq/config.json b/nft-marketplace/part-1/.taq/config.json new file mode 100644 index 0000000..3659af6 --- /dev/null +++ b/nft-marketplace/part-1/.taq/config.json @@ -0,0 +1,70 @@ +{ + "version": "v2", + "language": "en", + "artifactsDir": "artifacts", + "contractsDir": "contracts", + "accounts": { + "bob": { + "balance": { + "amount": "30_000_000", + "units": "mutez" + } + }, + "alice": { + "balance": { + "amount": "30_000_000", + "units": "mutez" + } + }, + "john": { + "balance": { + "amount": "30_000_000", + "units": "mutez" + } + }, + "jane": { + "balance": { + "amount": "30_000_000", + "units": "mutez" + } + }, + "joe": { + "balance": { + "amount": "30_000_000", + "units": "mutez" + } + } + }, + "environmentDefault": "development", + "environments": { + "development": { + "type": "flextesa", + "label": "Local Tezos Sandbox", + "rpcUrl": "http://localhost:20000" + }, + "testing": { + "type": "simple", + "label": "shadownet", + "rpcUrl": "https://rpc.shadownet.teztnets.com" + }, + "production": { + "type": "simple", + "label": "mainnet", + "rpcUrl": "https://mainnet.api.tez.ie" + } + }, + "plugins": [ + { + "type": "npm", + "name": "@taqueria/plugin-ligo" + }, + { + "type": "npm", + "name": "@taqueria/plugin-taquito" + }, + { + "type": "npm", + "name": "@taqueria/plugin-contract-types" + } + ] +} \ No newline at end of file diff --git a/nft-marketplace/part-1/app/README.md b/nft-marketplace/part-1/app/README.md new file mode 100644 index 0000000..1ebe379 --- /dev/null +++ b/nft-marketplace/part-1/app/README.md @@ -0,0 +1,27 @@ +# React + TypeScript + Vite + +This template provides a minimal setup to get React working in Vite with HMR and some ESLint rules. + +Currently, two official plugins are available: + +- [@vitejs/plugin-react](https://github.com/vitejs/vite-plugin-react/blob/main/packages/plugin-react/README.md) uses [Babel](https://babeljs.io/) for Fast Refresh +- [@vitejs/plugin-react-swc](https://github.com/vitejs/vite-plugin-react-swc) uses [SWC](https://swc.rs/) for Fast Refresh + +## Expanding the ESLint configuration + +If you are developing a production application, we recommend updating the configuration to enable type aware lint rules: + +- Configure the top-level `parserOptions` property like this: + +```js + parserOptions: { + ecmaVersion: 'latest', + sourceType: 'module', + project: ['./tsconfig.json', './tsconfig.node.json'], + tsconfigRootDir: __dirname, + }, +``` + +- Replace `plugin:@typescript-eslint/recommended` to `plugin:@typescript-eslint/recommended-type-checked` or `plugin:@typescript-eslint/strict-type-checked` +- Optionally add `plugin:@typescript-eslint/stylistic-type-checked` +- Install [eslint-plugin-react](https://github.com/jsx-eslint/eslint-plugin-react) and add `plugin:react/recommended` & `plugin:react/jsx-runtime` to the `extends` list diff --git a/nft-marketplace/part-1/app/index.html b/nft-marketplace/part-1/app/index.html new file mode 100644 index 0000000..61c56ff --- /dev/null +++ b/nft-marketplace/part-1/app/index.html @@ -0,0 +1,14 @@ + + + + + + + Vite + React + TS + + +
+ + + + diff --git a/nft-marketplace/part-1/app/package.json b/nft-marketplace/part-1/app/package.json new file mode 100644 index 0000000..828c831 --- /dev/null +++ b/nft-marketplace/part-1/app/package.json @@ -0,0 +1,54 @@ +{ + "name": "reactboilerplateapp", + "private": true, + "version": "0.0.0", + "type": "module", + "scripts": { + "dev": "if test -f .env; then sed -i '' \"s/\\(VITE_CONTRACT_ADDRESS *= *\\).*/\\1$(jq -r 'last(.tasks[]).output[0].address' ../.taq/testing-state.json)/\" .env ; else jq -r '\"VITE_CONTRACT_ADDRESS=\" + last(.tasks[]).output[0].address' ../.taq/testing-state.json > .env ; fi && vite", + "build": "tsc && vite build", + "lint": "eslint . --ext ts,tsx --report-unused-disable-directives --max-warnings 0", + "preview": "vite preview" + }, + "dependencies": { + "@airgap/beacon-sdk": "4.6.3", + "@emotion/react": "11.14.0", + "@emotion/styled": "11.14.1", + "@mui/icons-material": "7.3.6", + "@mui/material": "7.3.6", + "@taquito/beacon-wallet": "23.0.3", + "@taquito/taquito": "23.0.3", + "@taquito/tzip12": "23.0.3", + "@tzkt/sdk-api": "^2.2.1", + "formik": "2.4.9", + "notistack": "3.0.2", + "react": "19.2.1", + "react-dom": "19.2.1", + "react-router-dom": "7.10.1", + "react-swipeable-views": "0.14.1", + "yup": "1.7.1" + }, + "devDependencies": { + "@types/react-swipeable-views": "0.13.6", + "@airgap/beacon-types": "4.6.3", + "@types/react": "19.2.7", + "@types/react-dom": "19.2.3", + "@typescript-eslint/eslint-plugin": "8.49.0", + "@typescript-eslint/parser": "8.49.0", + "@vitejs/plugin-react-swc": "4.2.2", + "assert": "^2.1.0", + "buffer": "^6.0.3", + "crypto-browserify": "3.12.1", + "eslint": "9.39.1", + "eslint-plugin-react-hooks": "7.0.1", + "eslint-plugin-react-refresh": "0.4.24", + "https-browserify": "^1.0.0", + "os-browserify": "^0.3.0", + "path-browserify": "^1.0.1", + "process": "^0.11.10", + "stream-browserify": "^3.0.0", + "stream-http": "^3.2.0", + "typescript": "5.9.3", + "url": "0.11.4", + "vite": "7.2.7" + } +} diff --git a/nft-marketplace/part-1/app/public/favicon.ico b/nft-marketplace/part-1/app/public/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..134247bc6330a207583a43f03d47d080db5d7ab4 GIT binary patch literal 4814 zcmeH}zi!h|6o+r=P^PwGKvh-AWn(}J142j)ju^Uzkne#&nwBl6`f`rXU*8kAwJ{s~>_0Jl9-40tjCp8`c?|pT z2IRkqR8`f75fm^12W{dAh%u<9zsxN1cA>B_xLi~+70f^nN(UA5~uUE67ot@qZxo36-uZ(ZAIkFEFCzMHPddT(9Z znUArr@V+qn|8%6-e8tT?^vJ-$zeMx%n{}_>4GyVuGtDPlTgW{+i+r)@dZ~91@_I0h ziY<0)Eiv7ba)PL~^L<2d2s0e^VA)+LH>z!&MULL197r6ro}q0vHM93Q*Ml4jK|0Uf zHb;IMXjTv#=i*F50G-FNRc!T$`ZZ_5S9rf$rSGB|`Z?dTJ`=XSmmtGMHLLh&n1!b3 z1cuS|Zrl_9BX|uXkNz%b|4kmYp6j>JpQ(-SKO=5IQq1I~_`WNEI2c3Wd8u6N6dYKu z^O+t6eu-+G3}h5?uyu~Fa(elUc96kuu#kZ2Ge1-3a?t$FVdo&3T&w!C&i6IX@%-_z zDLR9n@DUtHj=(}(7iJ~CkM=n$@p)cF!2;XDd#_QoqiL^OZ&Cl?Bi{7J z9)iS0aXmLyJ}6)Wxz`RYl91n~$ne#&nwBl6`f`rXU*8kAwJ{s~>_0Jl9-40tjCp8`c?|pT z2IRkqR8`f75fm^12W{dAh%u<9zsxN1cA>B_xLi~+70f^nN(UA5~uUE67ot@qZxo36-uZ(ZAIkFEFCzMHPddT(9Z znUArr@V+qn|8%6-e8tT?^vJ-$zeMx%n{}_>4GyVuGtDPlTgW{+i+r)@dZ~91@_I0h ziY<0)Eiv7ba)PL~^L<2d2s0e^VA)+LH>z!&MULL197r6ro}q0vHM93Q*Ml4jK|0Uf zHb;IMXjTv#=i*F50G-FNRc!T$`ZZ_5S9rf$rSGB|`Z?dTJ`=XSmmtGMHLLh&n1!b3 z1cuS|Zrl_9BX|uXkNz%b|4kmYp6j>JpQ(-SKO=5IQq1I~_`WNEI2c3Wd8u6N6dYKu z^O+t6eu-+G3}h5?uyu~Fa(elUc96kuu#kZ2Ge1-3a?t$FVdo&3T&w!C&i6IX@%-_z zDLR9n@DUtHj=(}(7iJ~CkM=n$@p)cF!2;XDd#_QoqiL^OZ&Cl?Bi{7J z9)iS0aXmLyJ}6)Wxz`RYl91n~$