From d53906118acee762c4b46673ab0255d84c1e7cea Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jo=C3=A3o=20Victor?= Date: Thu, 26 Jan 2023 22:09:26 -0300 Subject: [PATCH 01/17] feat: add new project --- .gitignore | 24 ++ img/print-tutorial-1.png | Bin 179862 -> 0 bytes index.html | 13 + package-lock.json | 882 +++++++++++++++++++++++++++++++++++++++ package.json | 22 + src/App.css | 0 src/App.tsx | 5 + src/index.css | 0 src/main.tsx | 10 + src/vite-env.d.ts | 1 + tsconfig.json | 21 + tsconfig.node.json | 9 + vite.config.ts | 7 + 13 files changed, 994 insertions(+) create mode 100644 .gitignore delete mode 100644 img/print-tutorial-1.png create mode 100644 index.html create mode 100644 package-lock.json create mode 100644 package.json create mode 100644 src/App.css create mode 100644 src/App.tsx create mode 100644 src/index.css create mode 100644 src/main.tsx create mode 100644 src/vite-env.d.ts create mode 100644 tsconfig.json create mode 100644 tsconfig.node.json create mode 100644 vite.config.ts diff --git a/.gitignore b/.gitignore new file mode 100644 index 00000000..a547bf36 --- /dev/null +++ b/.gitignore @@ -0,0 +1,24 @@ +# Logs +logs +*.log +npm-debug.log* +yarn-debug.log* +yarn-error.log* +pnpm-debug.log* +lerna-debug.log* + +node_modules +dist +dist-ssr +*.local + +# Editor directories and files +.vscode/* +!.vscode/extensions.json +.idea +.DS_Store +*.suo +*.ntvs* +*.njsproj +*.sln +*.sw? diff --git a/img/print-tutorial-1.png b/img/print-tutorial-1.png deleted file mode 100644 index d637732248deee21fc17c5811e81afc6274ca4ea..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 179862 zcmY&<1ymeM*KKeJ76`7v2@ou}y9Xa!g9RtR;O-%~yX!Cv79hC0%K*U%J~(6`_~U-} z|K5B5S!-6W?y0V>E;*;p-n+l4tIA`)CVTzr)hld81sTm(uh6t#y+YrAI%SUd?~4v0cb5y%{?|a^ zzZ@batmljs6wsxlrSXV}tlO1jkbkZ@5fBj-{rEw!ySrOaQ87Ii6?Jf616!=2MgqzF zFXQDT_y2Eg{~kdR2!Q`}rO1G@KYKH{VnSMH@lu77QFx8G(M<2-odX(`()%9 z8h&AAPoRDuD2lA|_`mghnmB^PCiky;wl5AKMMY9-bhNZZd+`VWAr}2=9RUg)N(HOU zl>a^>P7Yr^wHq{d7`Af4SB8&=r{UJ8KtKtg_aY-AiinCrr&PD%O#Q#5buJy0^S+KW zuzT+f*ciV&bK4#(#uacuU|_!Wa}KPbD?VV@O9%OCqskRS{Rm+ zb;F8&a}y8~7ykGm;~yXx>v^}ak`(Z+KZu3b9$zJuMJ=ujrfRVKDdc~e5NGT+IpZ!u z6^{c_60Ulw9s862PSup3h0I|lNx0bB?-_OoVJm%8=oCft_*x4yFcaZBX{DiCLaJ#* z5qG)IMD*pQ>(5*(X4VmTTaC`Tl(bL;fL#+kU8Pbd&N+Qkx&XT(X<1F1y1m4<@)KE-9AL~aSXvuRF7A+qK+T%2~yJNhONVY zeGVS8kND*fKDHg+07hnLA!X+HFg@mgAwKXWfzvRGAm^^g(9#N^3o`67f7L1I-j&qJMDvY?x=ga~SUL&9 zLMuaF-aM_hug|>UR}9zxYlyDf7cD5`FWEsC#~n#G*^dEV*jLJ_VQ0jDl4`qqZff3- zc<5p;jCh$DG`#)|l^R_rX_^D0&Zp_7H9EAUbm(GxWpA~-MMs1-#^3^JZi3E>#!m*)dR-k> zx204~7`Z(jFye=*Yht^Bu0PCQ`kT^rQ-GenpX6oT{A)!?N%#V}sutj{$Wrh335b5r zKKLQu#%$)=ZUkjyRZu6SSDl{dRG%x#$n5%7KD{ilpGNEi1Ox}~+AKMgHKTcQi6|&m z!T8$aupD$`g%i7<%~RiLK>3!}MX^~#;D}w*Z&^%3Hd18cdXUL1@lV!2V{QP(a$4xf z;Bb)|r$q=Q{@b^BgoNSK)9Rwekg@i55r>UV$~KP^DO=mhJQH|Fto>OkaZ*OiG=zz^ z#4%8>@3$F7bkLMTuwng63jbndWDihS_OBlu$n^vG+>mQ z@VkBnXWb2upqt3JUX|gr> z2WHQfEs#rJrBH`a6?UK{f!Se`RL1J}(1)Zd)J`7E*-%0DBY% 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

h9%i6o^)5bnp;>rt8=i?= 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

1NFFpH+A6yCCYUL20Y6`S^BfK48BX^;sZ^2P|jK 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 diff --git a/index.html b/index.html new file mode 100644 index 00000000..e0d1c840 --- /dev/null +++ b/index.html @@ -0,0 +1,13 @@ + + + + + + + Vite + React + TS + + +

+ + + diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 00000000..28c2cd51 --- /dev/null +++ b/package-lock.json @@ -0,0 +1,882 @@ +{ + "name": "vite-project", + "version": "0.0.0", + "lockfileVersion": 1, + "requires": true, + "dependencies": { + "@ampproject/remapping": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.0.tgz", + "integrity": "sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==", + "dev": true, + "requires": { + "@jridgewell/gen-mapping": "^0.1.0", + "@jridgewell/trace-mapping": "^0.3.9" + } + }, + "@babel/code-frame": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.18.6.tgz", + "integrity": "sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==", + "dev": true, + "requires": { + "@babel/highlight": "^7.18.6" + } + }, + "@babel/compat-data": { + "version": "7.20.10", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.20.10.tgz", + "integrity": "sha512-sEnuDPpOJR/fcafHMjpcpGN5M2jbUGUHwmuWKM/YdPzeEDJg8bgmbcWQFUfE32MQjti1koACvoPVsDe8Uq+idg==", + "dev": true + }, + "@babel/core": { + "version": "7.20.12", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.20.12.tgz", + "integrity": "sha512-XsMfHovsUYHFMdrIHkZphTN/2Hzzi78R08NuHfDBehym2VsPDL6Zn/JAD/JQdnRvbSsbQc4mVaU1m6JgtTEElg==", + "dev": true, + "requires": { + "@ampproject/remapping": "^2.1.0", + "@babel/code-frame": "^7.18.6", + "@babel/generator": "^7.20.7", + "@babel/helper-compilation-targets": "^7.20.7", + "@babel/helper-module-transforms": "^7.20.11", + "@babel/helpers": "^7.20.7", + "@babel/parser": "^7.20.7", + "@babel/template": "^7.20.7", + "@babel/traverse": "^7.20.12", + "@babel/types": "^7.20.7", + "convert-source-map": "^1.7.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.2", + "semver": "^6.3.0" + } + }, + "@babel/generator": { + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.20.7.tgz", + "integrity": "sha512-7wqMOJq8doJMZmP4ApXTzLxSr7+oO2jroJURrVEp6XShrQUObV8Tq/D0NCcoYg2uHqUrjzO0zwBjoYzelxK+sw==", + "dev": true, + "requires": { + "@babel/types": "^7.20.7", + "@jridgewell/gen-mapping": "^0.3.2", + "jsesc": "^2.5.1" + }, + "dependencies": { + "@jridgewell/gen-mapping": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz", + "integrity": "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==", + "dev": true, + "requires": { + "@jridgewell/set-array": "^1.0.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.9" + } + } + } + }, + "@babel/helper-compilation-targets": { + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.20.7.tgz", + "integrity": "sha512-4tGORmfQcrc+bvrjb5y3dG9Mx1IOZjsHqQVUz7XCNHO+iTmqxWnVg3KRygjGmpRLJGdQSKuvFinbIb0CnZwHAQ==", + "dev": true, + "requires": { + "@babel/compat-data": "^7.20.5", + "@babel/helper-validator-option": "^7.18.6", + "browserslist": "^4.21.3", + "lru-cache": "^5.1.1", + "semver": "^6.3.0" + } + }, + "@babel/helper-environment-visitor": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.9.tgz", + "integrity": "sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg==", + "dev": true + }, + "@babel/helper-function-name": { + "version": "7.19.0", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.19.0.tgz", + "integrity": "sha512-WAwHBINyrpqywkUH0nTnNgI5ina5TFn85HKS0pbPDfxFfhyR/aNQEn4hGi1P1JyT//I0t4OgXUlofzWILRvS5w==", + "dev": true, + "requires": { + "@babel/template": "^7.18.10", + "@babel/types": "^7.19.0" + } + }, + "@babel/helper-hoist-variables": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz", + "integrity": "sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==", + "dev": true, + "requires": { + "@babel/types": "^7.18.6" + } + }, + "@babel/helper-module-imports": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.18.6.tgz", + "integrity": "sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA==", + "dev": true, + "requires": { + "@babel/types": "^7.18.6" + } + }, + "@babel/helper-module-transforms": { + "version": "7.20.11", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.20.11.tgz", + "integrity": "sha512-uRy78kN4psmji1s2QtbtcCSaj/LILFDp0f/ymhpQH5QY3nljUZCaNWz9X1dEj/8MBdBEFECs7yRhKn8i7NjZgg==", + "dev": true, + "requires": { + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-module-imports": "^7.18.6", + "@babel/helper-simple-access": "^7.20.2", + "@babel/helper-split-export-declaration": "^7.18.6", + "@babel/helper-validator-identifier": "^7.19.1", + "@babel/template": "^7.20.7", + "@babel/traverse": "^7.20.10", + "@babel/types": "^7.20.7" + } + }, + "@babel/helper-plugin-utils": { + "version": "7.20.2", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.20.2.tgz", + "integrity": "sha512-8RvlJG2mj4huQ4pZ+rU9lqKi9ZKiRmuvGuM2HlWmkmgOhbs6zEAw6IEiJ5cQqGbDzGZOhwuOQNtZMi/ENLjZoQ==", + "dev": true + }, + "@babel/helper-simple-access": { + "version": "7.20.2", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.20.2.tgz", + "integrity": "sha512-+0woI/WPq59IrqDYbVGfshjT5Dmk/nnbdpcF8SnMhhXObpTq2KNBdLFRFrkVdbDOyUmHBCxzm5FHV1rACIkIbA==", + "dev": true, + "requires": { + "@babel/types": "^7.20.2" + } + }, + "@babel/helper-split-export-declaration": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz", + "integrity": "sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==", + "dev": true, + "requires": { + "@babel/types": "^7.18.6" + } + }, + "@babel/helper-string-parser": { + "version": "7.19.4", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.19.4.tgz", + "integrity": "sha512-nHtDoQcuqFmwYNYPz3Rah5ph2p8PFeFCsZk9A/48dPc/rGocJ5J3hAAZ7pb76VWX3fZKu+uEr/FhH5jLx7umrw==", + "dev": true + }, + "@babel/helper-validator-identifier": { + "version": "7.19.1", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz", + "integrity": "sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==", + "dev": true + }, + "@babel/helper-validator-option": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.18.6.tgz", + "integrity": "sha512-XO7gESt5ouv/LRJdrVjkShckw6STTaB7l9BrpBaAHDeF5YZT+01PCwmR0SJHnkW6i8OwW/EVWRShfi4j2x+KQw==", + "dev": true + }, + "@babel/helpers": { + "version": "7.20.13", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.20.13.tgz", + "integrity": "sha512-nzJ0DWCL3gB5RCXbUO3KIMMsBY2Eqbx8mBpKGE/02PgyRQFcPQLbkQ1vyy596mZLaP+dAfD+R4ckASzNVmW3jg==", + "dev": true, + "requires": { + "@babel/template": "^7.20.7", + "@babel/traverse": "^7.20.13", + "@babel/types": "^7.20.7" + } + }, + "@babel/highlight": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz", + "integrity": "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.18.6", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + } + }, + "@babel/parser": { + "version": "7.20.13", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.20.13.tgz", + "integrity": "sha512-gFDLKMfpiXCsjt4za2JA9oTMn70CeseCehb11kRZgvd7+F67Hih3OHOK24cRrWECJ/ljfPGac6ygXAs/C8kIvw==", + "dev": true + }, + "@babel/plugin-transform-react-jsx-self": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.18.6.tgz", + "integrity": "sha512-A0LQGx4+4Jv7u/tWzoJF7alZwnBDQd6cGLh9P+Ttk4dpiL+J5p7NSNv/9tlEFFJDq3kjxOavWmbm6t0Gk+A3Ig==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-transform-react-jsx-source": { + "version": "7.19.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.19.6.tgz", + "integrity": "sha512-RpAi004QyMNisst/pvSanoRdJ4q+jMCWyk9zdw/CyLB9j8RXEahodR6l2GyttDRyEVWZtbN+TpLiHJ3t34LbsQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.19.0" + } + }, + "@babel/template": { + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.20.7.tgz", + "integrity": "sha512-8SegXApWe6VoNw0r9JHpSteLKTpTiLZ4rMlGIm9JQ18KiCtyQiAMEazujAHrUS5flrcqYZa75ukev3P6QmUwUw==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.18.6", + "@babel/parser": "^7.20.7", + "@babel/types": "^7.20.7" + } + }, + "@babel/traverse": { + "version": "7.20.13", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.20.13.tgz", + "integrity": "sha512-kMJXfF0T6DIS9E8cgdLCSAL+cuCK+YEZHWiLK0SXpTo8YRj5lpJu3CDNKiIBCne4m9hhTIqUg6SYTAI39tAiVQ==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.18.6", + "@babel/generator": "^7.20.7", + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-function-name": "^7.19.0", + "@babel/helper-hoist-variables": "^7.18.6", + "@babel/helper-split-export-declaration": "^7.18.6", + "@babel/parser": "^7.20.13", + "@babel/types": "^7.20.7", + "debug": "^4.1.0", + "globals": "^11.1.0" + } + }, + "@babel/types": { + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.20.7.tgz", + "integrity": "sha512-69OnhBxSSgK0OzTJai4kyPDiKTIe3j+ctaHdIGVbRahTLAT7L3R9oeXHC2aVSuGYt3cVnoAMDmOCgJ2yaiLMvg==", + "dev": true, + "requires": { + "@babel/helper-string-parser": "^7.19.4", + "@babel/helper-validator-identifier": "^7.19.1", + "to-fast-properties": "^2.0.0" + } + }, + "@esbuild/android-arm": { + "version": "0.16.17", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.16.17.tgz", + "integrity": "sha512-N9x1CMXVhtWEAMS7pNNONyA14f71VPQN9Cnavj1XQh6T7bskqiLLrSca4O0Vr8Wdcga943eThxnVp3JLnBMYtw==", + "dev": true, + "optional": true + }, + "@esbuild/android-arm64": { + "version": "0.16.17", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.16.17.tgz", + "integrity": "sha512-MIGl6p5sc3RDTLLkYL1MyL8BMRN4tLMRCn+yRJJmEDvYZ2M7tmAf80hx1kbNEUX2KJ50RRtxZ4JHLvCfuB6kBg==", + "dev": true, + "optional": true + }, + "@esbuild/android-x64": { + "version": "0.16.17", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.16.17.tgz", + "integrity": "sha512-a3kTv3m0Ghh4z1DaFEuEDfz3OLONKuFvI4Xqczqx4BqLyuFaFkuaG4j2MtA6fuWEFeC5x9IvqnX7drmRq/fyAQ==", + "dev": true, + "optional": true + }, + "@esbuild/darwin-arm64": { + "version": "0.16.17", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.16.17.tgz", + "integrity": "sha512-/2agbUEfmxWHi9ARTX6OQ/KgXnOWfsNlTeLcoV7HSuSTv63E4DqtAc+2XqGw1KHxKMHGZgbVCZge7HXWX9Vn+w==", + "dev": true, + "optional": true + }, + "@esbuild/darwin-x64": { + "version": "0.16.17", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.16.17.tgz", + "integrity": "sha512-2By45OBHulkd9Svy5IOCZt376Aa2oOkiE9QWUK9fe6Tb+WDr8hXL3dpqi+DeLiMed8tVXspzsTAvd0jUl96wmg==", + "dev": true, + "optional": true + }, + "@esbuild/freebsd-arm64": { + "version": "0.16.17", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.16.17.tgz", + "integrity": "sha512-mt+cxZe1tVx489VTb4mBAOo2aKSnJ33L9fr25JXpqQqzbUIw/yzIzi+NHwAXK2qYV1lEFp4OoVeThGjUbmWmdw==", + "dev": true, + "optional": true + }, + "@esbuild/freebsd-x64": { + "version": "0.16.17", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.16.17.tgz", + "integrity": "sha512-8ScTdNJl5idAKjH8zGAsN7RuWcyHG3BAvMNpKOBaqqR7EbUhhVHOqXRdL7oZvz8WNHL2pr5+eIT5c65kA6NHug==", + "dev": true, + "optional": true + }, + "@esbuild/linux-arm": { + "version": "0.16.17", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.16.17.tgz", + "integrity": "sha512-iihzrWbD4gIT7j3caMzKb/RsFFHCwqqbrbH9SqUSRrdXkXaygSZCZg1FybsZz57Ju7N/SHEgPyaR0LZ8Zbe9gQ==", + "dev": true, + "optional": true + }, + "@esbuild/linux-arm64": { + "version": "0.16.17", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.16.17.tgz", + "integrity": "sha512-7S8gJnSlqKGVJunnMCrXHU9Q8Q/tQIxk/xL8BqAP64wchPCTzuM6W3Ra8cIa1HIflAvDnNOt2jaL17vaW+1V0g==", + "dev": true, + "optional": true + }, + "@esbuild/linux-ia32": { + "version": "0.16.17", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.16.17.tgz", + "integrity": "sha512-kiX69+wcPAdgl3Lonh1VI7MBr16nktEvOfViszBSxygRQqSpzv7BffMKRPMFwzeJGPxcio0pdD3kYQGpqQ2SSg==", + "dev": true, + "optional": true + }, + "@esbuild/linux-loong64": { + "version": "0.16.17", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.16.17.tgz", + "integrity": "sha512-dTzNnQwembNDhd654cA4QhbS9uDdXC3TKqMJjgOWsC0yNCbpzfWoXdZvp0mY7HU6nzk5E0zpRGGx3qoQg8T2DQ==", + "dev": true, + "optional": true + }, + "@esbuild/linux-mips64el": { + "version": "0.16.17", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.16.17.tgz", + "integrity": "sha512-ezbDkp2nDl0PfIUn0CsQ30kxfcLTlcx4Foz2kYv8qdC6ia2oX5Q3E/8m6lq84Dj/6b0FrkgD582fJMIfHhJfSw==", + "dev": true, + "optional": true + }, + "@esbuild/linux-ppc64": { + "version": "0.16.17", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.16.17.tgz", + "integrity": "sha512-dzS678gYD1lJsW73zrFhDApLVdM3cUF2MvAa1D8K8KtcSKdLBPP4zZSLy6LFZ0jYqQdQ29bjAHJDgz0rVbLB3g==", + "dev": true, + "optional": true + }, + "@esbuild/linux-riscv64": { + "version": "0.16.17", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.16.17.tgz", + "integrity": "sha512-ylNlVsxuFjZK8DQtNUwiMskh6nT0vI7kYl/4fZgV1llP5d6+HIeL/vmmm3jpuoo8+NuXjQVZxmKuhDApK0/cKw==", + "dev": true, + "optional": true + }, + "@esbuild/linux-s390x": { + "version": "0.16.17", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.16.17.tgz", + "integrity": "sha512-gzy7nUTO4UA4oZ2wAMXPNBGTzZFP7mss3aKR2hH+/4UUkCOyqmjXiKpzGrY2TlEUhbbejzXVKKGazYcQTZWA/w==", + "dev": true, + "optional": true + }, + "@esbuild/linux-x64": { + "version": "0.16.17", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.16.17.tgz", + "integrity": "sha512-mdPjPxfnmoqhgpiEArqi4egmBAMYvaObgn4poorpUaqmvzzbvqbowRllQ+ZgzGVMGKaPkqUmPDOOFQRUFDmeUw==", + "dev": true, + "optional": true + }, + "@esbuild/netbsd-x64": { + "version": "0.16.17", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.16.17.tgz", + "integrity": "sha512-/PzmzD/zyAeTUsduZa32bn0ORug+Jd1EGGAUJvqfeixoEISYpGnAezN6lnJoskauoai0Jrs+XSyvDhppCPoKOA==", + "dev": true, + "optional": true + }, + "@esbuild/openbsd-x64": { + "version": "0.16.17", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.16.17.tgz", + "integrity": "sha512-2yaWJhvxGEz2RiftSk0UObqJa/b+rIAjnODJgv2GbGGpRwAfpgzyrg1WLK8rqA24mfZa9GvpjLcBBg8JHkoodg==", + "dev": true, + "optional": true + }, + "@esbuild/sunos-x64": { + "version": "0.16.17", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.16.17.tgz", + "integrity": "sha512-xtVUiev38tN0R3g8VhRfN7Zl42YCJvyBhRKw1RJjwE1d2emWTVToPLNEQj/5Qxc6lVFATDiy6LjVHYhIPrLxzw==", + "dev": true, + "optional": true + }, + "@esbuild/win32-arm64": { + "version": "0.16.17", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.16.17.tgz", + "integrity": "sha512-ga8+JqBDHY4b6fQAmOgtJJue36scANy4l/rL97W+0wYmijhxKetzZdKOJI7olaBaMhWt8Pac2McJdZLxXWUEQw==", + "dev": true, + "optional": true + }, + "@esbuild/win32-ia32": { + "version": "0.16.17", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.16.17.tgz", + "integrity": "sha512-WnsKaf46uSSF/sZhwnqE4L/F89AYNMiD4YtEcYekBt9Q7nj0DiId2XH2Ng2PHM54qi5oPrQ8luuzGszqi/veig==", + "dev": true, + "optional": true + }, + "@esbuild/win32-x64": { + "version": "0.16.17", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.16.17.tgz", + "integrity": "sha512-y+EHuSchhL7FjHgvQL/0fnnFmO4T1bhvWANX6gcnqTjtnKWbTvUMCpGnv2+t+31d7RzyEAYAd4u2fnIhHL6N/Q==", + "dev": true, + "optional": true + }, + "@jridgewell/gen-mapping": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz", + "integrity": "sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==", + "dev": true, + "requires": { + "@jridgewell/set-array": "^1.0.0", + "@jridgewell/sourcemap-codec": "^1.4.10" + } + }, + "@jridgewell/resolve-uri": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz", + "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==", + "dev": true + }, + "@jridgewell/set-array": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", + "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", + "dev": true + }, + "@jridgewell/sourcemap-codec": { + "version": "1.4.14", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", + "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==", + "dev": true + }, + "@jridgewell/trace-mapping": { + "version": "0.3.17", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.17.tgz", + "integrity": "sha512-MCNzAp77qzKca9+W/+I0+sEpaUnZoeasnghNeVc41VZCEKaCH73Vq3BZZ/SzWIgrqE4H4ceI+p+b6C0mHf9T4g==", + "dev": true, + "requires": { + "@jridgewell/resolve-uri": "3.1.0", + "@jridgewell/sourcemap-codec": "1.4.14" + } + }, + "@types/prop-types": { + "version": "15.7.5", + "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.5.tgz", + "integrity": "sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w==", + "dev": true + }, + "@types/react": { + "version": "18.0.27", + "resolved": "https://registry.npmjs.org/@types/react/-/react-18.0.27.tgz", + "integrity": "sha512-3vtRKHgVxu3Jp9t718R9BuzoD4NcQ8YJ5XRzsSKxNDiDonD2MXIT1TmSkenxuCycZJoQT5d2vE8LwWJxBC1gmA==", + "dev": true, + "requires": { + "@types/prop-types": "*", + "@types/scheduler": "*", + "csstype": "^3.0.2" + } + }, + "@types/react-dom": { + "version": "18.0.10", + "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.0.10.tgz", + "integrity": "sha512-E42GW/JA4Qv15wQdqJq8DL4JhNpB3prJgjgapN3qJT9K2zO5IIAQh4VXvCEDupoqAwnz0cY4RlXeC/ajX5SFHg==", + "dev": true, + "requires": { + "@types/react": "*" + } + }, + "@types/scheduler": { + "version": "0.16.2", + "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.2.tgz", + "integrity": "sha512-hppQEBDmlwhFAXKJX2KnWLYu5yMfi91yazPb2l+lbJiwW+wdo1gNeRA+3RgNSO39WYX2euey41KEwnqesU2Jew==", + "dev": true + }, + "@vitejs/plugin-react": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@vitejs/plugin-react/-/plugin-react-3.0.1.tgz", + "integrity": "sha512-mx+QvYwIbbpOIJw+hypjnW1lAbKDHtWK5ibkF/V1/oMBu8HU/chb+SnqJDAsLq1+7rGqjktCEomMTM5KShzUKQ==", + "dev": true, + "requires": { + "@babel/core": "^7.20.7", + "@babel/plugin-transform-react-jsx-self": "^7.18.6", + "@babel/plugin-transform-react-jsx-source": "^7.19.6", + "magic-string": "^0.27.0", + "react-refresh": "^0.14.0" + } + }, + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "browserslist": { + "version": "4.21.4", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.4.tgz", + "integrity": "sha512-CBHJJdDmgjl3daYjN5Cp5kbTf1mUhZoS+beLklHIvkOWscs83YAhLlF3Wsh/lciQYAcbBJgTOD44VtG31ZM4Hw==", + "dev": true, + "requires": { + "caniuse-lite": "^1.0.30001400", + "electron-to-chromium": "^1.4.251", + "node-releases": "^2.0.6", + "update-browserslist-db": "^1.0.9" + } + }, + "caniuse-lite": { + "version": "1.0.30001448", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001448.tgz", + "integrity": "sha512-tq2YI+MJnooG96XpbTRYkBxLxklZPOdLmNIOdIhvf7SNJan6u5vCKum8iT7ZfCt70m1GPkuC7P3TtX6UuhupuA==", + "dev": true + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "dev": true + }, + "convert-source-map": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", + "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==", + "dev": true + }, + "csstype": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.1.tgz", + "integrity": "sha512-DJR/VvkAvSZW9bTouZue2sSxDwdTN92uHjqeKVm+0dAqdfNykRzQ95tay8aXMBAAPpUiq4Qcug2L7neoRh2Egw==", + "dev": true + }, + "debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dev": true, + "requires": { + "ms": "2.1.2" + } + }, + "electron-to-chromium": { + "version": "1.4.284", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.284.tgz", + "integrity": "sha512-M8WEXFuKXMYMVr45fo8mq0wUrrJHheiKZf6BArTKk9ZBYCKJEOU5H8cdWgDT+qCVZf7Na4lVUaZsA+h6uA9+PA==", + "dev": true + }, + "esbuild": { + "version": "0.16.17", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.16.17.tgz", + "integrity": "sha512-G8LEkV0XzDMNwXKgM0Jwu3nY3lSTwSGY6XbxM9cr9+s0T/qSV1q1JVPBGzm3dcjhCic9+emZDmMffkwgPeOeLg==", + "dev": true, + "requires": { + "@esbuild/android-arm": "0.16.17", + "@esbuild/android-arm64": "0.16.17", + "@esbuild/android-x64": "0.16.17", + "@esbuild/darwin-arm64": "0.16.17", + "@esbuild/darwin-x64": "0.16.17", + "@esbuild/freebsd-arm64": "0.16.17", + "@esbuild/freebsd-x64": "0.16.17", + "@esbuild/linux-arm": "0.16.17", + "@esbuild/linux-arm64": "0.16.17", + "@esbuild/linux-ia32": "0.16.17", + "@esbuild/linux-loong64": "0.16.17", + "@esbuild/linux-mips64el": "0.16.17", + "@esbuild/linux-ppc64": "0.16.17", + "@esbuild/linux-riscv64": "0.16.17", + "@esbuild/linux-s390x": "0.16.17", + "@esbuild/linux-x64": "0.16.17", + "@esbuild/netbsd-x64": "0.16.17", + "@esbuild/openbsd-x64": "0.16.17", + "@esbuild/sunos-x64": "0.16.17", + "@esbuild/win32-arm64": "0.16.17", + "@esbuild/win32-ia32": "0.16.17", + "@esbuild/win32-x64": "0.16.17" + } + }, + "escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "dev": true + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true + }, + "fsevents": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "dev": true, + "optional": true + }, + "function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", + "dev": true + }, + "gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", + "dev": true + }, + "globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "dev": true + }, + "has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "dev": true, + "requires": { + "function-bind": "^1.1.1" + } + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "dev": true + }, + "is-core-module": { + "version": "2.11.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.11.0.tgz", + "integrity": "sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw==", + "dev": true, + "requires": { + "has": "^1.0.3" + } + }, + "js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" + }, + "jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", + "dev": true + }, + "json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "dev": true + }, + "loose-envify": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", + "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", + "requires": { + "js-tokens": "^3.0.0 || ^4.0.0" + } + }, + "lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "dev": true, + "requires": { + "yallist": "^3.0.2" + } + }, + "magic-string": { + "version": "0.27.0", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.27.0.tgz", + "integrity": "sha512-8UnnX2PeRAPZuN12svgR9j7M1uWMovg/CEnIwIG0LFkXSJJe4PdfUGiTGl8V9bsBHFUtfVINcSyYxd7q+kx9fA==", + "dev": true, + "requires": { + "@jridgewell/sourcemap-codec": "^1.4.13" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "nanoid": { + "version": "3.3.4", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.4.tgz", + "integrity": "sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==", + "dev": true + }, + "node-releases": { + "version": "2.0.8", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.8.tgz", + "integrity": "sha512-dFSmB8fFHEH/s81Xi+Y/15DQY6VHW81nXRj86EMSL3lmuTmK1e+aT4wrFCkTbm+gSwkw4KpX+rT/pMM2c1mF+A==", + "dev": true + }, + "path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", + "dev": true + }, + "picocolors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", + "dev": true + }, + "postcss": { + "version": "8.4.21", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.21.tgz", + "integrity": "sha512-tP7u/Sn/dVxK2NnruI4H9BG+x+Wxz6oeZ1cJ8P6G/PZY0IKk4k/63TDsQf2kQq3+qoJeLm2kIBUNlZe3zgb4Zg==", + "dev": true, + "requires": { + "nanoid": "^3.3.4", + "picocolors": "^1.0.0", + "source-map-js": "^1.0.2" + } + }, + "react": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react/-/react-18.2.0.tgz", + "integrity": "sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==", + "requires": { + "loose-envify": "^1.1.0" + } + }, + "react-dom": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.2.0.tgz", + "integrity": "sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==", + "requires": { + "loose-envify": "^1.1.0", + "scheduler": "^0.23.0" + } + }, + "react-refresh": { + "version": "0.14.0", + "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.14.0.tgz", + "integrity": "sha512-wViHqhAd8OHeLS/IRMJjTSDHF3U9eWi62F/MledQGPdJGDhodXJ9PBLNGr6WWL7qlH12Mt3TyTpbS+hGXMjCzQ==", + "dev": true + }, + "resolve": { + "version": "1.22.1", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz", + "integrity": "sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==", + "dev": true, + "requires": { + "is-core-module": "^2.9.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + } + }, + "rollup": { + "version": "3.11.0", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-3.11.0.tgz", + "integrity": "sha512-+uWPPkpWQ2H3Qi7sNBcRfhhHJyUNgBYhG4wKe5wuGRj2m55kpo+0p5jubKNBjQODyPe6tSBE3tNpdDwEisQvAQ==", + "dev": true, + "requires": { + "fsevents": "~2.3.2" + } + }, + "scheduler": { + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.0.tgz", + "integrity": "sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==", + "requires": { + "loose-envify": "^1.1.0" + } + }, + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + }, + "source-map-js": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", + "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", + "dev": true + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + }, + "supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "dev": true + }, + "to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", + "dev": true + }, + "typescript": { + "version": "4.9.4", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.4.tgz", + "integrity": "sha512-Uz+dTXYzxXXbsFpM86Wh3dKCxrQqUcVMxwU54orwlJjOpO3ao8L7j5lH+dWfTwgCwIuM9GQ2kvVotzYJMXTBZg==", + "dev": true + }, + "update-browserslist-db": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.10.tgz", + "integrity": "sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ==", + "dev": true, + "requires": { + "escalade": "^3.1.1", + "picocolors": "^1.0.0" + } + }, + "vite": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/vite/-/vite-4.0.4.tgz", + "integrity": "sha512-xevPU7M8FU0i/80DMR+YhgrzR5KS2ORy1B4xcX/cXLsvnUWvfHuqMmVU6N0YiJ4JWGRJJsLCgjEzKjG9/GKoSw==", + "dev": true, + "requires": { + "esbuild": "^0.16.3", + "fsevents": "~2.3.2", + "postcss": "^8.4.20", + "resolve": "^1.22.1", + "rollup": "^3.7.0" + } + }, + "yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "dev": true + } + } +} diff --git a/package.json b/package.json new file mode 100644 index 00000000..a6f55919 --- /dev/null +++ b/package.json @@ -0,0 +1,22 @@ +{ + "name": "vite-project", + "private": true, + "version": "0.0.0", + "type": "module", + "scripts": { + "dev": "vite", + "build": "tsc && vite build", + "preview": "vite preview" + }, + "dependencies": { + "react": "^18.2.0", + "react-dom": "^18.2.0" + }, + "devDependencies": { + "@types/react": "^18.0.26", + "@types/react-dom": "^18.0.9", + "@vitejs/plugin-react": "^3.0.0", + "typescript": "^4.9.3", + "vite": "^4.0.0" + } +} diff --git a/src/App.css b/src/App.css new file mode 100644 index 00000000..e69de29b diff --git a/src/App.tsx b/src/App.tsx new file mode 100644 index 00000000..6bf76f38 --- /dev/null +++ b/src/App.tsx @@ -0,0 +1,5 @@ +const App = () => { + return
Rick and Morty
; +}; + +export default App; diff --git a/src/index.css b/src/index.css new file mode 100644 index 00000000..e69de29b diff --git a/src/main.tsx b/src/main.tsx new file mode 100644 index 00000000..791f139e --- /dev/null +++ b/src/main.tsx @@ -0,0 +1,10 @@ +import React from 'react' +import ReactDOM from 'react-dom/client' +import App from './App' +import './index.css' + +ReactDOM.createRoot(document.getElementById('root') as HTMLElement).render( + + + , +) diff --git a/src/vite-env.d.ts b/src/vite-env.d.ts new file mode 100644 index 00000000..11f02fe2 --- /dev/null +++ b/src/vite-env.d.ts @@ -0,0 +1 @@ +/// diff --git a/tsconfig.json b/tsconfig.json new file mode 100644 index 00000000..3d0a51a8 --- /dev/null +++ b/tsconfig.json @@ -0,0 +1,21 @@ +{ + "compilerOptions": { + "target": "ESNext", + "useDefineForClassFields": true, + "lib": ["DOM", "DOM.Iterable", "ESNext"], + "allowJs": false, + "skipLibCheck": true, + "esModuleInterop": false, + "allowSyntheticDefaultImports": true, + "strict": true, + "forceConsistentCasingInFileNames": true, + "module": "ESNext", + "moduleResolution": "Node", + "resolveJsonModule": true, + "isolatedModules": true, + "noEmit": true, + "jsx": "react-jsx" + }, + "include": ["src"], + "references": [{ "path": "./tsconfig.node.json" }] +} diff --git a/tsconfig.node.json b/tsconfig.node.json new file mode 100644 index 00000000..9d31e2ae --- /dev/null +++ b/tsconfig.node.json @@ -0,0 +1,9 @@ +{ + "compilerOptions": { + "composite": true, + "module": "ESNext", + "moduleResolution": "Node", + "allowSyntheticDefaultImports": true + }, + "include": ["vite.config.ts"] +} diff --git a/vite.config.ts b/vite.config.ts new file mode 100644 index 00000000..5a33944a --- /dev/null +++ b/vite.config.ts @@ -0,0 +1,7 @@ +import { defineConfig } from 'vite' +import react from '@vitejs/plugin-react' + +// https://vitejs.dev/config/ +export default defineConfig({ + plugins: [react()], +}) From bf0ccfe044cad475efb22e0098f70ff797730177 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jo=C3=A3o=20Victor?= Date: Thu, 26 Jan 2023 23:48:36 -0300 Subject: [PATCH 02/17] feat: starting add dark mode --- package-lock.json | 504 +++++++++++++++++++++++++++++--- package.json | 5 + src/App.tsx | 42 ++- src/components/topBar/index.tsx | 47 +++ src/containers/home/index.tsx | 12 + src/contexts/index.tsx | 3 + src/index.css | 3 + 7 files changed, 575 insertions(+), 41 deletions(-) create mode 100644 src/components/topBar/index.tsx create mode 100644 src/containers/home/index.tsx create mode 100644 src/contexts/index.tsx diff --git a/package-lock.json b/package-lock.json index 28c2cd51..e1c34e8c 100644 --- a/package-lock.json +++ b/package-lock.json @@ -18,7 +18,6 @@ "version": "7.18.6", "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.18.6.tgz", "integrity": "sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==", - "dev": true, "requires": { "@babel/highlight": "^7.18.6" } @@ -118,7 +117,6 @@ "version": "7.18.6", "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.18.6.tgz", "integrity": "sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA==", - "dev": true, "requires": { "@babel/types": "^7.18.6" } @@ -142,8 +140,7 @@ "@babel/helper-plugin-utils": { "version": "7.20.2", "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.20.2.tgz", - "integrity": "sha512-8RvlJG2mj4huQ4pZ+rU9lqKi9ZKiRmuvGuM2HlWmkmgOhbs6zEAw6IEiJ5cQqGbDzGZOhwuOQNtZMi/ENLjZoQ==", - "dev": true + "integrity": "sha512-8RvlJG2mj4huQ4pZ+rU9lqKi9ZKiRmuvGuM2HlWmkmgOhbs6zEAw6IEiJ5cQqGbDzGZOhwuOQNtZMi/ENLjZoQ==" }, "@babel/helper-simple-access": { "version": "7.20.2", @@ -166,14 +163,12 @@ "@babel/helper-string-parser": { "version": "7.19.4", "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.19.4.tgz", - "integrity": "sha512-nHtDoQcuqFmwYNYPz3Rah5ph2p8PFeFCsZk9A/48dPc/rGocJ5J3hAAZ7pb76VWX3fZKu+uEr/FhH5jLx7umrw==", - "dev": true + "integrity": "sha512-nHtDoQcuqFmwYNYPz3Rah5ph2p8PFeFCsZk9A/48dPc/rGocJ5J3hAAZ7pb76VWX3fZKu+uEr/FhH5jLx7umrw==" }, "@babel/helper-validator-identifier": { "version": "7.19.1", "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz", - "integrity": "sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==", - "dev": true + "integrity": "sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==" }, "@babel/helper-validator-option": { "version": "7.18.6", @@ -196,7 +191,6 @@ "version": "7.18.6", "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz", "integrity": "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==", - "dev": true, "requires": { "@babel/helper-validator-identifier": "^7.18.6", "chalk": "^2.0.0", @@ -209,6 +203,14 @@ "integrity": "sha512-gFDLKMfpiXCsjt4za2JA9oTMn70CeseCehb11kRZgvd7+F67Hih3OHOK24cRrWECJ/ljfPGac6ygXAs/C8kIvw==", "dev": true }, + "@babel/plugin-syntax-jsx": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.18.6.tgz", + "integrity": "sha512-6mmljtAedFGTWu2p/8WIORGwy+61PLgOMPOdazc7YoJ9ZCWUyFy3A6CpPkRKLKD1ToAesxX8KGEViAiLo9N+7Q==", + "requires": { + "@babel/helper-plugin-utils": "^7.18.6" + } + }, "@babel/plugin-transform-react-jsx-self": { "version": "7.18.6", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.18.6.tgz", @@ -227,6 +229,14 @@ "@babel/helper-plugin-utils": "^7.19.0" } }, + "@babel/runtime": { + "version": "7.20.13", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.20.13.tgz", + "integrity": "sha512-gt3PKXs0DBoL9xCvOIIZ2NEqAGZqHjAnmVbfQtB620V0uReIQutpel14KcneZuer7UioY8ALKZ7iocavvzTNFA==", + "requires": { + "regenerator-runtime": "^0.13.11" + } + }, "@babel/template": { "version": "7.20.7", "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.20.7.tgz", @@ -260,13 +270,133 @@ "version": "7.20.7", "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.20.7.tgz", "integrity": "sha512-69OnhBxSSgK0OzTJai4kyPDiKTIe3j+ctaHdIGVbRahTLAT7L3R9oeXHC2aVSuGYt3cVnoAMDmOCgJ2yaiLMvg==", - "dev": true, "requires": { "@babel/helper-string-parser": "^7.19.4", "@babel/helper-validator-identifier": "^7.19.1", "to-fast-properties": "^2.0.0" } }, + "@emotion/babel-plugin": { + "version": "11.10.5", + "resolved": "https://registry.npmjs.org/@emotion/babel-plugin/-/babel-plugin-11.10.5.tgz", + "integrity": "sha512-xE7/hyLHJac7D2Ve9dKroBBZqBT7WuPQmWcq7HSGb84sUuP4mlOWoB8dvVfD9yk5DHkU1m6RW7xSoDtnQHNQeA==", + "requires": { + "@babel/helper-module-imports": "^7.16.7", + "@babel/plugin-syntax-jsx": "^7.17.12", + "@babel/runtime": "^7.18.3", + "@emotion/hash": "^0.9.0", + "@emotion/memoize": "^0.8.0", + "@emotion/serialize": "^1.1.1", + "babel-plugin-macros": "^3.1.0", + "convert-source-map": "^1.5.0", + "escape-string-regexp": "^4.0.0", + "find-root": "^1.1.0", + "source-map": "^0.5.7", + "stylis": "4.1.3" + }, + "dependencies": { + "escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==" + } + } + }, + "@emotion/cache": { + "version": "11.10.5", + "resolved": "https://registry.npmjs.org/@emotion/cache/-/cache-11.10.5.tgz", + "integrity": "sha512-dGYHWyzTdmK+f2+EnIGBpkz1lKc4Zbj2KHd4cX3Wi8/OWr5pKslNjc3yABKH4adRGCvSX4VDC0i04mrrq0aiRA==", + "requires": { + "@emotion/memoize": "^0.8.0", + "@emotion/sheet": "^1.2.1", + "@emotion/utils": "^1.2.0", + "@emotion/weak-memoize": "^0.3.0", + "stylis": "4.1.3" + } + }, + "@emotion/hash": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/@emotion/hash/-/hash-0.9.0.tgz", + "integrity": "sha512-14FtKiHhy2QoPIzdTcvh//8OyBlknNs2nXRwIhG904opCby3l+9Xaf/wuPvICBF0rc1ZCNBd3nKe9cd2mecVkQ==" + }, + "@emotion/is-prop-valid": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@emotion/is-prop-valid/-/is-prop-valid-1.2.0.tgz", + "integrity": "sha512-3aDpDprjM0AwaxGE09bOPkNxHpBd+kA6jty3RnaEXdweX1DF1U3VQpPYb0g1IStAuK7SVQ1cy+bNBBKp4W3Fjg==", + "requires": { + "@emotion/memoize": "^0.8.0" + } + }, + "@emotion/memoize": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/@emotion/memoize/-/memoize-0.8.0.tgz", + "integrity": "sha512-G/YwXTkv7Den9mXDO7AhLWkE3q+I92B+VqAE+dYG4NGPaHZGvt3G8Q0p9vmE+sq7rTGphUbAvmQ9YpbfMQGGlA==" + }, + "@emotion/react": { + "version": "11.10.5", + "resolved": "https://registry.npmjs.org/@emotion/react/-/react-11.10.5.tgz", + "integrity": "sha512-TZs6235tCJ/7iF6/rvTaOH4oxQg2gMAcdHemjwLKIjKz4rRuYe1HJ2TQJKnAcRAfOUDdU8XoDadCe1rl72iv8A==", + "requires": { + "@babel/runtime": "^7.18.3", + "@emotion/babel-plugin": "^11.10.5", + "@emotion/cache": "^11.10.5", + "@emotion/serialize": "^1.1.1", + "@emotion/use-insertion-effect-with-fallbacks": "^1.0.0", + "@emotion/utils": "^1.2.0", + "@emotion/weak-memoize": "^0.3.0", + "hoist-non-react-statics": "^3.3.1" + } + }, + "@emotion/serialize": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@emotion/serialize/-/serialize-1.1.1.tgz", + "integrity": "sha512-Zl/0LFggN7+L1liljxXdsVSVlg6E/Z/olVWpfxUTxOAmi8NU7YoeWeLfi1RmnB2TATHoaWwIBRoL+FvAJiTUQA==", + "requires": { + "@emotion/hash": "^0.9.0", + "@emotion/memoize": "^0.8.0", + "@emotion/unitless": "^0.8.0", + "@emotion/utils": "^1.2.0", + "csstype": "^3.0.2" + } + }, + "@emotion/sheet": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@emotion/sheet/-/sheet-1.2.1.tgz", + "integrity": "sha512-zxRBwl93sHMsOj4zs+OslQKg/uhF38MB+OMKoCrVuS0nyTkqnau+BM3WGEoOptg9Oz45T/aIGs1qbVAsEFo3nA==" + }, + "@emotion/styled": { + "version": "11.10.5", + "resolved": "https://registry.npmjs.org/@emotion/styled/-/styled-11.10.5.tgz", + "integrity": "sha512-8EP6dD7dMkdku2foLoruPCNkRevzdcBaY6q0l0OsbyJK+x8D9HWjX27ARiSIKNF634hY9Zdoedh8bJCiva8yZw==", + "requires": { + "@babel/runtime": "^7.18.3", + "@emotion/babel-plugin": "^11.10.5", + "@emotion/is-prop-valid": "^1.2.0", + "@emotion/serialize": "^1.1.1", + "@emotion/use-insertion-effect-with-fallbacks": "^1.0.0", + "@emotion/utils": "^1.2.0" + } + }, + "@emotion/unitless": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/@emotion/unitless/-/unitless-0.8.0.tgz", + "integrity": "sha512-VINS5vEYAscRl2ZUDiT3uMPlrFQupiKgHz5AA4bCH1miKBg4qtwkim1qPmJj/4WG6TreYMY111rEFsjupcOKHw==" + }, + "@emotion/use-insertion-effect-with-fallbacks": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@emotion/use-insertion-effect-with-fallbacks/-/use-insertion-effect-with-fallbacks-1.0.0.tgz", + "integrity": "sha512-1eEgUGmkaljiBnRMTdksDV1W4kUnmwgp7X9G8B++9GYwl1lUdqSndSriIrTJ0N7LQaoauY9JJ2yhiOYK5+NI4A==" + }, + "@emotion/utils": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@emotion/utils/-/utils-1.2.0.tgz", + "integrity": "sha512-sn3WH53Kzpw8oQ5mgMmIzzyAaH2ZqFEbozVVBSYp538E06OSE6ytOp7pRAjNQR+Q/orwqdQYJSe2m3hCOeznkw==" + }, + "@emotion/weak-memoize": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/@emotion/weak-memoize/-/weak-memoize-0.3.0.tgz", + "integrity": "sha512-AHPmaAx+RYfZz0eYu6Gviiagpmiyw98ySSlQvCUhVGDRtDFe4DBS0x1bSjdF3gqUDYOczB+yYvBTtEylYSdRhg==" + }, "@esbuild/android-arm": { "version": "0.16.17", "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.16.17.tgz", @@ -459,17 +589,146 @@ "@jridgewell/sourcemap-codec": "1.4.14" } }, + "@mui/base": { + "version": "5.0.0-alpha.115", + "resolved": "https://registry.npmjs.org/@mui/base/-/base-5.0.0-alpha.115.tgz", + "integrity": "sha512-OGQ84whT/yNYd6xKCGGS6MxqEfjVjk5esXM7HP6bB2Rim7QICUapxZt4nm8q39fpT08rNDkv3xPVqDDwRdRg1g==", + "requires": { + "@babel/runtime": "^7.20.7", + "@emotion/is-prop-valid": "^1.2.0", + "@mui/types": "^7.2.3", + "@mui/utils": "^5.11.2", + "@popperjs/core": "^2.11.6", + "clsx": "^1.2.1", + "prop-types": "^15.8.1", + "react-is": "^18.2.0" + }, + "dependencies": { + "react-is": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", + "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==" + } + } + }, + "@mui/core-downloads-tracker": { + "version": "5.11.6", + "resolved": "https://registry.npmjs.org/@mui/core-downloads-tracker/-/core-downloads-tracker-5.11.6.tgz", + "integrity": "sha512-lbD3qdafBOf2dlqKhOcVRxaPAujX+9UlPC6v8iMugMeAXe0TCgU3QbGXY3zrJsu6ex64WYDpH4y1+WOOBmWMuA==" + }, + "@mui/icons-material": { + "version": "5.11.0", + "resolved": "https://registry.npmjs.org/@mui/icons-material/-/icons-material-5.11.0.tgz", + "integrity": "sha512-I2LaOKqO8a0xcLGtIozC9xoXjZAto5G5gh0FYUMAlbsIHNHIjn4Xrw9rvjY20vZonyiGrZNMAlAXYkY6JvhF6A==", + "requires": { + "@babel/runtime": "^7.20.6" + } + }, + "@mui/material": { + "version": "5.11.6", + "resolved": "https://registry.npmjs.org/@mui/material/-/material-5.11.6.tgz", + "integrity": "sha512-MzkkL5KC2PCkFiv8cLpkzgLUPXSrAtnvJBR0emV7mLVWbkwV3n5832vjBx154B6R032fHjFTziTh7YEb50nK6Q==", + "requires": { + "@babel/runtime": "^7.20.7", + "@mui/base": "5.0.0-alpha.115", + "@mui/core-downloads-tracker": "^5.11.6", + "@mui/system": "^5.11.5", + "@mui/types": "^7.2.3", + "@mui/utils": "^5.11.2", + "@types/react-transition-group": "^4.4.5", + "clsx": "^1.2.1", + "csstype": "^3.1.1", + "prop-types": "^15.8.1", + "react-is": "^18.2.0", + "react-transition-group": "^4.4.5" + }, + "dependencies": { + "react-is": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", + "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==" + } + } + }, + "@mui/private-theming": { + "version": "5.11.2", + "resolved": "https://registry.npmjs.org/@mui/private-theming/-/private-theming-5.11.2.tgz", + "integrity": "sha512-qZwMaqRFPwlYmqwVKblKBGKtIjJRAj3nsvX93pOmatsXyorW7N/0IPE/swPgz1VwChXhHO75DwBEx8tB+aRMNg==", + "requires": { + "@babel/runtime": "^7.20.7", + "@mui/utils": "^5.11.2", + "prop-types": "^15.8.1" + } + }, + "@mui/styled-engine": { + "version": "5.11.0", + "resolved": "https://registry.npmjs.org/@mui/styled-engine/-/styled-engine-5.11.0.tgz", + "integrity": "sha512-AF06K60Zc58qf0f7X+Y/QjaHaZq16znliLnGc9iVrV/+s8Ln/FCoeNuFvhlCbZZQ5WQcJvcy59zp0nXrklGGPQ==", + "requires": { + "@babel/runtime": "^7.20.6", + "@emotion/cache": "^11.10.5", + "csstype": "^3.1.1", + "prop-types": "^15.8.1" + } + }, + "@mui/system": { + "version": "5.11.5", + "resolved": "https://registry.npmjs.org/@mui/system/-/system-5.11.5.tgz", + "integrity": "sha512-KNVsJ0sgRRp2XBqhh4wPS5aacteqjwxgiYTVwVnll2fgkgunZKo3DsDiGMrFlCg25ZHA3Ax58txWGE9w58zp0w==", + "requires": { + "@babel/runtime": "^7.20.7", + "@mui/private-theming": "^5.11.2", + "@mui/styled-engine": "^5.11.0", + "@mui/types": "^7.2.3", + "@mui/utils": "^5.11.2", + "clsx": "^1.2.1", + "csstype": "^3.1.1", + "prop-types": "^15.8.1" + } + }, + "@mui/types": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/@mui/types/-/types-7.2.3.tgz", + "integrity": "sha512-tZ+CQggbe9Ol7e/Fs5RcKwg/woU+o8DCtOnccX6KmbBc7YrfqMYEYuaIcXHuhpT880QwNkZZ3wQwvtlDFA2yOw==" + }, + "@mui/utils": { + "version": "5.11.2", + "resolved": "https://registry.npmjs.org/@mui/utils/-/utils-5.11.2.tgz", + "integrity": "sha512-AyizuHHlGdAtH5hOOXBW3kriuIwUIKUIgg0P7LzMvzf6jPhoQbENYqY6zJqfoZ7fAWMNNYT8mgN5EftNGzwE2w==", + "requires": { + "@babel/runtime": "^7.20.7", + "@types/prop-types": "^15.7.5", + "@types/react-is": "^16.7.1 || ^17.0.0", + "prop-types": "^15.8.1", + "react-is": "^18.2.0" + }, + "dependencies": { + "react-is": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", + "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==" + } + } + }, + "@popperjs/core": { + "version": "2.11.6", + "resolved": "https://registry.npmjs.org/@popperjs/core/-/core-2.11.6.tgz", + "integrity": "sha512-50/17A98tWUfQ176raKiOGXuYpLyyVMkxxG6oylzL3BPOlA6ADGdK7EYunSa4I064xerltq9TGXs8HmOk5E+vw==" + }, + "@types/parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==" + }, "@types/prop-types": { "version": "15.7.5", "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.5.tgz", - "integrity": "sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w==", - "dev": true + "integrity": "sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w==" }, "@types/react": { "version": "18.0.27", "resolved": "https://registry.npmjs.org/@types/react/-/react-18.0.27.tgz", "integrity": "sha512-3vtRKHgVxu3Jp9t718R9BuzoD4NcQ8YJ5XRzsSKxNDiDonD2MXIT1TmSkenxuCycZJoQT5d2vE8LwWJxBC1gmA==", - "dev": true, "requires": { "@types/prop-types": "*", "@types/scheduler": "*", @@ -485,11 +744,26 @@ "@types/react": "*" } }, + "@types/react-is": { + "version": "17.0.3", + "resolved": "https://registry.npmjs.org/@types/react-is/-/react-is-17.0.3.tgz", + "integrity": "sha512-aBTIWg1emtu95bLTLx0cpkxwGW3ueZv71nE2YFBpL8k/z5czEW8yYpOo8Dp+UUAFAtKwNaOsh/ioSeQnWlZcfw==", + "requires": { + "@types/react": "*" + } + }, + "@types/react-transition-group": { + "version": "4.4.5", + "resolved": "https://registry.npmjs.org/@types/react-transition-group/-/react-transition-group-4.4.5.tgz", + "integrity": "sha512-juKD/eiSM3/xZYzjuzH6ZwpP+/lejltmiS3QEzV/vmb/Q8+HfDmxu+Baga8UEMGBqV88Nbg4l2hY/K2DkyaLLA==", + "requires": { + "@types/react": "*" + } + }, "@types/scheduler": { "version": "0.16.2", "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.2.tgz", - "integrity": "sha512-hppQEBDmlwhFAXKJX2KnWLYu5yMfi91yazPb2l+lbJiwW+wdo1gNeRA+3RgNSO39WYX2euey41KEwnqesU2Jew==", - "dev": true + "integrity": "sha512-hppQEBDmlwhFAXKJX2KnWLYu5yMfi91yazPb2l+lbJiwW+wdo1gNeRA+3RgNSO39WYX2euey41KEwnqesU2Jew==" }, "@vitejs/plugin-react": { "version": "3.0.1", @@ -508,11 +782,20 @@ "version": "3.2.1", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, "requires": { "color-convert": "^1.9.0" } }, + "babel-plugin-macros": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/babel-plugin-macros/-/babel-plugin-macros-3.1.0.tgz", + "integrity": "sha512-Cg7TFGpIr01vOQNODXOOaGz2NpCU5gl8x1qJFbb6hbZxR7XrcE2vtbAsTAbJ7/xwJtUuJEw8K8Zr/AE0LHlesg==", + "requires": { + "@babel/runtime": "^7.12.5", + "cosmiconfig": "^7.0.0", + "resolve": "^1.19.0" + } + }, "browserslist": { "version": "4.21.4", "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.4.tgz", @@ -525,6 +808,11 @@ "update-browserslist-db": "^1.0.9" } }, + "callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==" + }, "caniuse-lite": { "version": "1.0.30001448", "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001448.tgz", @@ -535,18 +823,21 @@ "version": "2.4.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, "requires": { "ansi-styles": "^3.2.1", "escape-string-regexp": "^1.0.5", "supports-color": "^5.3.0" } }, + "clsx": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/clsx/-/clsx-1.2.1.tgz", + "integrity": "sha512-EcR6r5a8bj6pu3ycsa/E/cKVGuTgZJZdsyUYHOksG/UHIiKfjxzRxYJpyVBwYaQeOvghal9fcc4PidlgzugAQg==" + }, "color-convert": { "version": "1.9.3", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, "requires": { "color-name": "1.1.3" } @@ -554,20 +845,29 @@ "color-name": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", - "dev": true + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" }, "convert-source-map": { "version": "1.9.0", "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", - "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==", - "dev": true + "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==" + }, + "cosmiconfig": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.1.0.tgz", + "integrity": "sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==", + "requires": { + "@types/parse-json": "^4.0.0", + "import-fresh": "^3.2.1", + "parse-json": "^5.0.0", + "path-type": "^4.0.0", + "yaml": "^1.10.0" + } }, "csstype": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.1.tgz", - "integrity": "sha512-DJR/VvkAvSZW9bTouZue2sSxDwdTN92uHjqeKVm+0dAqdfNykRzQ95tay8aXMBAAPpUiq4Qcug2L7neoRh2Egw==", - "dev": true + "integrity": "sha512-DJR/VvkAvSZW9bTouZue2sSxDwdTN92uHjqeKVm+0dAqdfNykRzQ95tay8aXMBAAPpUiq4Qcug2L7neoRh2Egw==" }, "debug": { "version": "4.3.4", @@ -578,12 +878,29 @@ "ms": "2.1.2" } }, + "dom-helpers": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/dom-helpers/-/dom-helpers-5.2.1.tgz", + "integrity": "sha512-nRCa7CK3VTrM2NmGkIy4cbK7IZlgBE/PYMn55rrXefr5xXDP0LdtfPnblFDoVdcAfslJ7or6iqAUnx0CCGIWQA==", + "requires": { + "@babel/runtime": "^7.8.7", + "csstype": "^3.0.2" + } + }, "electron-to-chromium": { "version": "1.4.284", "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.284.tgz", "integrity": "sha512-M8WEXFuKXMYMVr45fo8mq0wUrrJHheiKZf6BArTKk9ZBYCKJEOU5H8cdWgDT+qCVZf7Na4lVUaZsA+h6uA9+PA==", "dev": true }, + "error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "requires": { + "is-arrayish": "^0.2.1" + } + }, "esbuild": { "version": "0.16.17", "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.16.17.tgz", @@ -623,8 +940,12 @@ "escape-string-regexp": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", - "dev": true + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==" + }, + "find-root": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/find-root/-/find-root-1.1.0.tgz", + "integrity": "sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng==" }, "fsevents": { "version": "2.3.2", @@ -636,8 +957,7 @@ "function-bind": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", - "dev": true + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" }, "gensync": { "version": "1.0.0-beta.2", @@ -655,7 +975,6 @@ "version": "1.0.3", "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", - "dev": true, "requires": { "function-bind": "^1.1.1" } @@ -663,14 +982,34 @@ "has-flag": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", - "dev": true + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==" + }, + "hoist-non-react-statics": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz", + "integrity": "sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==", + "requires": { + "react-is": "^16.7.0" + } + }, + "import-fresh": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "requires": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + } + }, + "is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==" }, "is-core-module": { "version": "2.11.0", "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.11.0.tgz", "integrity": "sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw==", - "dev": true, "requires": { "has": "^1.0.3" } @@ -686,12 +1025,22 @@ "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", "dev": true }, + "json-parse-even-better-errors": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==" + }, "json5": { "version": "2.2.3", "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", "dev": true }, + "lines-and-columns": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==" + }, "loose-envify": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", @@ -736,11 +1085,39 @@ "integrity": "sha512-dFSmB8fFHEH/s81Xi+Y/15DQY6VHW81nXRj86EMSL3lmuTmK1e+aT4wrFCkTbm+gSwkw4KpX+rT/pMM2c1mF+A==", "dev": true }, + "object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==" + }, + "parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "requires": { + "callsites": "^3.0.0" + } + }, + "parse-json": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", + "requires": { + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" + } + }, "path-parse": { "version": "1.0.7", "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", - "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", - "dev": true + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" + }, + "path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==" }, "picocolors": { "version": "1.0.0", @@ -759,6 +1136,16 @@ "source-map-js": "^1.0.2" } }, + "prop-types": { + "version": "15.8.1", + "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", + "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==", + "requires": { + "loose-envify": "^1.4.0", + "object-assign": "^4.1.1", + "react-is": "^16.13.1" + } + }, "react": { "version": "18.2.0", "resolved": "https://registry.npmjs.org/react/-/react-18.2.0.tgz", @@ -776,23 +1163,48 @@ "scheduler": "^0.23.0" } }, + "react-is": { + "version": "16.13.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" + }, "react-refresh": { "version": "0.14.0", "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.14.0.tgz", "integrity": "sha512-wViHqhAd8OHeLS/IRMJjTSDHF3U9eWi62F/MledQGPdJGDhodXJ9PBLNGr6WWL7qlH12Mt3TyTpbS+hGXMjCzQ==", "dev": true }, + "react-transition-group": { + "version": "4.4.5", + "resolved": "https://registry.npmjs.org/react-transition-group/-/react-transition-group-4.4.5.tgz", + "integrity": "sha512-pZcd1MCJoiKiBR2NRxeCRg13uCXbydPnmB4EOeRrY7480qNWO8IIgQG6zlDkm6uRMsURXPuKq0GWtiM59a5Q6g==", + "requires": { + "@babel/runtime": "^7.5.5", + "dom-helpers": "^5.0.1", + "loose-envify": "^1.4.0", + "prop-types": "^15.6.2" + } + }, + "regenerator-runtime": { + "version": "0.13.11", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz", + "integrity": "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==" + }, "resolve": { "version": "1.22.1", "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz", "integrity": "sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==", - "dev": true, "requires": { "is-core-module": "^2.9.0", "path-parse": "^1.0.7", "supports-preserve-symlinks-flag": "^1.0.0" } }, + "resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==" + }, "rollup": { "version": "3.11.0", "resolved": "https://registry.npmjs.org/rollup/-/rollup-3.11.0.tgz", @@ -816,17 +1228,26 @@ "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", "dev": true }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==" + }, "source-map-js": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", "dev": true }, + "stylis": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/stylis/-/stylis-4.1.3.tgz", + "integrity": "sha512-GP6WDNWf+o403jrEp9c5jibKavrtLW+/qYGhFxFrG8maXhwTBI7gLLhiBb0o7uFccWN+EOS9aMO6cGHWAO07OA==" + }, "supports-color": { "version": "5.5.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, "requires": { "has-flag": "^3.0.0" } @@ -834,14 +1255,12 @@ "supports-preserve-symlinks-flag": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", - "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", - "dev": true + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==" }, "to-fast-properties": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", - "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", - "dev": true + "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==" }, "typescript": { "version": "4.9.4", @@ -877,6 +1296,11 @@ "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", "dev": true + }, + "yaml": { + "version": "1.10.2", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", + "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==" } } } diff --git a/package.json b/package.json index a6f55919..1a4aaf48 100644 --- a/package.json +++ b/package.json @@ -9,6 +9,11 @@ "preview": "vite preview" }, "dependencies": { + "@emotion/react": "^11.10.5", + "@emotion/styled": "^11.10.5", + "@mui/icons-material": "^5.11.0", + "@mui/material": "^5.11.6", + "@mui/types": "^7.2.3", "react": "^18.2.0", "react-dom": "^18.2.0" }, diff --git a/src/App.tsx b/src/App.tsx index 6bf76f38..882aae79 100644 --- a/src/App.tsx +++ b/src/App.tsx @@ -1,5 +1,45 @@ +import { useMemo, useState } from "react"; +import { HomePage } from "./containers/home"; +import { ThemeProvider, createTheme } from "@mui/material/styles"; +import { ColorModeContext } from "./contexts"; + const App = () => { - return
Rick and Morty
; + const [mode, setMode] = useState<"light" | "dark">("light"); + const colorMode = useMemo( + () => ({ + toggleColorMode: () => { + setMode((prevMode: string) => + prevMode === "light" ? "dark" : "light" + ); + }, + }), + [] + ); + + const theme = useMemo( + () => + createTheme({ + palette: { + mode: "light", + }, + }), + [mode] + ); + + return ( + + +
+ +
+
+
+ ); }; export default App; diff --git a/src/components/topBar/index.tsx b/src/components/topBar/index.tsx new file mode 100644 index 00000000..21a6b631 --- /dev/null +++ b/src/components/topBar/index.tsx @@ -0,0 +1,47 @@ +import * as React from "react"; +import AppBar from "@mui/material/AppBar"; +import Typography from "@mui/material/Typography"; +import Switch from "@mui/material/Switch"; +import FormControlLabel from "@mui/material/FormControlLabel"; +import FormGroup from "@mui/material/FormGroup"; +import { ColorModeContext } from "../../contexts"; + +const TopAppBar = () => { + const { colorMode, mode } = React.useContext(ColorModeContext); + + const handleSwitchChange = () => { + colorMode.toggleColorMode(); + }; + + return ( + + + Rick and Morty wiki + + + + } + label={mode === "light" ? "Light Mode" : "Dark Mode"} + /> + + + ); +}; + +export { TopAppBar }; diff --git a/src/containers/home/index.tsx b/src/containers/home/index.tsx new file mode 100644 index 00000000..093fc913 --- /dev/null +++ b/src/containers/home/index.tsx @@ -0,0 +1,12 @@ +import { TopAppBar } from "../../components/topBar"; + +const HomePage = () => { + return ( +
+ +
djisaidjsajidsaij
+
+ ); +}; + +export { HomePage }; diff --git a/src/contexts/index.tsx b/src/contexts/index.tsx new file mode 100644 index 00000000..4a10be65 --- /dev/null +++ b/src/contexts/index.tsx @@ -0,0 +1,3 @@ +import React from "react"; + +export const ColorModeContext = React.createContext({} as any); diff --git a/src/index.css b/src/index.css index e69de29b..4e41b69a 100644 --- a/src/index.css +++ b/src/index.css @@ -0,0 +1,3 @@ +body { + margin: 0; +} \ No newline at end of file From 4bff343a33a04e72ea1f9c47353dc4eeae9cfbf5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jo=C3=A3o=20Victor?= Date: Fri, 27 Jan 2023 13:24:24 -0300 Subject: [PATCH 03/17] feat: define grid positions --- package-lock.json | 198 ++++++++++++++++++++++++- package.json | 5 +- src/components/topBar/index.tsx | 1 + src/containers/home/index.tsx | 6 +- src/containers/home/styles.module.scss | 7 + 5 files changed, 211 insertions(+), 6 deletions(-) create mode 100644 src/containers/home/styles.module.scss diff --git a/package-lock.json b/package-lock.json index e1c34e8c..b5b944ca 100644 --- a/package-lock.json +++ b/package-lock.json @@ -715,6 +715,19 @@ "resolved": "https://registry.npmjs.org/@popperjs/core/-/core-2.11.6.tgz", "integrity": "sha512-50/17A98tWUfQ176raKiOGXuYpLyyVMkxxG6oylzL3BPOlA6ADGdK7EYunSa4I064xerltq9TGXs8HmOk5E+vw==" }, + "@types/node": { + "version": "18.11.18", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.18.tgz", + "integrity": "sha512-DHQpWGjyQKSHj3ebjFI/wRKcqQcdR+MoFBygntYOZytCqNfkd2ZC4ARDJ2DQqhjH5p85Nnd3jhUJIXrszFX/JA==" + }, + "@types/node-sass": { + "version": "4.11.3", + "resolved": "https://registry.npmjs.org/@types/node-sass/-/node-sass-4.11.3.tgz", + "integrity": "sha512-wXPCn3t9uu5rR4zXNSLasZHQMuRzUKBsdi4MsgT8uq4Lp1gQQo+T2G23tGj4SSgDHeNBle6vGseZtM2XV/X9bw==", + "requires": { + "@types/node": "*" + } + }, "@types/parse-json": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz", @@ -786,6 +799,30 @@ "color-convert": "^1.9.0" } }, + "anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "requires": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + } + }, + "asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" + }, + "axios": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.2.5.tgz", + "integrity": "sha512-9pU/8mmjSSOb4CXVsvGIevN+MlO/t9OWtKadTaLuN85Gge3HGorUckgp8A/2FH4V4hJ7JuQ3LIeI7KAV9ITZrQ==", + "requires": { + "follow-redirects": "^1.15.0", + "form-data": "^4.0.0", + "proxy-from-env": "^1.1.0" + } + }, "babel-plugin-macros": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/babel-plugin-macros/-/babel-plugin-macros-3.1.0.tgz", @@ -796,6 +833,19 @@ "resolve": "^1.19.0" } }, + "binary-extensions": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==" + }, + "braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "requires": { + "fill-range": "^7.0.1" + } + }, "browserslist": { "version": "4.21.4", "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.4.tgz", @@ -829,6 +879,21 @@ "supports-color": "^5.3.0" } }, + "chokidar": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "requires": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "fsevents": "~2.3.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + } + }, "clsx": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/clsx/-/clsx-1.2.1.tgz", @@ -847,6 +912,14 @@ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" }, + "combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "requires": { + "delayed-stream": "~1.0.0" + } + }, "convert-source-map": { "version": "1.9.0", "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", @@ -878,6 +951,11 @@ "ms": "2.1.2" } }, + "delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==" + }, "dom-helpers": { "version": "5.2.1", "resolved": "https://registry.npmjs.org/dom-helpers/-/dom-helpers-5.2.1.tgz", @@ -942,16 +1020,38 @@ "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==" }, + "fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "requires": { + "to-regex-range": "^5.0.1" + } + }, "find-root": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/find-root/-/find-root-1.1.0.tgz", "integrity": "sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng==" }, + "follow-redirects": { + "version": "1.15.2", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.2.tgz", + "integrity": "sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==" + }, + "form-data": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", + "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", + "requires": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + } + }, "fsevents": { "version": "2.3.2", "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", - "dev": true, "optional": true }, "function-bind": { @@ -965,6 +1065,14 @@ "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", "dev": true }, + "glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "requires": { + "is-glob": "^4.0.1" + } + }, "globals": { "version": "11.12.0", "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", @@ -992,6 +1100,11 @@ "react-is": "^16.7.0" } }, + "immutable": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.2.2.tgz", + "integrity": "sha512-fTMKDwtbvO5tldky9QZ2fMX7slR0mYpY5nbnFWYp0fOzDhHqhgIw9KoYgxLWsoNTS9ZHGauHj18DTyEw6BK3Og==" + }, "import-fresh": { "version": "3.3.0", "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", @@ -1006,6 +1119,14 @@ "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==" }, + "is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "requires": { + "binary-extensions": "^2.0.0" + } + }, "is-core-module": { "version": "2.11.0", "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.11.0.tgz", @@ -1014,6 +1135,24 @@ "has": "^1.0.3" } }, + "is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==" + }, + "is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "requires": { + "is-extglob": "^2.1.1" + } + }, + "is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==" + }, "js-tokens": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", @@ -1067,6 +1206,19 @@ "@jridgewell/sourcemap-codec": "^1.4.13" } }, + "mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==" + }, + "mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "requires": { + "mime-db": "1.52.0" + } + }, "ms": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", @@ -1085,6 +1237,11 @@ "integrity": "sha512-dFSmB8fFHEH/s81Xi+Y/15DQY6VHW81nXRj86EMSL3lmuTmK1e+aT4wrFCkTbm+gSwkw4KpX+rT/pMM2c1mF+A==", "dev": true }, + "normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==" + }, "object-assign": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", @@ -1125,6 +1282,11 @@ "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", "dev": true }, + "picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==" + }, "postcss": { "version": "8.4.21", "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.21.tgz", @@ -1146,6 +1308,11 @@ "react-is": "^16.13.1" } }, + "proxy-from-env": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", + "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==" + }, "react": { "version": "18.2.0", "resolved": "https://registry.npmjs.org/react/-/react-18.2.0.tgz", @@ -1185,6 +1352,14 @@ "prop-types": "^15.6.2" } }, + "readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "requires": { + "picomatch": "^2.2.1" + } + }, "regenerator-runtime": { "version": "0.13.11", "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz", @@ -1214,6 +1389,16 @@ "fsevents": "~2.3.2" } }, + "sass": { + "version": "1.57.1", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.57.1.tgz", + "integrity": "sha512-O2+LwLS79op7GI0xZ8fqzF7X2m/m8WFfI02dHOdsK5R2ECeS5F62zrwg/relM1rjSLy7Vd/DiMNIvPrQGsA0jw==", + "requires": { + "chokidar": ">=3.0.0 <4.0.0", + "immutable": "^4.0.0", + "source-map-js": ">=0.6.2 <2.0.0" + } + }, "scheduler": { "version": "0.23.0", "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.0.tgz", @@ -1236,8 +1421,7 @@ "source-map-js": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", - "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", - "dev": true + "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==" }, "stylis": { "version": "4.1.3", @@ -1262,6 +1446,14 @@ "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==" }, + "to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "requires": { + "is-number": "^7.0.0" + } + }, "typescript": { "version": "4.9.4", "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.4.tgz", diff --git a/package.json b/package.json index 1a4aaf48..2c74a0f4 100644 --- a/package.json +++ b/package.json @@ -14,8 +14,11 @@ "@mui/icons-material": "^5.11.0", "@mui/material": "^5.11.6", "@mui/types": "^7.2.3", + "@types/node-sass": "^4.11.3", + "axios": "^1.2.5", "react": "^18.2.0", - "react-dom": "^18.2.0" + "react-dom": "^18.2.0", + "sass": "^1.57.1" }, "devDependencies": { "@types/react": "^18.0.26", diff --git a/src/components/topBar/index.tsx b/src/components/topBar/index.tsx index 21a6b631..bbc65e7a 100644 --- a/src/components/topBar/index.tsx +++ b/src/components/topBar/index.tsx @@ -23,6 +23,7 @@ const TopAppBar = () => { justifyContent: "space-between", flexDirection: "row", backgroundColor: mode === "light" ? "#5b5f97" : "#2d2f4b", + gridArea: "a", }} > diff --git a/src/containers/home/index.tsx b/src/containers/home/index.tsx index 093fc913..c8b9b4e5 100644 --- a/src/containers/home/index.tsx +++ b/src/containers/home/index.tsx @@ -1,10 +1,12 @@ import { TopAppBar } from "../../components/topBar"; +import styles from "./styles.module.scss"; const HomePage = () => { return ( -
+
-
djisaidjsajidsaij
+
Filtros
+
djisaidjsajidsaij
); }; diff --git a/src/containers/home/styles.module.scss b/src/containers/home/styles.module.scss new file mode 100644 index 00000000..d1f8dadf --- /dev/null +++ b/src/containers/home/styles.module.scss @@ -0,0 +1,7 @@ +.container { + grid-template-areas: + "a a a a a " + "b c c c c" + "b c c c c"; + display: grid; +} \ No newline at end of file From 291ab820d046740defa791a11fd127551eabf4e2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jo=C3=A3o=20Victor?= Date: Fri, 27 Jan 2023 14:29:56 -0300 Subject: [PATCH 04/17] feat: adjust containers on screen --- package-lock.json | 8 ++++++ package.json | 1 + src/App.tsx | 2 +- src/components/topBar/index.tsx | 4 +-- src/containers/characters/index.tsx | 7 +++++ src/containers/home/index.tsx | 38 ++++++++++++++++++++++++-- src/containers/home/styles.module.scss | 13 ++++++--- src/index.css | 4 +++ 8 files changed, 67 insertions(+), 10 deletions(-) create mode 100644 src/containers/characters/index.tsx diff --git a/package-lock.json b/package-lock.json index b5b944ca..756e7e7c 100644 --- a/package-lock.json +++ b/package-lock.json @@ -715,6 +715,14 @@ "resolved": "https://registry.npmjs.org/@popperjs/core/-/core-2.11.6.tgz", "integrity": "sha512-50/17A98tWUfQ176raKiOGXuYpLyyVMkxxG6oylzL3BPOlA6ADGdK7EYunSa4I064xerltq9TGXs8HmOk5E+vw==" }, + "@types/axios": { + "version": "0.14.0", + "resolved": "https://registry.npmjs.org/@types/axios/-/axios-0.14.0.tgz", + "integrity": "sha512-KqQnQbdYE54D7oa/UmYVMZKq7CO4l8DEENzOKc4aBRwxCXSlJXGz83flFx5L7AWrOQnmuN3kVsRdt+GZPPjiVQ==", + "requires": { + "axios": "*" + } + }, "@types/node": { "version": "18.11.18", "resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.18.tgz", diff --git a/package.json b/package.json index 2c74a0f4..024683ab 100644 --- a/package.json +++ b/package.json @@ -14,6 +14,7 @@ "@mui/icons-material": "^5.11.0", "@mui/material": "^5.11.6", "@mui/types": "^7.2.3", + "@types/axios": "^0.14.0", "@types/node-sass": "^4.11.3", "axios": "^1.2.5", "react": "^18.2.0", diff --git a/src/App.tsx b/src/App.tsx index 882aae79..5b0d5d74 100644 --- a/src/App.tsx +++ b/src/App.tsx @@ -32,7 +32,7 @@ const App = () => {
diff --git a/src/components/topBar/index.tsx b/src/components/topBar/index.tsx index bbc65e7a..a92d1295 100644 --- a/src/components/topBar/index.tsx +++ b/src/components/topBar/index.tsx @@ -23,13 +23,13 @@ const TopAppBar = () => { justifyContent: "space-between", flexDirection: "row", backgroundColor: mode === "light" ? "#5b5f97" : "#2d2f4b", - gridArea: "a", + gridArea: "topbar", }} > Rick and Morty wiki - + { + return djisaidjsajidsaij; +}; + +export { CharactersContainer }; diff --git a/src/containers/home/index.tsx b/src/containers/home/index.tsx index c8b9b4e5..37e288ab 100644 --- a/src/containers/home/index.tsx +++ b/src/containers/home/index.tsx @@ -1,12 +1,44 @@ +import { useEffect, useContext } from "react"; import { TopAppBar } from "../../components/topBar"; +import axios from "axios"; import styles from "./styles.module.scss"; +import { CharactersContainer } from "../characters"; +import { ColorModeContext } from "../../contexts"; + const HomePage = () => { + const { mode } = useContext(ColorModeContext); + + const getCharactersList = async () => { + try { + const response = await axios.get( + "https://rickandmortyapi.com/api/character?page=2" + ); + console.log("response", response); + } catch (err) { + console.log(err); + } + }; + + useEffect(() => { + getCharactersList(); + }, []); + return ( -
+
-
Filtros
-
djisaidjsajidsaij
+
+
Filtros
+ +
); }; diff --git a/src/containers/home/styles.module.scss b/src/containers/home/styles.module.scss index d1f8dadf..7fda70c6 100644 --- a/src/containers/home/styles.module.scss +++ b/src/containers/home/styles.module.scss @@ -1,7 +1,12 @@ -.container { +.page_info { grid-template-areas: - "a a a a a " - "b c c c c" - "b c c c c"; + "filters char char char char"; + display: grid; +} + +.container { + grid-template-areas: "topbar" + "characters"; display: grid; + grid-template-rows: 10% 90%; } \ No newline at end of file diff --git a/src/index.css b/src/index.css index 4e41b69a..81452d92 100644 --- a/src/index.css +++ b/src/index.css @@ -1,3 +1,7 @@ body { margin: 0; +} + +#root { + height: 100vh; } \ No newline at end of file From 3ae4cf09e3c3efa93b28bf69776dd3e9b0dc33d1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jo=C3=A3o=20Victor?= Date: Sun, 29 Jan 2023 22:04:59 -0300 Subject: [PATCH 05/17] feat: create loading icon --- src/assets/portal.png | Bin 0 -> 121128 bytes src/components/loading/index.tsx | 12 +++++++ src/components/loading/styles.module.scss | 22 ++++++++++++ src/containers/characters/index.tsx | 9 ++++- src/containers/home/index.tsx | 42 +++++++++++++--------- 5 files changed, 68 insertions(+), 17 deletions(-) create mode 100644 src/assets/portal.png create mode 100644 src/components/loading/index.tsx create mode 100644 src/components/loading/styles.module.scss diff --git a/src/assets/portal.png b/src/assets/portal.png new file mode 100644 index 0000000000000000000000000000000000000000..26201276df238020e40fda813dd780363f44a6d0 GIT binary patch literal 121128 zcmXtA1z1$y(*^`2m5}ZfmKH%!=~_y1>28-$K)Sm`a_MfCZb3;wQo2(Sq@|W-;k)ba z|2;k!clVx{c;7iQbBt1dqd;itSaIk?VLK2Rrz#rHa$_lb* z_o!ca?WIY;6WsS;eOELz3S!g``Vjl61R7c(nxd?fw&&tL@}>nc=e32qrB){K3&~{p z)wrf&2tS5WjhKDO%4-Yq@>x2RNkq+jH>cj7d_4)}*^?)&>v zZFuPqRmW7$a{?T--mM{aS6c!;{MN3fece=2dNFMK7!9pBxB_QarrBs+F!i#f@a}Id z!;w#_=f@CSV36^whIb4H?Y>SvYRq<9b(@LCas?N>JN=^Qz=!#ls>E}hX*XN0_miEH zzNkmjrSN@_v3u6@0A`8?<(NGSlGYR_NdB8s;qZq$B;0r(^cTOj^daqC>;HXYE z|Bg`U`$ORG15{zNEMF&K7T5c%ecGJil)$Wk&bOz)N*?GIucOwmAum*{k*)BFW0CK_5iIW6#eAf|fpTn;H$yXr!PK@WHP7Q7yR0V`$VB2f{BS{X`~ z+kwK<;=Q_boPT_Va{QgxTH(TPWGObZ1;U>IYmy8Egw{nl?PT4wUMyi*nP}~ro+(Fe zuz{|3vkFE`iUWENL_;lpO_J@2J}?~6OrNVB*isOCf|O5XUFU#u@wHN3vq4fnXuvJ^20Rm^Zj0#f+5mNbPc z@mD67b}pJSiR&X_<*QdQ{XX{y3IB=o7Xe;v7uQP)K2KNY1#TJ=EO(AC>(oa5-LGl+ z?ykQkol0-hCQ(j}ZHbu1Rx>D!R?36|i~P40heU&!xnEQEwsJ78I)O)u$+?S{`B0)EW*93=mCSQ4>1n!ONNB@Z?P*i11WmJa%C7^}- zi~S{qhSk?Q$W8tkVsz~41gm;)@vK(kE7nR`YpNIpTEs z;kqX%;gAYF9E~e`<*AdP-j&PHsy7E?mf2g zuviF-1pT|$GaTGD+9k3ZIUPt87wduBO7&0i|A{S7V7VC8L;#Ek6@ueEhhSG9H#h% z05CX8#RO6_4?32RmF>2W7R3=Jt`mn4?I!A63W!-TEM~%{?1Lergt^VIBqGb
oCCqzfo7fZs#@U)omWn|CAjs1piuJ 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 z�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
#UnV^aWY!l_ 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 + ); +}; + +export { LoadingIcon }; diff --git a/src/components/loading/styles.module.scss b/src/components/loading/styles.module.scss new file mode 100644 index 00000000..9de5819e --- /dev/null +++ b/src/components/loading/styles.module.scss @@ -0,0 +1,22 @@ +.rotate { + animation: rotation 2s infinite linear; + height: 150px; + width: 150px; + border-radius: 100% +} + +.loading_container { + display: flex; + justify-content: center; + align-items: center; +} + +@keyframes rotation { + from { + transform: rotate(0deg); + } + + to { + transform: rotate(359deg); + } +} \ No newline at end of file diff --git a/src/containers/characters/index.tsx b/src/containers/characters/index.tsx index 789332d0..9b5fb6ed 100644 --- a/src/containers/characters/index.tsx +++ b/src/containers/characters/index.tsx @@ -1,7 +1,14 @@ +import { useEffect, useState } from "react"; import { Box } from "@mui/system"; +import axios from "axios"; const CharactersContainer = () => { - return djisaidjsajidsaij; + return ( + +
Search Bar
+
Characters
+
+ ); }; export { CharactersContainer }; diff --git a/src/containers/home/index.tsx b/src/containers/home/index.tsx index 37e288ab..86cca2a6 100644 --- a/src/containers/home/index.tsx +++ b/src/containers/home/index.tsx @@ -1,21 +1,25 @@ -import { useEffect, useContext } from "react"; +import { useEffect, useContext, useState } from "react"; import { TopAppBar } from "../../components/topBar"; import axios from "axios"; import styles from "./styles.module.scss"; - import { CharactersContainer } from "../characters"; import { ColorModeContext } from "../../contexts"; +import { LoadingIcon } from "../../components/loading"; const HomePage = () => { - const { mode } = useContext(ColorModeContext); + const [characterList, setCharacterList] = useState([]); + const [loading, setLoading] = useState("idle"); const getCharactersList = async () => { try { + setLoading("loading"); const response = await axios.get( "https://rickandmortyapi.com/api/character?page=2" ); - console.log("response", response); + setLoading("loaded"); + setCharacterList(response.data.results); } catch (err) { + setLoading("error"); console.log(err); } }; @@ -24,21 +28,27 @@ const HomePage = () => { getCharactersList(); }, []); + const { mode } = useContext(ColorModeContext); + return (
-
-
Filtros
- -
+ {loading === "loading" ? ( + + ) : ( +
+
Filtros
+ +
+ )}
); }; From 74ba9c39021f5a8e8378b5a43bbc35bc1995f43a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jo=C3=A3o=20Victor?= Date: Mon, 30 Jan 2023 17:17:32 -0300 Subject: [PATCH 06/17] feat: started pagination --- src/containers/characters/index.tsx | 72 ++++++++++++++++++++++++++++- src/containers/home/index.tsx | 50 ++++++-------------- 2 files changed, 83 insertions(+), 39 deletions(-) diff --git a/src/containers/characters/index.tsx b/src/containers/characters/index.tsx index 9b5fb6ed..69f0607c 100644 --- a/src/containers/characters/index.tsx +++ b/src/containers/characters/index.tsx @@ -1,12 +1,80 @@ -import { useEffect, useState } from "react"; +import React, { useEffect, useMemo, useState } from "react"; import { Box } from "@mui/system"; import axios from "axios"; +import { TablePagination } from "@mui/material"; +import { LoadingIcon } from "../../components/loading"; const CharactersContainer = () => { + const [characterList, setCharacterList] = useState([]); + const [loading, setLoading] = useState("idle"); + const [paginationInfo, setPaginationInfo] = useState([]); + const [page, setPage] = React.useState(0); + const [rowsPerPage, setRowsPerPage] = React.useState(20); + + const getCharactersList = async (query: string) => { + try { + setLoading("loading"); + const response = await axios.get( + `https://rickandmortyapi.com/api/character?page=${query}` + ); + setLoading("loaded"); + setCharacterList(response.data.results); + setPaginationInfo(response.data.info); + } catch (err) { + setLoading("error"); + console.log(err); + } + }; + + const handleChangePage = ( + event: React.MouseEvent | null, + newPage: number + ) => { + setPage(newPage); + }; + + const handleChangeRowsPerPage = ( + event: React.ChangeEvent + ) => { + setRowsPerPage(parseInt(event.target.value)); + setPage(0); + }; + + useEffect(() => { + const currentPage = (rowsPerPage * (page + 1)) / 20; + if (rowsPerPage * (page + 1) > 20) getCharactersList(`${currentPage}`); + else getCharactersList(`${1}`); + }, [page, rowsPerPage]); + return (
Search Bar
-
Characters
+
+ {loading === "loading" ? ( + + ) : ( +
+ {characterList.map((char: any) => { + return ( +
+ {char.name} + {char.species} + {char.status} +
+ ); + })} + +
+ )} +
); }; diff --git a/src/containers/home/index.tsx b/src/containers/home/index.tsx index 86cca2a6..6d570bef 100644 --- a/src/containers/home/index.tsx +++ b/src/containers/home/index.tsx @@ -7,48 +7,24 @@ import { ColorModeContext } from "../../contexts"; import { LoadingIcon } from "../../components/loading"; const HomePage = () => { - const [characterList, setCharacterList] = useState([]); - const [loading, setLoading] = useState("idle"); - - const getCharactersList = async () => { - try { - setLoading("loading"); - const response = await axios.get( - "https://rickandmortyapi.com/api/character?page=2" - ); - setLoading("loaded"); - setCharacterList(response.data.results); - } catch (err) { - setLoading("error"); - console.log(err); - } - }; - - useEffect(() => { - getCharactersList(); - }, []); - const { mode } = useContext(ColorModeContext); return (
- {loading === "loading" ? ( - - ) : ( -
-
Filtros
- -
- )} + +
+
Filtros
+ +
); }; From 1ed60b7c6bacbfd1c0bbbbdd636dc108b93b753a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jo=C3=A3o=20Victor?= Date: Mon, 30 Jan 2023 22:04:08 -0300 Subject: [PATCH 07/17] feat: start add char card --- src/App.css | 0 src/components/characterCard/index.tsx | 65 ++++++++++++++++++++ src/components/topBar/index.tsx | 2 +- src/containers/characters/index.tsx | 60 ++++++++++++------ src/containers/characters/styles.module.scss | 18 ++++++ src/containers/home/index.tsx | 3 - src/containers/home/styles.module.scss | 6 +- 7 files changed, 127 insertions(+), 27 deletions(-) delete mode 100644 src/App.css create mode 100644 src/components/characterCard/index.tsx create mode 100644 src/containers/characters/styles.module.scss diff --git a/src/App.css b/src/App.css deleted file mode 100644 index e69de29b..00000000 diff --git a/src/components/characterCard/index.tsx b/src/components/characterCard/index.tsx new file mode 100644 index 00000000..e2cfe70a --- /dev/null +++ b/src/components/characterCard/index.tsx @@ -0,0 +1,65 @@ +import { useContext } from "react"; +import { + Button, + Card, + CardActions, + CardContent, + CardMedia, + Chip, + Typography, +} from "@mui/material"; +import { ColorModeContext } from "../../contexts"; + +const CharacterCard = ({ charData }: any) => { + const { mode } = useContext(ColorModeContext); + + const ColorStatus: any = { + Alive: "success", + Dead: "error", + unknown: "warning", + }; + + return ( + + + + + {charData.name} + + + + + + + + ); +}; + +export { CharacterCard }; diff --git a/src/components/topBar/index.tsx b/src/components/topBar/index.tsx index a92d1295..a6ffc647 100644 --- a/src/components/topBar/index.tsx +++ b/src/components/topBar/index.tsx @@ -27,7 +27,7 @@ const TopAppBar = () => { }} > - Rick and Morty wiki + Rick e Morty Wiki { const [characterList, setCharacterList] = useState([]); @@ -10,6 +21,7 @@ const CharactersContainer = () => { const [paginationInfo, setPaginationInfo] = useState([]); const [page, setPage] = React.useState(0); const [rowsPerPage, setRowsPerPage] = React.useState(20); + const { mode } = useContext(ColorModeContext); const getCharactersList = async (query: string) => { try { @@ -47,34 +59,42 @@ const CharactersContainer = () => { }, [page, rowsPerPage]); return ( - -
Search Bar
-
- {loading === "loading" ? ( - - ) : ( + + {loading === "loading" ? ( + + ) : ( + <> +
Search Bar
- {characterList.map((char: any) => { - return ( -
- {char.name} - {char.species} - {char.status} -
- ); - })} + + Galerinha do Rick e Morty + +
+ {characterList.map((char: any) => { + return ; + })} +
- )} -
+ + )}
); }; diff --git a/src/containers/characters/styles.module.scss b/src/containers/characters/styles.module.scss new file mode 100644 index 00000000..a121ee0a --- /dev/null +++ b/src/containers/characters/styles.module.scss @@ -0,0 +1,18 @@ +.card_container { + padding: 16px; + grid-template-columns: repeat(4, 1fr); + display: grid; + gap: 16px; + + @media (max-width: 768px) { + grid-template-columns: repeat(1, 1fr); + } + + @media (min-width: 768px) and (max-width: 1024px) { + grid-template-columns: repeat(2, 1fr); + } + + @media (min-width: 1024px) and (max-width: 1536px) { + grid-template-columns: repeat(3, 1fr); + } +} \ No newline at end of file diff --git a/src/containers/home/index.tsx b/src/containers/home/index.tsx index 6d570bef..f34b89e2 100644 --- a/src/containers/home/index.tsx +++ b/src/containers/home/index.tsx @@ -4,7 +4,6 @@ import axios from "axios"; import styles from "./styles.module.scss"; import { CharactersContainer } from "../characters"; import { ColorModeContext } from "../../contexts"; -import { LoadingIcon } from "../../components/loading"; const HomePage = () => { const { mode } = useContext(ColorModeContext); @@ -12,7 +11,6 @@ const HomePage = () => { return (
-
{ color: mode === "light" ? "black" : "white", }} > -
Filtros
diff --git a/src/containers/home/styles.module.scss b/src/containers/home/styles.module.scss index 7fda70c6..d69e8690 100644 --- a/src/containers/home/styles.module.scss +++ b/src/containers/home/styles.module.scss @@ -1,7 +1,7 @@ .page_info { - grid-template-areas: - "filters char char char char"; - display: grid; + display: flex; + flex-direction: row; + } .container { From ee414981e1d501a963e88dc5a89931a4d7450edb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jo=C3=A3o=20Victor?= Date: Mon, 30 Jan 2023 22:33:16 -0300 Subject: [PATCH 08/17] feat: add details card --- src/components/characterCard/index.tsx | 105 ++++++++++++++++++++++++- 1 file changed, 103 insertions(+), 2 deletions(-) diff --git a/src/components/characterCard/index.tsx b/src/components/characterCard/index.tsx index e2cfe70a..3e7031a7 100644 --- a/src/components/characterCard/index.tsx +++ b/src/components/characterCard/index.tsx @@ -1,4 +1,4 @@ -import { useContext } from "react"; +import { useContext, useState } from "react"; import { Button, Card, @@ -6,12 +6,23 @@ import { CardContent, CardMedia, Chip, + Dialog, + DialogActions, + DialogContent, + DialogTitle, Typography, } from "@mui/material"; import { ColorModeContext } from "../../contexts"; +import MaleIcon from "@mui/icons-material/Male"; +import FemaleIcon from "@mui/icons-material/Female"; +import TransgenderIcon from "@mui/icons-material/Transgender"; +import BlockIcon from "@mui/icons-material/Block"; +import BabyChangingStationIcon from "@mui/icons-material/BabyChangingStation"; +import { Box } from "@mui/system"; const CharacterCard = ({ charData }: any) => { const { mode } = useContext(ColorModeContext); + const [openDialog, setOpenDialog] = useState(false); const ColorStatus: any = { Alive: "success", @@ -19,6 +30,44 @@ const CharacterCard = ({ charData }: any) => { unknown: "warning", }; + const GenderList: any = { + Male: ( + + ), + Female: ( + + ), + genderless: ( + + ), + unknown: ( + + ), + }; + + const handleClickOpen = () => { + setOpenDialog(true); + }; + const handleClose = () => { + setOpenDialog(false); + }; + return ( { height: "150px", background: mode === "light" ? "#dddeeb" : "#484b78", color: mode === "light" ? "black" : "white", + boxShadow: + mode === "light" + ? "1px 1px 1px 1px #484b78" + : "1px 1px 1px 1px #dddeeb", }} > { right: "0", }} > - + + + + + {charData.name} + + + + Espécie: {charData.species} + + + Gênero: {GenderList[charData.gender]} + + + Nascimento: {charData.origin.name} + + + + Localização: {charData.location.name} + + + + + + + ); }; From c1064d4df79de2b18ae732778819bd3fa4d732b8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jo=C3=A3o=20Victor?= Date: Tue, 31 Jan 2023 00:36:25 -0300 Subject: [PATCH 09/17] feat: add filters --- src/containers/characters/index.tsx | 236 ++++++++++++++++++- src/containers/characters/styles.module.scss | 10 + 2 files changed, 233 insertions(+), 13 deletions(-) diff --git a/src/containers/characters/index.tsx b/src/containers/characters/index.tsx index 923afb68..6436beff 100644 --- a/src/containers/characters/index.tsx +++ b/src/containers/characters/index.tsx @@ -2,11 +2,20 @@ import React, { useContext, useEffect, useState } from "react"; import { Box } from "@mui/system"; import axios from "axios"; import { + Alert, Button, - Card, - CardActions, - CardContent, - CardMedia, + Dialog, + DialogActions, + DialogContent, + DialogTitle, + FormControl, + InputBase, + InputLabel, + MenuItem, + OutlinedInput, + Select, + SelectChangeEvent, + Snackbar, TablePagination, Typography, } from "@mui/material"; @@ -14,20 +23,33 @@ import { LoadingIcon } from "../../components/loading"; import styles from "./styles.module.scss"; import { ColorModeContext } from "../../contexts"; import { CharacterCard } from "../../components/characterCard"; +import SearchIcon from "@mui/icons-material/Search"; const CharactersContainer = () => { + const { mode } = useContext(ColorModeContext); const [characterList, setCharacterList] = useState([]); const [loading, setLoading] = useState("idle"); const [paginationInfo, setPaginationInfo] = useState([]); - const [page, setPage] = React.useState(0); - const [rowsPerPage, setRowsPerPage] = React.useState(20); - const { mode } = useContext(ColorModeContext); + const [page, setPage] = useState(0); + const [rowsPerPage, setRowsPerPage] = useState(20); + const [nameToSearch, setNameToSearch] = useState(""); + const [genderName, setGenderName] = useState(""); + const [speciesName, setSpeciesName] = useState(""); + const [statusName, setStatusName] = useState(""); + const [openMoreFilters, setOpenMoreFilters] = useState(false); + const currentPage = (rowsPerPage * (page + 1)) / 20; + + const filters = `?page=${currentPage}${ + nameToSearch.length > 0 ? `&name=${nameToSearch}` : "" + }${genderName.length > 0 ? `&gender=${genderName}` : ""}${ + speciesName.length > 0 ? `&species=${speciesName}` : "" + }${statusName.length > 0 ? `&status=${statusName}` : ""}`; const getCharactersList = async (query: string) => { try { setLoading("loading"); const response = await axios.get( - `https://rickandmortyapi.com/api/character?page=${query}` + `https://rickandmortyapi.com/api/character${query}` ); setLoading("loaded"); setCharacterList(response.data.results); @@ -52,12 +74,67 @@ const CharactersContainer = () => { setPage(0); }; + const handleSearchByName = () => { + getCharactersList(filters); + setPage(0); + }; + + const handleClearFilters = () => { + getCharactersList(""); + setNameToSearch(""); + setGenderName(""); + setSpeciesName(""); + setStatusName(""); + setPage(0); + getCharactersList(`?page=${1}`); + }; + + const handleCloseSnackBar = () => { + setLoading("idle"); + }; + useEffect(() => { - const currentPage = (rowsPerPage * (page + 1)) / 20; - if (rowsPerPage * (page + 1) > 20) getCharactersList(`${currentPage}`); - else getCharactersList(`${1}`); + getCharactersList(`${filters}`); }, [page, rowsPerPage]); + const handleChangeGender = (event: SelectChangeEvent) => { + const { + target: { value }, + } = event; + setGenderName(value); + }; + const genderOptions = ["female", "male", "genderless", "unknown"]; + + const handleChangeSpecie = (event: SelectChangeEvent) => { + const { + target: { value }, + } = event; + setSpeciesName(value); + }; + + const specieOptions = ["human", "humanoid"]; + + const handleChangeStatus = (event: SelectChangeEvent) => { + const { + target: { value }, + } = event; + setStatusName(value); + }; + + const statusOptions = ["alive", "dead", "unknown"]; + + const handleClickOpenFilters = () => { + setOpenMoreFilters(true); + }; + const handleCloseFilters = () => { + setOpenMoreFilters(false); + }; + + const handleFilter = () => { + handleCloseFilters(); + getCharactersList(filters); + }; + return ( { ) : ( <> -
Search Bar
+ +
+ + setNameToSearch(e.target.value)} + /> +
+
+ + + +
+
Galerinha do Rick e Morty @@ -91,10 +218,93 @@ const CharactersContainer = () => { onPageChange={handleChangePage} rowsPerPage={rowsPerPage} onRowsPerPageChange={handleChangeRowsPerPage} + style={{ color: mode === "light" ? "black" : "white" }} />
)} + + + + + Mais Filtros + + + + Gênero + + + + Status + + + + Espécie + + + + + + + + + + + Não encontrado usando esse filtro! +
); }; diff --git a/src/containers/characters/styles.module.scss b/src/containers/characters/styles.module.scss index a121ee0a..cfdf5850 100644 --- a/src/containers/characters/styles.module.scss +++ b/src/containers/characters/styles.module.scss @@ -15,4 +15,14 @@ @media (min-width: 1024px) and (max-width: 1536px) { grid-template-columns: repeat(3, 1fr); } +} + +.search_container { + display: flex; + justify-content: center; + padding: 16px 8px; + + @media (max-width: 768px) { + display: block; + } } \ No newline at end of file From a01fe81e563880e5f8fe932bee330597f2343129 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jo=C3=A3o=20Victor?= Date: Tue, 31 Jan 2023 00:40:04 -0300 Subject: [PATCH 10/17] feat: click on image and open in a new table --- src/components/characterCard/index.tsx | 1 + 1 file changed, 1 insertion(+) diff --git a/src/components/characterCard/index.tsx b/src/components/characterCard/index.tsx index 3e7031a7..40deb08b 100644 --- a/src/components/characterCard/index.tsx +++ b/src/components/characterCard/index.tsx @@ -87,6 +87,7 @@ const CharacterCard = ({ charData }: any) => { image={charData.image} alt="Char" style={{ width: "40%" }} + onClick={() => window.open(`${charData.image}`, "_blank")} /> Date: Tue, 31 Jan 2023 09:50:42 -0300 Subject: [PATCH 11/17] refactor: add styles inline in a separate file --- src/App.tsx | 13 +++++++------ src/components/topBar/index.tsx | 16 ++++------------ src/components/topBar/styles.module.scss | 21 +++++++++++++++++++++ src/containers/characters/index.tsx | 4 +++- src/containers/home/index.tsx | 22 +++++++++------------- src/containers/home/styles.module.scss | 11 ++++++++++- src/styles.module.scss | 8 ++++++++ 7 files changed, 62 insertions(+), 33 deletions(-) create mode 100644 src/components/topBar/styles.module.scss create mode 100644 src/styles.module.scss diff --git a/src/App.tsx b/src/App.tsx index 5b0d5d74..020ec082 100644 --- a/src/App.tsx +++ b/src/App.tsx @@ -2,6 +2,8 @@ import { useMemo, useState } from "react"; import { HomePage } from "./containers/home"; import { ThemeProvider, createTheme } from "@mui/material/styles"; import { ColorModeContext } from "./contexts"; +import { Box } from "@mui/material"; +import styles from "./styles.module.scss"; const App = () => { const [mode, setMode] = useState<"light" | "dark">("light"); @@ -29,14 +31,13 @@ const App = () => { return ( -
-
+
); diff --git a/src/components/topBar/index.tsx b/src/components/topBar/index.tsx index a6ffc647..cc04c8d8 100644 --- a/src/components/topBar/index.tsx +++ b/src/components/topBar/index.tsx @@ -5,6 +5,7 @@ import Switch from "@mui/material/Switch"; import FormControlLabel from "@mui/material/FormControlLabel"; import FormGroup from "@mui/material/FormGroup"; import { ColorModeContext } from "../../contexts"; +import styles from "./styles.module.scss"; const TopAppBar = () => { const { colorMode, mode } = React.useContext(ColorModeContext); @@ -17,19 +18,10 @@ const TopAppBar = () => { - - Rick e Morty Wiki - - + Rick e Morty Wiki + { onClose={handleCloseSnackBar} anchorOrigin={{ vertical: "top", horizontal: "center" }} > - Não encontrado usando esse filtro! + + Não foram encontrado personagens usando esse filtro! + ); diff --git a/src/containers/home/index.tsx b/src/containers/home/index.tsx index f34b89e2..67f29419 100644 --- a/src/containers/home/index.tsx +++ b/src/containers/home/index.tsx @@ -1,28 +1,24 @@ -import { useEffect, useContext, useState } from "react"; +import { useContext } from "react"; import { TopAppBar } from "../../components/topBar"; -import axios from "axios"; import styles from "./styles.module.scss"; import { CharactersContainer } from "../characters"; import { ColorModeContext } from "../../contexts"; +import { Box } from "@mui/material"; const HomePage = () => { const { mode } = useContext(ColorModeContext); return ( -
+ -
-
-
+ + ); }; diff --git a/src/containers/home/styles.module.scss b/src/containers/home/styles.module.scss index d69e8690..f5c06187 100644 --- a/src/containers/home/styles.module.scss +++ b/src/containers/home/styles.module.scss @@ -1,7 +1,10 @@ .page_info { display: flex; flex-direction: row; - + grid-area: "characters"; + margin: 24px; + background: #bbbdd6; + color: black; } .container { @@ -9,4 +12,10 @@ "characters"; display: grid; grid-template-rows: 10% 90%; + height: 100%; +} + +.dark_mode { + background: #36385a; + color: white; } \ No newline at end of file diff --git a/src/styles.module.scss b/src/styles.module.scss new file mode 100644 index 00000000..a4915b3a --- /dev/null +++ b/src/styles.module.scss @@ -0,0 +1,8 @@ +.app_container { + height: 100%; + background: #dddeeb +} + +.dark_mode { + background: #484b78 +} \ No newline at end of file From d61f185f6efb5375e5eedf49d910b0047ab9f782 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jo=C3=A3o=20Victor?= Date: Tue, 31 Jan 2023 16:03:44 -0300 Subject: [PATCH 12/17] refactor: create shared components and change inline style to a file --- .../characterCard/detailsCard/index.tsx | 97 +++++++++ .../detailsCard/styles.module.scss | 26 +++ src/components/characterCard/index.tsx | 149 +++---------- .../characterCard/styles.module.scss | 28 +++ src/components/primaryButton/index.tsx | 26 +++ .../primaryButton/styles.module.scss | 7 + src/components/searchInput/index.tsx | 34 +++ src/components/searchInput/styles.module.scss | 16 ++ src/components/snackbar/index.tsx | 24 +++ .../characters/filtersForm/index.tsx | 109 ++++++++++ .../characters/filtersForm/styles.module.scss | 20 ++ src/containers/characters/index.tsx | 196 ++++-------------- src/types/index.tsx | 20 ++ src/utils/index.tsx | 3 + 14 files changed, 475 insertions(+), 280 deletions(-) create mode 100644 src/components/characterCard/detailsCard/index.tsx create mode 100644 src/components/characterCard/detailsCard/styles.module.scss create mode 100644 src/components/characterCard/styles.module.scss create mode 100644 src/components/primaryButton/index.tsx create mode 100644 src/components/primaryButton/styles.module.scss create mode 100644 src/components/searchInput/index.tsx create mode 100644 src/components/searchInput/styles.module.scss create mode 100644 src/components/snackbar/index.tsx create mode 100644 src/containers/characters/filtersForm/index.tsx create mode 100644 src/containers/characters/filtersForm/styles.module.scss create mode 100644 src/types/index.tsx create mode 100644 src/utils/index.tsx diff --git a/src/components/characterCard/detailsCard/index.tsx b/src/components/characterCard/detailsCard/index.tsx new file mode 100644 index 00000000..032de40b --- /dev/null +++ b/src/components/characterCard/detailsCard/index.tsx @@ -0,0 +1,97 @@ +import { useContext } from "react"; +import { ColorModeContext } from "../../../contexts"; +import { + Box, + Dialog, + DialogActions, + DialogContent, + DialogTitle, + Typography, +} from "@mui/material"; +import BabyChangingStationIcon from "@mui/icons-material/BabyChangingStation"; +import MaleIcon from "@mui/icons-material/Male"; +import FemaleIcon from "@mui/icons-material/Female"; +import TransgenderIcon from "@mui/icons-material/Transgender"; +import BlockIcon from "@mui/icons-material/Block"; +import styles from "./styles.module.scss"; +import { PrimaryButton } from "../../primaryButton"; +import { CharacterData } from "../../../types"; + +interface DetailsCardProps { + open: boolean; + handleClose: () => void; + charData: CharacterData; +} + +const DetailsCard = ({ open, handleClose, charData }: DetailsCardProps) => { + const { mode } = useContext(ColorModeContext); + + const GenderList: any = { + Male: ( + + ), + Female: ( + + ), + genderless: ( + + ), + unknown: ( + + ), + }; + + return ( + + + + {charData.name} + + + + Espécie: {charData.species} + + + Gênero: {GenderList[charData.gender]} + + + Nascimento: {charData.origin.name} + + + + Localização: {charData.location.name} + + + + + + + + ); +}; + +export { DetailsCard }; diff --git a/src/components/characterCard/detailsCard/styles.module.scss b/src/components/characterCard/detailsCard/styles.module.scss new file mode 100644 index 00000000..4dde5188 --- /dev/null +++ b/src/components/characterCard/detailsCard/styles.module.scss @@ -0,0 +1,26 @@ +.icon { + color: #484b78 +} + +.icon_dark_mode { + color: #dddeeb +} + +.container { + background: #dddeeb; + color: black; +} + +.container_dark_moder { + background: #484b78; + color: white; +} + +.dialog_title { + display: flex; + justify-content: center +} + +.info_text { + display: flex; +} \ No newline at end of file diff --git a/src/components/characterCard/index.tsx b/src/components/characterCard/index.tsx index 40deb08b..fa11a97a 100644 --- a/src/components/characterCard/index.tsx +++ b/src/components/characterCard/index.tsx @@ -1,26 +1,23 @@ import { useContext, useState } from "react"; import { - Button, Card, CardActions, CardContent, CardMedia, Chip, - Dialog, - DialogActions, - DialogContent, - DialogTitle, Typography, } from "@mui/material"; import { ColorModeContext } from "../../contexts"; -import MaleIcon from "@mui/icons-material/Male"; -import FemaleIcon from "@mui/icons-material/Female"; -import TransgenderIcon from "@mui/icons-material/Transgender"; -import BlockIcon from "@mui/icons-material/Block"; -import BabyChangingStationIcon from "@mui/icons-material/BabyChangingStation"; -import { Box } from "@mui/system"; +import { DetailsCard } from "./detailsCard"; +import styles from "./styles.module.scss"; +import { PrimaryButton } from "../primaryButton"; +import { CharacterData } from "../../types"; -const CharacterCard = ({ charData }: any) => { +interface CharacterCardProps { + charData: CharacterData; +} + +const CharacterCard = ({ charData }: CharacterCardProps) => { const { mode } = useContext(ColorModeContext); const [openDialog, setOpenDialog] = useState(false); @@ -30,57 +27,15 @@ const CharacterCard = ({ charData }: any) => { unknown: "warning", }; - const GenderList: any = { - Male: ( - - ), - Female: ( - - ), - genderless: ( - - ), - unknown: ( - - ), - }; - - const handleClickOpen = () => { - setOpenDialog(true); - }; - const handleClose = () => { - setOpenDialog(false); + const handleToogleDialog = () => { + setOpenDialog(!openDialog); }; return ( { style={{ width: "40%" }} onClick={() => window.open(`${charData.image}`, "_blank")} /> - + {charData.name} - - + + - - - - {charData.name} - - - - Espécie: {charData.species} - - - Gênero: {GenderList[charData.gender]} - - - Nascimento: {charData.origin.name} - - - - Localização: {charData.location.name} - - - - - - - + ); }; diff --git a/src/components/characterCard/styles.module.scss b/src/components/characterCard/styles.module.scss new file mode 100644 index 00000000..469f5ee0 --- /dev/null +++ b/src/components/characterCard/styles.module.scss @@ -0,0 +1,28 @@ +.card_container { + display: flex; + flex-direction: row; + height: 150px; + background: #dddeeb; + color: black; + box-shadow: 1px 1px 1px 1px #484b78; +} + +.card_container_dark_mode { + background: #484b78 !important; + color: white !important; + box-shadow: 1px 1px 1px 1px #dddeeb !important; +} + +.card_content { + padding-bottom: 0px; + padding: 8px; + width: 100%; + position: relative; +} + +.card_actions { + padding: 0px; + position: absolute; + bottom: 0; + right: 0; +} \ No newline at end of file diff --git a/src/components/primaryButton/index.tsx b/src/components/primaryButton/index.tsx new file mode 100644 index 00000000..368d453c --- /dev/null +++ b/src/components/primaryButton/index.tsx @@ -0,0 +1,26 @@ +import { useContext } from "react"; +import { Button } from "@mui/material"; +import styles from "./styles.module.scss"; +import { ColorModeContext } from "../../contexts"; + +interface ButtonProps { + buttonName: string; + handleClick: () => void; +} + +const PrimaryButton = ({ buttonName, handleClick }: ButtonProps) => { + const { mode } = useContext(ColorModeContext); + + return ( + + ); +}; + +export { PrimaryButton }; diff --git a/src/components/primaryButton/styles.module.scss b/src/components/primaryButton/styles.module.scss new file mode 100644 index 00000000..6acf8458 --- /dev/null +++ b/src/components/primaryButton/styles.module.scss @@ -0,0 +1,7 @@ +.button { + color: #484b78 !important +} + +.button_dark_mode { + color: #dddeeb !important +} \ No newline at end of file diff --git a/src/components/searchInput/index.tsx b/src/components/searchInput/index.tsx new file mode 100644 index 00000000..56bdb93a --- /dev/null +++ b/src/components/searchInput/index.tsx @@ -0,0 +1,34 @@ +import React, { useContext } from "react"; +import { Box } from "@mui/system"; +import { ColorModeContext } from "../../contexts"; +import SearchIcon from "@mui/icons-material/Search"; +import { InputBase } from "@mui/material"; +import styles from "./styles.module.scss"; + +interface SearchInputProps { + nameToSearch: string; + setNameToSearch: React.Dispatch>; +} + +const SearchInput = ({ nameToSearch, setNameToSearch }: SearchInputProps) => { + const { mode } = useContext(ColorModeContext); + + return ( + + + setNameToSearch(e.target.value)} + /> + + ); +}; + +export { SearchInput }; diff --git a/src/components/searchInput/styles.module.scss b/src/components/searchInput/styles.module.scss new file mode 100644 index 00000000..29fb7ec0 --- /dev/null +++ b/src/components/searchInput/styles.module.scss @@ -0,0 +1,16 @@ +.container { + border-radius: 100px; + display: flex; + align-items: center; + min-width: 300px; + padding: 4px 8px 4px 4px; + border: 1px solid #36385a; + color: black; + background: #bbbdd6 +} + +.container_dark_mode { + border: 1px solid #bbbdd6 !important; + color: white !important; + background: #36385a !important +} \ No newline at end of file diff --git a/src/components/snackbar/index.tsx b/src/components/snackbar/index.tsx new file mode 100644 index 00000000..e9f75073 --- /dev/null +++ b/src/components/snackbar/index.tsx @@ -0,0 +1,24 @@ +import { Alert, AlertColor, Snackbar } from "@mui/material"; + +interface SnackBarProps { + open: boolean; + onClose: () => void; + type: AlertColor; +} + +const SnackBar = ({ open, onClose, type }: SnackBarProps) => { + return ( + + + Não foram encontrado personagens usando esse filtro! + + + ); +}; + +export { SnackBar }; diff --git a/src/containers/characters/filtersForm/index.tsx b/src/containers/characters/filtersForm/index.tsx new file mode 100644 index 00000000..d677e8b1 --- /dev/null +++ b/src/containers/characters/filtersForm/index.tsx @@ -0,0 +1,109 @@ +import { useContext } from "react"; +import { + Dialog, + DialogActions, + DialogContent, + DialogTitle, + FormControl, + InputLabel, + MenuItem, + OutlinedInput, + Select, + SelectChangeEvent, +} from "@mui/material"; +import { Box } from "@mui/system"; +import { PrimaryButton } from "../../../components/primaryButton"; +import { ColorModeContext } from "../../../contexts"; +import { capitalizeFirstLetter } from "../../../utils"; +import styles from "./styles.module.scss"; + +interface FiltersForm { + open: boolean; + handleClose: () => void; + handleFilter: () => void; + genderName: string; + handleGenderName: (event: SelectChangeEvent) => void; + statusName: string; + handleStatusName: (event: SelectChangeEvent) => void; + speciesName: string; + handleSpecieName: (event: SelectChangeEvent) => void; +} + +const FiltersForm = ({ + open, + handleClose, + handleFilter, + genderName, + handleGenderName, + statusName, + handleStatusName, + speciesName, + handleSpecieName, +}: FiltersForm) => { + const { mode } = useContext(ColorModeContext); + + const genderOptions = ["female", "male", "genderless", "unknown"]; + const specieOptions = ["human", "humanoid"]; + const statusOptions = ["alive", "dead", "unknown"]; + + return ( + + + Mais Filtros + + + Gênero + + + + Status + + + + Espécie + + + + + + + + + ); +}; + +export { FiltersForm }; diff --git a/src/containers/characters/filtersForm/styles.module.scss b/src/containers/characters/filtersForm/styles.module.scss new file mode 100644 index 00000000..e792389c --- /dev/null +++ b/src/containers/characters/filtersForm/styles.module.scss @@ -0,0 +1,20 @@ +.container { + background: #dddeeb; + color: black; +} + +.container_dark_mode { + background: #484b78 !important; + color: white !important; +} + +.title { + display: flex; + justify-content: center; +} + +.dialog_content { + display: flex; + flex-direction: column; + padding: 24px 12px; +} \ No newline at end of file diff --git a/src/containers/characters/index.tsx b/src/containers/characters/index.tsx index 88b65ddd..e3decd5d 100644 --- a/src/containers/characters/index.tsx +++ b/src/containers/characters/index.tsx @@ -1,29 +1,15 @@ import React, { useContext, useEffect, useState } from "react"; import { Box } from "@mui/system"; import axios from "axios"; -import { - Alert, - Button, - Dialog, - DialogActions, - DialogContent, - DialogTitle, - FormControl, - InputBase, - InputLabel, - MenuItem, - OutlinedInput, - Select, - SelectChangeEvent, - Snackbar, - TablePagination, - Typography, -} from "@mui/material"; +import { SelectChangeEvent, TablePagination, Typography } from "@mui/material"; import { LoadingIcon } from "../../components/loading"; import styles from "./styles.module.scss"; import { ColorModeContext } from "../../contexts"; import { CharacterCard } from "../../components/characterCard"; -import SearchIcon from "@mui/icons-material/Search"; +import { SearchInput } from "../../components/searchInput"; +import { SnackBar } from "../../components/snackbar"; +import { PrimaryButton } from "../../components/primaryButton"; +import { FiltersForm } from "./filtersForm"; const CharactersContainer = () => { const { mode } = useContext(ColorModeContext); @@ -103,7 +89,6 @@ const CharactersContainer = () => { } = event; setGenderName(value); }; - const genderOptions = ["female", "male", "genderless", "unknown"]; const handleChangeSpecie = (event: SelectChangeEvent) => { const { @@ -112,8 +97,6 @@ const CharactersContainer = () => { setSpeciesName(value); }; - const specieOptions = ["human", "humanoid"]; - const handleChangeStatus = (event: SelectChangeEvent) => { const { target: { value }, @@ -121,17 +104,12 @@ const CharactersContainer = () => { setStatusName(value); }; - const statusOptions = ["alive", "dead", "unknown"]; - - const handleClickOpenFilters = () => { - setOpenMoreFilters(true); - }; - const handleCloseFilters = () => { - setOpenMoreFilters(false); + const handleToogleFilters = () => { + setOpenMoreFilters(!openMoreFilters); }; - const handleFilter = () => { - handleCloseFilters(); + const handleFiltersChar = () => { + handleToogleFilters(); getCharactersList(filters); }; @@ -147,50 +125,24 @@ const CharactersContainer = () => { ) : ( <> -
- - setNameToSearch(e.target.value)} + + + -
-
- - - -
+ + +
{
)} - - - - - Mais Filtros - - - - Gênero - - - - Status - - - - Espécie - - - - - - - - - - + - - Não foram encontrado personagens usando esse filtro! - - + type="error" + /> ); }; diff --git a/src/types/index.tsx b/src/types/index.tsx new file mode 100644 index 00000000..325cd867 --- /dev/null +++ b/src/types/index.tsx @@ -0,0 +1,20 @@ +export interface CharacterData { + created: string; + episode: string[]; + gender: string; + id: number; + image: string; + location: { + name: string; + url: string; + }; + name: string; + origin: { + name: string; + url: string; + }; + species: string; + status: string; + type: string; + url: string; +} diff --git a/src/utils/index.tsx b/src/utils/index.tsx new file mode 100644 index 00000000..60dc87da --- /dev/null +++ b/src/utils/index.tsx @@ -0,0 +1,3 @@ +export const capitalizeFirstLetter = (word: string) => { + return word.charAt(0).toUpperCase() + word.slice(1); +}; From b9c64d910e8aaf146f0dc9b0ae2c7ef692f0547b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jo=C3=A3o=20Victor?= Date: Tue, 31 Jan 2023 16:11:01 -0300 Subject: [PATCH 13/17] refactor: add style inline to a new file --- .../detailsCard/styles.module.scss | 2 +- src/containers/characters/index.tsx | 58 ++++++++----------- src/containers/characters/styles.module.scss | 12 ++++ 3 files changed, 38 insertions(+), 34 deletions(-) diff --git a/src/components/characterCard/detailsCard/styles.module.scss b/src/components/characterCard/detailsCard/styles.module.scss index 4dde5188..1a916b94 100644 --- a/src/components/characterCard/detailsCard/styles.module.scss +++ b/src/components/characterCard/detailsCard/styles.module.scss @@ -11,7 +11,7 @@ color: black; } -.container_dark_moder { +.container_dark_mode { background: #484b78; color: white; } diff --git a/src/containers/characters/index.tsx b/src/containers/characters/index.tsx index e3decd5d..e2b618a5 100644 --- a/src/containers/characters/index.tsx +++ b/src/containers/characters/index.tsx @@ -15,15 +15,17 @@ const CharactersContainer = () => { const { mode } = useContext(ColorModeContext); const [characterList, setCharacterList] = useState([]); const [loading, setLoading] = useState("idle"); + const [paginationInfo, setPaginationInfo] = useState([]); const [page, setPage] = useState(0); const [rowsPerPage, setRowsPerPage] = useState(20); + const currentPage = (rowsPerPage * (page + 1)) / 20; + const [nameToSearch, setNameToSearch] = useState(""); const [genderName, setGenderName] = useState(""); const [speciesName, setSpeciesName] = useState(""); const [statusName, setStatusName] = useState(""); const [openMoreFilters, setOpenMoreFilters] = useState(false); - const currentPage = (rowsPerPage * (page + 1)) / 20; const filters = `?page=${currentPage}${ nameToSearch.length > 0 ? `&name=${nameToSearch}` : "" @@ -60,29 +62,15 @@ const CharactersContainer = () => { setPage(0); }; + useEffect(() => { + getCharactersList(`${filters}`); + }, [page, rowsPerPage]); + const handleSearchByName = () => { getCharactersList(filters); setPage(0); }; - const handleClearFilters = () => { - getCharactersList(""); - setNameToSearch(""); - setGenderName(""); - setSpeciesName(""); - setStatusName(""); - setPage(0); - getCharactersList(`?page=${1}`); - }; - - const handleCloseSnackBar = () => { - setLoading("idle"); - }; - - useEffect(() => { - getCharactersList(`${filters}`); - }, [page, rowsPerPage]); - const handleChangeGender = (event: SelectChangeEvent) => { const { target: { value }, @@ -108,18 +96,27 @@ const CharactersContainer = () => { setOpenMoreFilters(!openMoreFilters); }; + const handleClearFilters = () => { + getCharactersList(""); + setNameToSearch(""); + setGenderName(""); + setSpeciesName(""); + setStatusName(""); + setPage(0); + getCharactersList(`?page=${1}`); + }; + const handleFiltersChar = () => { handleToogleFilters(); getCharactersList(filters); }; + const handleCloseSnackBar = () => { + setLoading("idle"); + }; + return ( - + {loading === "loading" ? ( ) : ( @@ -144,16 +141,11 @@ const CharactersContainer = () => { /> -
+ Galerinha do Rick e Morty @@ -172,7 +164,7 @@ const CharactersContainer = () => { onRowsPerPageChange={handleChangeRowsPerPage} style={{ color: mode === "light" ? "black" : "white" }} /> -
+ )} Date: Tue, 31 Jan 2023 16:31:46 -0300 Subject: [PATCH 14/17] deploy --- .github/workflows/build.yml | 24 ++++++++++ README.md | 88 +++---------------------------------- 2 files changed, 31 insertions(+), 81 deletions(-) create mode 100644 .github/workflows/build.yml diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml new file mode 100644 index 00000000..ba1e27f0 --- /dev/null +++ b/.github/workflows/build.yml @@ -0,0 +1,24 @@ +name: deploy + +on: + push: + branches: + - joao-silverio + +jobs: + deploy: + runs-on: ubuntu-18.04 + steps: + - uses: actions/checkout@v2 + - uses: actions/setup-node@v1 + with: + node-version: "14.x" + - name: Build web-app + run: | + npm ci + npm run build + - name: Deploy to gh-pages + uses: peaceiris/actions-gh-pages@v3 + with: + github_token: ${{ secrets.GITHUB_TOKEN }} + publish_dir: ./build diff --git a/README.md b/README.md index a989b7e3..18967efe 100644 --- a/README.md +++ b/README.md @@ -1,87 +1,13 @@ -# Desafio para Front-end Developer na DoroTech +# Projeto: -Somos uma empresa com clientes que atuam em vários segmentos do mercado, com diferentes tecnologias, culturas e desafios. +Para realização do projeto, primeiramente defini as cores para a aplicação, tanto o light mode quando o black mode. Após isso, comecei a estrutura onde cada container/componente do projeto se encaixaria para fazer toda parte de "grid". Então, fui adicionando os containers/components um por vez, substituindo inicialmente o local deixado para eles. Depois, fiz a integração com a API e os filtros. Todo esse processo usando um design responsivo. Para finalizar, separei um pouco melhor alguns componentes dentro dos containers e coloquei os styles que ficaram inline dentro do seu devido lugar. -Gostamos de compor nossos times com profissionais multidisciplinares, que tenham alta capacidade de aprendizado, sejam detalhistas, resilientes, questionadores e curiosos. -Você, como **Front-end Developer**, será o responsável por implementar, dar manutenção, aplicar correções e propor soluções em projetos de software. +# Tecnologias: -## Orientações -Para executar o desafio de **Front-end Developer**, você **deverá utilizar framework React**, seguindo o [passo a passo](https://github.com/dorotech/frontend-test#etapas) para a execução, atendendo aos [critérios de aceitação](https://github.com/dorotech/frontend-test#crit%C3%A9rios-de-aceita%C3%A7%C3%A3o). +O projeto foi desenvolvido em React: https://pt-br.reactjs.org/docs/getting-started.html e TypeScript: https://www.typescriptlang.org/docs/ como principais ferramentas. Resolvi utilizar o TypeScript, pois ele auxilia e muito no desenvolvimento, pegando erros em tempo real. Para criação do projeto, foi usado o Vite: https://vitejs.dev/, ao invés do já conhecido CRA. Para o design, foi utilizado o MUI: https://mui.com/, antigo Material UI, para reaproveitar os components já criados por ele. Para consumo de API, utilizei o Axios:https://axios-http.com/docs/intro, também bem conhecido no desenvolvimento utilizando o React. E utilizei o SASS/SCSS como pré processador: https://sass-lang.com/documentation/ -## Desafio -Nossa equipe é apaixonada por **Rick and Morty**, o seu desafio será criar uma aplicação utilizando a API pública da série [https://rickandmortyapi.com/](https://rickandmortyapi.com/), para exibir a lista de personagens. -Veja a documentação [https://rickandmortyapi.com/documentation/#rest](https://rickandmortyapi.com/documentation/#rest). +# Como rodar: -Os requisitos da aplicação: +Para rodar, é necessário baixar o projeto do github, utilizar o npm install, para instalar as dependências. Após isso, rodar o comando npm run dev, que irá gerar um ip/porta. Clicar ou copiar esse ip e colocar no navegador. -- Como usuário, desejo visualizar na página inicial, uma lista de 20 personagens incialmente, contendo **foto**, **nome** e **status**, com o tamanho da paginação sendo dinamica, podendo ser selecionando, 5, 10 ou 20 itens por vez. -- Como usuário, desejo clicar em um personagem da lista, para visualizar informações detalhadas. (seja criativo a api contem diversas informaçoes) -- Como usuário, desejo filtrar os personagens por **nome**, **gênero**, **espécie** e **status**, alguns filtros são enums, seja criativo. -- Como usuário, desejo combinar varios filtros. -- Como usuário, gostaria de ter uma forma de acessar a imagem do pensonagem, abrindo a imagem em uma nova aba. - -## Etapas - -#### 1 - Fazer um fork desse repositório - -![https://github.com/dorotech/frontend-test/raw/main/img/print-tutorial-1.png](https://github.com/dorotech/frontend-test/raw/main/img/print-tutorial-1.png) - - -#### 2 - Criar um branch com o seu primeiro e último nome -```bash -git checkout -b joao-silva -``` - -#### 3 - Escreva a documentação da sua aplicação -Você deve, substituir o conteúdo do arquivo **README.md** e escrever a documentação da sua aplicação, com os seguintes tópicos: -- **Projeto**: Descreva o projeto e como você o executou. Seja objetivo. -- **Tecnologias**: Descreva quais tecnologias foram utilizadas, enumerando versões (se necessário) e os links para suas documentações, qual guia de estilos de código você utilizou com o link para a sua documentação, quais bibliotecas instalou e porque. -- **Como rodar**: Descreva como iniciar a sua aplicação -- **Link** para acessar o projeto. - -#### 4 - Faça uma Pull Request -Após implementada a solução, crie uma [pull request](https://github.com/dorotech/frontend-test/pulls) com o seu projeto para esse repositório, avise o recrutador. - -## Critérios de Aceitação -Para que seu teste tenha o mínimo necessário que atenda aos requisitos esperados, ele deve: -- Atender ao que foi proposto no [Desafio](https://github.com/dorotech/frontend-test#Desafio). -- Utilização de pré-processadores CSS (Sass, Less). -- Interfaces responsivas para desktop, tablets e smartphones. -- Compatibilidade entre browsers. -- Padrão de escrita CSS (BEM, OOCSS, SMACSS). -- Código TS escrito com base em algum guia de estilos: [AirBnB Standards](https://github.com/airbnb/javascript) ou [TypeScript Google Guide](https://google.github.io/styleguide/tsguide.html). -- Utilizar padrões semânticos em mensagens de commit. (Gostamos do padrão de commits do repositório [AngularJS](http://karma-runner.github.io/3.0/dev/git-commit-msg.html)) -- Projeto feito upload: [Firebase hosting](https://firebase.google.com/docs/hosting/quickstart?hl=pt-br) ou [GitHub Pages](https://pages.github.com/). -- Caso você nao consiga completar tudo e tenha algum receio, não se preocupe, iremos avaliar o que foi entregue, mesmo com pendências. -- O diferencial para este desafio: layout, ux e ui, bem como implementação de boas práticas de segurança, performance e/ou estrutura. -- [JSDOC](https://jsdoc.app/) nos principais itens do projeto. - - -## Dicas e Informações Valiosas - -#### O que gostaríamos de ver em seu teste: -- Upload do projeto em um seviço de hospedagem. -- Convenção de nome em classes, objetos, variáveis, métodos e etc. -- Layout encantador -- Faça commits regulares. Eles são melhores do que um commit gigantesco. Gostaríamos de ver commits organizados e padronizados, então capriche neles! -- Uso de libs como bootstrap, material, Evergreen e etc... -- Hooks é bem-vindo. -- Animações, Sobras, Menus, componentes de Libs de UX implementados. -- Projeto feito usando TypeScript -- **Bônus 1** Dark Mode, implementação sendo um botão que mude o padrão de cores da pagina para escuro e claro com 1 click. -- **Bônus 2** QueryParams para buscas, quando uma busca e realizada, exibir na URL o parâmetro da busca realizado, caso recaregar a página com a URL, usar o parâmetro para preencher os itens da pagina. -- **Bônus 3** Listagem de favoritos, com algum mecanismo de cache. -- **Bônus 4** Outros filtros além dos sugeridos na descrição inicial -- **Bônus 5** GitHub action como serviço de publicação do projeto pronto. - -**Observação:** Nenhum dos itens acima é obrigatório. - -#### O que o seu Teste não deve ter: -- Saber que não foi você quem implementou o projeto. -- Varias bibliotecas instaladas sem uso. -- Falta de organização de código. -- Falta de documentação. -- Nome de variáveis sem sentido ou sem padrão de nomes. -- Histórico de commits desorganizado e despadronizado. - -## Boa Sorte!! +# Link From 5a47ffcb73fd2a677252e03070c10d492b2a47c0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jo=C3=A3o=20Victor?= Date: Tue, 31 Jan 2023 16:36:07 -0300 Subject: [PATCH 15/17] delete deploy --- .github/workflows/build.yml | 24 ------------------------ README.md | 2 -- 2 files changed, 26 deletions(-) delete mode 100644 .github/workflows/build.yml diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml deleted file mode 100644 index ba1e27f0..00000000 --- a/.github/workflows/build.yml +++ /dev/null @@ -1,24 +0,0 @@ -name: deploy - -on: - push: - branches: - - joao-silverio - -jobs: - deploy: - runs-on: ubuntu-18.04 - steps: - - uses: actions/checkout@v2 - - uses: actions/setup-node@v1 - with: - node-version: "14.x" - - name: Build web-app - run: | - npm ci - npm run build - - name: Deploy to gh-pages - uses: peaceiris/actions-gh-pages@v3 - with: - github_token: ${{ secrets.GITHUB_TOKEN }} - publish_dir: ./build diff --git a/README.md b/README.md index 18967efe..3cfd34bd 100644 --- a/README.md +++ b/README.md @@ -9,5 +9,3 @@ O projeto foi desenvolvido em React: https://pt-br.reactjs.org/docs/getting-star # Como rodar: Para rodar, é necessário baixar o projeto do github, utilizar o npm install, para instalar as dependências. Após isso, rodar o comando npm run dev, que irá gerar um ip/porta. Clicar ou copiar esse ip e colocar no navegador. - -# Link From b63b1365abeb6e1e5c6ec67d1fa75932cac26e33 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jo=C3=A3o=20Victor?= Date: Tue, 31 Jan 2023 16:42:28 -0300 Subject: [PATCH 16/17] deploy --- .github/workflows/build.yml | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 .github/workflows/build.yml diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml new file mode 100644 index 00000000..0866c150 --- /dev/null +++ b/.github/workflows/build.yml @@ -0,0 +1,24 @@ +name: deploy + +on: + push: + branches: + - main + +jobs: + deploy: + runs-on: ubuntu-18.04 + steps: + - uses: actions/checkout@v2 + - uses: actions/setup-node@v1 + with: + node-version: "14.x" + - name: Build web-app + run: | + npm ci + npm run build + - name: Deploy to gh-pages + uses: peaceiris/actions-gh-pages@v3 + with: + github_token: ${{ secrets.GITHUB_TOKEN }} + publish_dir: ./build From 6480fbfeff1a44665a1bf327d2e5d2799b021e93 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jo=C3=A3o=20Victor?= Date: Tue, 31 Jan 2023 16:50:43 -0300 Subject: [PATCH 17/17] refactor: add vercel link --- .github/workflows/build.yml | 24 ------------------------ README.md | 4 ++++ 2 files changed, 4 insertions(+), 24 deletions(-) delete mode 100644 .github/workflows/build.yml diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml deleted file mode 100644 index 0866c150..00000000 --- a/.github/workflows/build.yml +++ /dev/null @@ -1,24 +0,0 @@ -name: deploy - -on: - push: - branches: - - main - -jobs: - deploy: - runs-on: ubuntu-18.04 - steps: - - uses: actions/checkout@v2 - - uses: actions/setup-node@v1 - with: - node-version: "14.x" - - name: Build web-app - run: | - npm ci - npm run build - - name: Deploy to gh-pages - uses: peaceiris/actions-gh-pages@v3 - with: - github_token: ${{ secrets.GITHUB_TOKEN }} - publish_dir: ./build diff --git a/README.md b/README.md index 3cfd34bd..cc350a47 100644 --- a/README.md +++ b/README.md @@ -9,3 +9,7 @@ O projeto foi desenvolvido em React: https://pt-br.reactjs.org/docs/getting-star # Como rodar: Para rodar, é necessário baixar o projeto do github, utilizar o npm install, para instalar as dependências. Após isso, rodar o comando npm run dev, que irá gerar um ip/porta. Clicar ou copiar esse ip e colocar no navegador. + +# Link + +https://rick-morty-test-yj2v.vercel.app/

9vE)P(_3M7()e;&6;>w03J2mn`w;@Z1^;=Htsn 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�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 literal 0 HcmV?d00001 diff --git a/src/components/loading/index.tsx b/src/components/loading/index.tsx new file mode 100644 index 00000000..aee5a89e --- /dev/null +++ b/src/components/loading/index.tsx @@ -0,0 +1,12 @@ +import portal from "../../assets/portal.png"; +import styles from "./styles.module.scss"; + +const LoadingIcon = () => { + return ( +