Commit 71ed96cd authored by 박민석's avatar 박민석

update main

parent 4fb3ebb9
File added
{} {
\ No newline at end of file "files.exclude": {
".editorconfig": true,
".eslintignore": true,
".vscode/": true,
"**/.gitignore": true,
"**/.gitkeep": true,
"node/": true,
"dist/": true,
"yarn.lock": true
},
"editor.codeActionsOnSave": {
"source.fixAll.eslint": "explicit"
},
"search.useGlobalIgnoreFiles": true
}
\ No newline at end of file
...@@ -2,9 +2,9 @@ ...@@ -2,9 +2,9 @@
<html lang="en"> <html lang="en">
<head> <head>
<meta charset="UTF-8" /> <meta charset="UTF-8" />
<link rel="icon" type="image/svg+xml" href="/vite.svg" /> <link rel="icon" type="image/png" href="./src/assets/images/favicon.ico" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Vite + React</title> <title>SW Lab</title>
</head> </head>
<body> <body>
<div id="root"></div> <div id="root"></div>
......
...@@ -12,6 +12,7 @@ ...@@ -12,6 +12,7 @@
"@react-three/fiber": "^8.16.2", "@react-three/fiber": "^8.16.2",
"react": "^18.2.0", "react": "^18.2.0",
"react-dom": "^18.2.0", "react-dom": "^18.2.0",
"react-icons": "^5.1.0",
"styled-components": "^6.1.8", "styled-components": "^6.1.8",
"three": "^0.163.0" "three": "^0.163.0"
}, },
...@@ -730,18 +731,10 @@ ...@@ -730,18 +731,10 @@
} }
} }
}, },
"node_modules/@react-three/fiber/node_modules/scheduler": {
"version": "0.21.0",
"resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.21.0.tgz",
"integrity": "sha512-1r87x5fz9MXqswA2ERLo0EbOAU74DpIUO090gIasYTqlVoJeMcl+Z1Rg7WHz+qtPujhS/hGIt9kxZOYBV3faRQ==",
"dependencies": {
"loose-envify": "^1.1.0"
}
},
"node_modules/@rollup/rollup-android-arm-eabi": { "node_modules/@rollup/rollup-android-arm-eabi": {
"version": "4.16.3", "version": "4.16.4",
"resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.16.3.tgz", "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.16.4.tgz",
"integrity": "sha512-1ACInKIT0pXmTYuPoJAL8sOT0lV3PEACFSVxnD03hGIojJ1CmbzZmLJyk2xew+yxqTlmx7xydkiJcBzdp0V+AQ==", "integrity": "sha512-GkhjAaQ8oUTOKE4g4gsZ0u8K/IHU1+2WQSgS1TwTcYvL+sjbaQjNHFXbOJ6kgqGHIO1DfUhI/Sphi9GkRT9K+Q==",
"cpu": [ "cpu": [
"arm" "arm"
], ],
...@@ -752,9 +745,9 @@ ...@@ -752,9 +745,9 @@
] ]
}, },
"node_modules/@rollup/rollup-android-arm64": { "node_modules/@rollup/rollup-android-arm64": {
"version": "4.16.3", "version": "4.16.4",
"resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.16.3.tgz", "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.16.4.tgz",
"integrity": "sha512-vGl+Bny8cawCM7ExugzqEB8ke3t7Pm9/mo+ciA9kJh6pMuNyM+31qhewMwHwseDZ/LtdW0SCocW1CsMxcq1Lsg==", "integrity": "sha512-Bvm6D+NPbGMQOcxvS1zUl8H7DWlywSXsphAeOnVeiZLQ+0J6Is8T7SrjGTH29KtYkiY9vld8ZnpV3G2EPbom+w==",
"cpu": [ "cpu": [
"arm64" "arm64"
], ],
...@@ -765,9 +758,9 @@ ...@@ -765,9 +758,9 @@
] ]
}, },
"node_modules/@rollup/rollup-darwin-arm64": { "node_modules/@rollup/rollup-darwin-arm64": {
"version": "4.16.3", "version": "4.16.4",
"resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.16.3.tgz", "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.16.4.tgz",
"integrity": "sha512-Lj8J9WzQRvfWO4GfI+bBkIThUFV1PtI+es/YH/3cwUQ+edXu8Mre0JRJfRrAeRjPiHDPFFZaX51zfgHHEhgRAg==", "integrity": "sha512-i5d64MlnYBO9EkCOGe5vPR/EeDwjnKOGGdd7zKFhU5y8haKhQZTN2DgVtpODDMxUr4t2K90wTUJg7ilgND6bXw==",
"cpu": [ "cpu": [
"arm64" "arm64"
], ],
...@@ -778,9 +771,9 @@ ...@@ -778,9 +771,9 @@
] ]
}, },
"node_modules/@rollup/rollup-darwin-x64": { "node_modules/@rollup/rollup-darwin-x64": {
"version": "4.16.3", "version": "4.16.4",
"resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.16.3.tgz", "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.16.4.tgz",
"integrity": "sha512-NPPOXMTIWJk50lgZmRReEYJFvLG5rgMDzaVauWNB2MgFQYm9HuNXQdVVg3iEZ3A5StIzxhMlPjVyS5fsv4PJmg==", "integrity": "sha512-WZupV1+CdUYehaZqjaFTClJI72fjJEgTXdf4NbW69I9XyvdmztUExBtcI2yIIU6hJtYvtwS6pkTkHJz+k08mAQ==",
"cpu": [ "cpu": [
"x64" "x64"
], ],
...@@ -791,9 +784,9 @@ ...@@ -791,9 +784,9 @@
] ]
}, },
"node_modules/@rollup/rollup-linux-arm-gnueabihf": { "node_modules/@rollup/rollup-linux-arm-gnueabihf": {
"version": "4.16.3", "version": "4.16.4",
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.16.3.tgz", "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.16.4.tgz",
"integrity": "sha512-ij4tv1XtWcDScaTgoMnvDEYZ2Wjl2ZhDFEyftjBKu6sNNLHIkKuXBol/bVSh+md5zSJ6em9hUXyPO3cVPCsl4Q==", "integrity": "sha512-ADm/xt86JUnmAfA9mBqFcRp//RVRt1ohGOYF6yL+IFCYqOBNwy5lbEK05xTsEoJq+/tJzg8ICUtS82WinJRuIw==",
"cpu": [ "cpu": [
"arm" "arm"
], ],
...@@ -804,9 +797,9 @@ ...@@ -804,9 +797,9 @@
] ]
}, },
"node_modules/@rollup/rollup-linux-arm-musleabihf": { "node_modules/@rollup/rollup-linux-arm-musleabihf": {
"version": "4.16.3", "version": "4.16.4",
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.16.3.tgz", "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.16.4.tgz",
"integrity": "sha512-MTMAl30dzcfYB+smHe1sJuS2P1/hB8pqylkCe0/8/Lo8CADjy/eM8x43nBoR5eqcYgpOtCh7IgHpvqSMAE38xw==", "integrity": "sha512-tJfJaXPiFAG+Jn3cutp7mCs1ePltuAgRqdDZrzb1aeE3TktWWJ+g7xK9SNlaSUFw6IU4QgOxAY4rA+wZUT5Wfg==",
"cpu": [ "cpu": [
"arm" "arm"
], ],
...@@ -817,9 +810,9 @@ ...@@ -817,9 +810,9 @@
] ]
}, },
"node_modules/@rollup/rollup-linux-arm64-gnu": { "node_modules/@rollup/rollup-linux-arm64-gnu": {
"version": "4.16.3", "version": "4.16.4",
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.16.3.tgz", "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.16.4.tgz",
"integrity": "sha512-vY3fAg6JLDoNh781HHHMPvt8K6RWG3OmEj3xI9BOFSQTD5PNaGKvCB815MyGlDnFYUw7lH+WvvQqoBwLtRDR1A==", "integrity": "sha512-7dy1BzQkgYlUTapDTvK997cgi0Orh5Iu7JlZVBy1MBURk7/HSbHkzRnXZa19ozy+wwD8/SlpJnOOckuNZtJR9w==",
"cpu": [ "cpu": [
"arm64" "arm64"
], ],
...@@ -830,9 +823,9 @@ ...@@ -830,9 +823,9 @@
] ]
}, },
"node_modules/@rollup/rollup-linux-arm64-musl": { "node_modules/@rollup/rollup-linux-arm64-musl": {
"version": "4.16.3", "version": "4.16.4",
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.16.3.tgz", "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.16.4.tgz",
"integrity": "sha512-61SpQGBSb8QkfV/hUYWezlEig4ro55t8NcE5wWmy1bqRsRVHCEDkF534d+Lln/YeLUoSWtJHvvG3bx9lH/S6uA==", "integrity": "sha512-zsFwdUw5XLD1gQe0aoU2HVceI6NEW7q7m05wA46eUAyrkeNYExObfRFQcvA6zw8lfRc5BHtan3tBpo+kqEOxmg==",
"cpu": [ "cpu": [
"arm64" "arm64"
], ],
...@@ -843,9 +836,9 @@ ...@@ -843,9 +836,9 @@
] ]
}, },
"node_modules/@rollup/rollup-linux-powerpc64le-gnu": { "node_modules/@rollup/rollup-linux-powerpc64le-gnu": {
"version": "4.16.3", "version": "4.16.4",
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.16.3.tgz", "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.16.4.tgz",
"integrity": "sha512-4XGexJthsNhEEgv/zK4/NnAOjYKoeCsIoT+GkqTY2u3rse0lbJ8ft1bpDCdlkvifsLDL2uwe4fn8PLR4IMTKQQ==", "integrity": "sha512-p8C3NnxXooRdNrdv6dBmRTddEapfESEUflpICDNKXpHvTjRRq1J82CbU5G3XfebIZyI3B0s074JHMWD36qOW6w==",
"cpu": [ "cpu": [
"ppc64" "ppc64"
], ],
...@@ -856,9 +849,9 @@ ...@@ -856,9 +849,9 @@
] ]
}, },
"node_modules/@rollup/rollup-linux-riscv64-gnu": { "node_modules/@rollup/rollup-linux-riscv64-gnu": {
"version": "4.16.3", "version": "4.16.4",
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.16.3.tgz", "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.16.4.tgz",
"integrity": "sha512-/pArXjqnEdhbQ1qe4CTTlJ6/GjWGdWNRucKAp4fqKnKf7QC0BES3QEV34ACumHHQ4uEGt4GctF2ISCMRhkli0A==", "integrity": "sha512-Lh/8ckoar4s4Id2foY7jNgitTOUQczwMWNYi+Mjt0eQ9LKhr6sK477REqQkmy8YHY3Ca3A2JJVdXnfb3Rrwkng==",
"cpu": [ "cpu": [
"riscv64" "riscv64"
], ],
...@@ -869,9 +862,9 @@ ...@@ -869,9 +862,9 @@
] ]
}, },
"node_modules/@rollup/rollup-linux-s390x-gnu": { "node_modules/@rollup/rollup-linux-s390x-gnu": {
"version": "4.16.3", "version": "4.16.4",
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.16.3.tgz", "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.16.4.tgz",
"integrity": "sha512-vu4f3Y8iwjtRfSZdmtP8nC1jmRx1IrRVo2cLQlQfpFZ0e2AE9YbPgfIzpuK+i3C4zFETaLLNGezbBns2NuS/uA==", "integrity": "sha512-1xwwn9ZCQYuqGmulGsTZoKrrn0z2fAur2ujE60QgyDpHmBbXbxLaQiEvzJWDrscRq43c8DnuHx3QorhMTZgisQ==",
"cpu": [ "cpu": [
"s390x" "s390x"
], ],
...@@ -882,9 +875,9 @@ ...@@ -882,9 +875,9 @@
] ]
}, },
"node_modules/@rollup/rollup-linux-x64-gnu": { "node_modules/@rollup/rollup-linux-x64-gnu": {
"version": "4.16.3", "version": "4.16.4",
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.16.3.tgz", "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.16.4.tgz",
"integrity": "sha512-n4HEgIJulNSmAKT3SYF/1wuzf9od14woSBseNkzur7a+KJIbh2Jb+J9KIsdGt3jJnsLW0BT1Sj6MiwL4Zzku6Q==", "integrity": "sha512-LuOGGKAJ7dfRtxVnO1i3qWc6N9sh0Em/8aZ3CezixSTM+E9Oq3OvTsvC4sm6wWjzpsIlOCnZjdluINKESflJLA==",
"cpu": [ "cpu": [
"x64" "x64"
], ],
...@@ -895,9 +888,9 @@ ...@@ -895,9 +888,9 @@
] ]
}, },
"node_modules/@rollup/rollup-linux-x64-musl": { "node_modules/@rollup/rollup-linux-x64-musl": {
"version": "4.16.3", "version": "4.16.4",
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.16.3.tgz", "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.16.4.tgz",
"integrity": "sha512-guO/4N1884ig2AzTKPc6qA7OTnFMUEg/X2wiesywRO1eRD7FzHiaiTQQOLFmnUXWj2pgQXIT1g5g3e2RpezXcQ==", "integrity": "sha512-ch86i7KkJKkLybDP2AtySFTRi5fM3KXp0PnHocHuJMdZwu7BuyIKi35BE9guMlmTpwwBTB3ljHj9IQXnTCD0vA==",
"cpu": [ "cpu": [
"x64" "x64"
], ],
...@@ -908,9 +901,9 @@ ...@@ -908,9 +901,9 @@
] ]
}, },
"node_modules/@rollup/rollup-win32-arm64-msvc": { "node_modules/@rollup/rollup-win32-arm64-msvc": {
"version": "4.16.3", "version": "4.16.4",
"resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.16.3.tgz", "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.16.4.tgz",
"integrity": "sha512-+rxD3memdkhGz0NhNqbYHXBoA33MoHBK4uubZjF1IeQv1Psi6tqgsCcC6vwQjxBM1qoCqOQQBy0cgNbbZKnGUg==", "integrity": "sha512-Ma4PwyLfOWZWayfEsNQzTDBVW8PZ6TUUN1uFTBQbF2Chv/+sjenE86lpiEwj2FiviSmSZ4Ap4MaAfl1ciF4aSA==",
"cpu": [ "cpu": [
"arm64" "arm64"
], ],
...@@ -921,9 +914,9 @@ ...@@ -921,9 +914,9 @@
] ]
}, },
"node_modules/@rollup/rollup-win32-ia32-msvc": { "node_modules/@rollup/rollup-win32-ia32-msvc": {
"version": "4.16.3", "version": "4.16.4",
"resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.16.3.tgz", "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.16.4.tgz",
"integrity": "sha512-0NxVbLhBXmwANWWbgZY/RdSkeuHEgF+u8Dc0qBowUVBYsR2y2vwVGjKgUcj1wtu3jpjs057io5g9HAPr3Icqjg==", "integrity": "sha512-9m/ZDrQsdo/c06uOlP3W9G2ENRVzgzbSXmXHT4hwVaDQhYcRpi9bgBT0FTG9OhESxwK0WjQxYOSfv40cU+T69w==",
"cpu": [ "cpu": [
"ia32" "ia32"
], ],
...@@ -934,9 +927,9 @@ ...@@ -934,9 +927,9 @@
] ]
}, },
"node_modules/@rollup/rollup-win32-x64-msvc": { "node_modules/@rollup/rollup-win32-x64-msvc": {
"version": "4.16.3", "version": "4.16.4",
"resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.16.3.tgz", "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.16.4.tgz",
"integrity": "sha512-hutnZavtOx/G4uVdgoZz5279By9NVbgmxOmGGgnzUjZYuwp2+NzGq6KXQmHXBWz7W/vottXn38QmKYAdQLa/vQ==", "integrity": "sha512-YunpoOAyGLDseanENHmbFvQSfVL5BxW3k7hhy0eN4rb3gS/ct75dVD0EXOWIqFT/nE8XYW6LP6vz6ctKRi0k9A==",
"cpu": [ "cpu": [
"x64" "x64"
], ],
...@@ -1175,6 +1168,17 @@ ...@@ -1175,6 +1168,17 @@
"integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==", "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==",
"dev": true "dev": true
}, },
"node_modules/@types/node": {
"version": "20.12.7",
"resolved": "https://registry.npmjs.org/@types/node/-/node-20.12.7.tgz",
"integrity": "sha512-wq0cICSkRLVaf3UGLMGItu/PtdY7oaXaI/RVU+xliKVOtRna3PRY57ZDfztpDL0n11vfymMUnXv8QwYCO7L1wg==",
"dev": true,
"optional": true,
"peer": true,
"dependencies": {
"undici-types": "~5.26.4"
}
},
"node_modules/@types/offscreencanvas": { "node_modules/@types/offscreencanvas": {
"version": "2019.7.3", "version": "2019.7.3",
"resolved": "https://registry.npmjs.org/@types/offscreencanvas/-/offscreencanvas-2019.7.3.tgz", "resolved": "https://registry.npmjs.org/@types/offscreencanvas/-/offscreencanvas-2019.7.3.tgz",
...@@ -3607,10 +3611,9 @@ ...@@ -3607,10 +3611,9 @@
} }
}, },
"node_modules/postcss": { "node_modules/postcss": {
"version": "8.4.38", "version": "8.4.31",
"resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.38.tgz", "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.31.tgz",
"integrity": "sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==", "integrity": "sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==",
"dev": true,
"funding": [ "funding": [
{ {
"type": "opencollective", "type": "opencollective",
...@@ -3626,9 +3629,9 @@ ...@@ -3626,9 +3629,9 @@
} }
], ],
"dependencies": { "dependencies": {
"nanoid": "^3.3.7", "nanoid": "^3.3.6",
"picocolors": "^1.0.0", "picocolors": "^1.0.0",
"source-map-js": "^1.2.0" "source-map-js": "^1.0.2"
}, },
"engines": { "engines": {
"node": "^10 || ^12 || >=14" "node": "^10 || ^12 || >=14"
...@@ -3735,6 +3738,22 @@ ...@@ -3735,6 +3738,22 @@
"react": "^18.2.0" "react": "^18.2.0"
} }
}, },
"node_modules/react-dom/node_modules/scheduler": {
"version": "0.23.0",
"resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.0.tgz",
"integrity": "sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==",
"dependencies": {
"loose-envify": "^1.1.0"
}
},
"node_modules/react-icons": {
"version": "5.1.0",
"resolved": "https://registry.npmjs.org/react-icons/-/react-icons-5.1.0.tgz",
"integrity": "sha512-D3zug1270S4hbSlIRJ0CUS97QE1yNNKDjzQe3HqY0aefp2CBn9VgzgES27sRR2gOvFK+0CNx/BW0ggOESp6fqQ==",
"peerDependencies": {
"react": "*"
}
},
"node_modules/react-is": { "node_modules/react-is": {
"version": "16.13.1", "version": "16.13.1",
"resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz",
...@@ -3755,14 +3774,6 @@ ...@@ -3755,14 +3774,6 @@
"react": "^18.0.0" "react": "^18.0.0"
} }
}, },
"node_modules/react-reconciler/node_modules/scheduler": {
"version": "0.21.0",
"resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.21.0.tgz",
"integrity": "sha512-1r87x5fz9MXqswA2ERLo0EbOAU74DpIUO090gIasYTqlVoJeMcl+Z1Rg7WHz+qtPujhS/hGIt9kxZOYBV3faRQ==",
"dependencies": {
"loose-envify": "^1.1.0"
}
},
"node_modules/react-use-measure": { "node_modules/react-use-measure": {
"version": "2.1.1", "version": "2.1.1",
"resolved": "https://registry.npmjs.org/react-use-measure/-/react-use-measure-2.1.1.tgz", "resolved": "https://registry.npmjs.org/react-use-measure/-/react-use-measure-2.1.1.tgz",
...@@ -3891,9 +3902,9 @@ ...@@ -3891,9 +3902,9 @@
} }
}, },
"node_modules/rollup": { "node_modules/rollup": {
"version": "4.16.3", "version": "4.16.4",
"resolved": "https://registry.npmjs.org/rollup/-/rollup-4.16.3.tgz", "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.16.4.tgz",
"integrity": "sha512-Ygm4fFO4usWcAG3Ud36Lmif5nudoi0X6QPLC+kRgrRjulAbmFkaTawP7fTIkRDnCNSf/4IAQzXM1T8e691kRtw==", "integrity": "sha512-kuaTJSUbz+Wsb2ATGvEknkI12XV40vIiHmLuFlejoo7HtDok/O5eDDD0UpCVY5bBX5U5RYo8wWP83H7ZsqVEnA==",
"dev": true, "dev": true,
"dependencies": { "dependencies": {
"@types/estree": "1.0.5" "@types/estree": "1.0.5"
...@@ -3906,22 +3917,22 @@ ...@@ -3906,22 +3917,22 @@
"npm": ">=8.0.0" "npm": ">=8.0.0"
}, },
"optionalDependencies": { "optionalDependencies": {
"@rollup/rollup-android-arm-eabi": "4.16.3", "@rollup/rollup-android-arm-eabi": "4.16.4",
"@rollup/rollup-android-arm64": "4.16.3", "@rollup/rollup-android-arm64": "4.16.4",
"@rollup/rollup-darwin-arm64": "4.16.3", "@rollup/rollup-darwin-arm64": "4.16.4",
"@rollup/rollup-darwin-x64": "4.16.3", "@rollup/rollup-darwin-x64": "4.16.4",
"@rollup/rollup-linux-arm-gnueabihf": "4.16.3", "@rollup/rollup-linux-arm-gnueabihf": "4.16.4",
"@rollup/rollup-linux-arm-musleabihf": "4.16.3", "@rollup/rollup-linux-arm-musleabihf": "4.16.4",
"@rollup/rollup-linux-arm64-gnu": "4.16.3", "@rollup/rollup-linux-arm64-gnu": "4.16.4",
"@rollup/rollup-linux-arm64-musl": "4.16.3", "@rollup/rollup-linux-arm64-musl": "4.16.4",
"@rollup/rollup-linux-powerpc64le-gnu": "4.16.3", "@rollup/rollup-linux-powerpc64le-gnu": "4.16.4",
"@rollup/rollup-linux-riscv64-gnu": "4.16.3", "@rollup/rollup-linux-riscv64-gnu": "4.16.4",
"@rollup/rollup-linux-s390x-gnu": "4.16.3", "@rollup/rollup-linux-s390x-gnu": "4.16.4",
"@rollup/rollup-linux-x64-gnu": "4.16.3", "@rollup/rollup-linux-x64-gnu": "4.16.4",
"@rollup/rollup-linux-x64-musl": "4.16.3", "@rollup/rollup-linux-x64-musl": "4.16.4",
"@rollup/rollup-win32-arm64-msvc": "4.16.3", "@rollup/rollup-win32-arm64-msvc": "4.16.4",
"@rollup/rollup-win32-ia32-msvc": "4.16.3", "@rollup/rollup-win32-ia32-msvc": "4.16.4",
"@rollup/rollup-win32-x64-msvc": "4.16.3", "@rollup/rollup-win32-x64-msvc": "4.16.4",
"fsevents": "~2.3.2" "fsevents": "~2.3.2"
} }
}, },
...@@ -4001,9 +4012,9 @@ ...@@ -4001,9 +4012,9 @@
} }
}, },
"node_modules/scheduler": { "node_modules/scheduler": {
"version": "0.23.0", "version": "0.21.0",
"resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.0.tgz", "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.21.0.tgz",
"integrity": "sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==", "integrity": "sha512-1r87x5fz9MXqswA2ERLo0EbOAU74DpIUO090gIasYTqlVoJeMcl+Z1Rg7WHz+qtPujhS/hGIt9kxZOYBV3faRQ==",
"dependencies": { "dependencies": {
"loose-envify": "^1.1.0" "loose-envify": "^1.1.0"
} }
...@@ -4243,33 +4254,6 @@ ...@@ -4243,33 +4254,6 @@
"resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.2.tgz", "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.2.tgz",
"integrity": "sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==" "integrity": "sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ=="
}, },
"node_modules/styled-components/node_modules/postcss": {
"version": "8.4.31",
"resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.31.tgz",
"integrity": "sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==",
"funding": [
{
"type": "opencollective",
"url": "https://opencollective.com/postcss/"
},
{
"type": "tidelift",
"url": "https://tidelift.com/funding/github/npm/postcss"
},
{
"type": "github",
"url": "https://github.com/sponsors/ai"
}
],
"dependencies": {
"nanoid": "^3.3.6",
"picocolors": "^1.0.0",
"source-map-js": "^1.0.2"
},
"engines": {
"node": "^10 || ^12 || >=14"
}
},
"node_modules/stylis": { "node_modules/stylis": {
"version": "4.3.1", "version": "4.3.1",
"resolved": "https://registry.npmjs.org/stylis/-/stylis-4.3.1.tgz", "resolved": "https://registry.npmjs.org/stylis/-/stylis-4.3.1.tgz",
...@@ -4538,6 +4522,14 @@ ...@@ -4538,6 +4522,14 @@
"url": "https://github.com/sponsors/ljharb" "url": "https://github.com/sponsors/ljharb"
} }
}, },
"node_modules/undici-types": {
"version": "5.26.5",
"resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz",
"integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==",
"dev": true,
"optional": true,
"peer": true
},
"node_modules/uri-js": { "node_modules/uri-js": {
"version": "4.4.1", "version": "4.4.1",
"resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz",
...@@ -4630,6 +4622,34 @@ ...@@ -4630,6 +4622,34 @@
} }
} }
}, },
"node_modules/vite/node_modules/postcss": {
"version": "8.4.38",
"resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.38.tgz",
"integrity": "sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==",
"dev": true,
"funding": [
{
"type": "opencollective",
"url": "https://opencollective.com/postcss/"
},
{
"type": "tidelift",
"url": "https://tidelift.com/funding/github/npm/postcss"
},
{
"type": "github",
"url": "https://github.com/sponsors/ai"
}
],
"dependencies": {
"nanoid": "^3.3.7",
"picocolors": "^1.0.0",
"source-map-js": "^1.2.0"
},
"engines": {
"node": "^10 || ^12 || >=14"
}
},
"node_modules/webgl-constants": { "node_modules/webgl-constants": {
"version": "1.1.1", "version": "1.1.1",
"resolved": "https://registry.npmjs.org/webgl-constants/-/webgl-constants-1.1.1.tgz", "resolved": "https://registry.npmjs.org/webgl-constants/-/webgl-constants-1.1.1.tgz",
......
...@@ -14,6 +14,7 @@ ...@@ -14,6 +14,7 @@
"@react-three/fiber": "^8.16.2", "@react-three/fiber": "^8.16.2",
"react": "^18.2.0", "react": "^18.2.0",
"react-dom": "^18.2.0", "react-dom": "^18.2.0",
"react-icons": "^5.1.0",
"styled-components": "^6.1.8", "styled-components": "^6.1.8",
"three": "^0.163.0" "three": "^0.163.0"
}, },
......
...@@ -2,12 +2,19 @@ ...@@ -2,12 +2,19 @@
import './styles/index.scss' import './styles/index.scss'
import Banner from './components/Banner' import Banner from './components/Banner'
import Header from './components/Header' import Header from './components/Header'
import Section from './components/Section'
import Card from './components/Card'
function App () { function App () {
return ( return (
<> <>
<Header /> <Header />
<Banner /> <Banner />
<Section>
<Card title='title1' subTitle='subTitle1' desc='desc1' />
<Card title='title1' subTitle='subTitle1' desc='desc1' />
<Card title='title1' subTitle='subTitle1' desc='desc1' />
</Section>
</> </>
) )
} }
......
...@@ -4,6 +4,8 @@ import { Canvas, useFrame } from '@react-three/fiber' ...@@ -4,6 +4,8 @@ import { Canvas, useFrame } from '@react-three/fiber'
import { Points, PointMaterial } from '@react-three/drei' import { Points, PointMaterial } from '@react-three/drei'
import * as random from 'maath/random/dist/maath-random.esm' import * as random from 'maath/random/dist/maath-random.esm'
import styled from 'styled-components' import styled from 'styled-components'
import { SiGithub } from 'react-icons/si'
import Button from './Button'
const Galaxy = (props) => { const Galaxy = (props) => {
const ref = useRef() const ref = useRef()
...@@ -14,11 +16,10 @@ const Galaxy = (props) => { ...@@ -14,11 +16,10 @@ const Galaxy = (props) => {
ref.current.rotation.y -= delta / 15 ref.current.rotation.y -= delta / 15
}) })
return ( return (
// <group rotation={[0, 0, Math.PI / 4]}>
<group rotation={[0, 0, Math.PI / 4]}> <group rotation={[0, 0, Math.PI / 4]}>
<Points ref={ref} positions={sphere} stride={3} frustumCulled={false} {...props}> <Points ref={ref} positions={sphere} stride={3} frustumCulled={false} {...props}>
{/* <PointMaterial transparent color="#ffa0e0" size={0.005} sizeAttenuation={true} depthWrite={false} /> */} {/* <PointMaterial transparent color="#ffa0e0" size={0.005} sizeAttenuation={true} depthWrite={false} /> */}
<PointMaterial transparent color='#2174e0' size={0.005} sizeAttenuation={true} depthWrite={false} /> <PointMaterial transparent color='#0072CE' size={0.005} sizeAttenuation={true} depthWrite={false} />
</Points> </Points>
</group> </group>
) )
...@@ -33,6 +34,11 @@ export default function Banner () { ...@@ -33,6 +34,11 @@ export default function Banner () {
<Overlay> <Overlay>
<BannerTitle type='main' fontSize='5em'>Bankware Global</BannerTitle> <BannerTitle type='main' fontSize='5em'>Bankware Global</BannerTitle>
<BannerTitle type='sub' fontSize='3.5em'>Software Lab.</BannerTitle> <BannerTitle type='sub' fontSize='3.5em'>Software Lab.</BannerTitle>
<BannerDesc>Analyzing new technologies and ideas • Developing innovative products and services</BannerDesc>
<ButtonGroup>
<Button text='Documetation' />
<Button text='GitHub' icon={<SiGithub />}/>
</ButtonGroup>
</Overlay> </Overlay>
</Wrapper> </Wrapper>
) )
...@@ -41,7 +47,7 @@ export default function Banner () { ...@@ -41,7 +47,7 @@ export default function Banner () {
const Wrapper = styled.div` const Wrapper = styled.div`
position: relative; position: relative;
width: 100%; width: 100%;
height: 600px; height: 510px;
background-color: #12071f; background-color: #12071f;
` `
const Overlay = styled.div` const Overlay = styled.div`
...@@ -57,7 +63,19 @@ const BannerTitle = styled.h1` ...@@ -57,7 +63,19 @@ const BannerTitle = styled.h1`
font-size: ${(props) => props.fontSize}; font-size: ${(props) => props.fontSize};
font-weight: 600; font-weight: 600;
letter-spacing: -0.05em; letter-spacing: -0.05em;
background: ${(props) => (props.type === 'main' ? 'linear-gradient(30deg, #2174e0, #fff)' : '#fff')}; background: ${(props) => (props.type === 'main' ? 'linear-gradient(30deg, #0072CE, #fff)' : '#fff')};
background-clip: text; background-clip: text;
-webkit-text-fill-color: transparent; -webkit-text-fill-color: transparent;
` `
const BannerDesc = styled.h3`
font-size: 1.5em;
font-weight: 400;
margin-top: 15px;
color: #fff;
`
const ButtonGroup = styled.div`
display: flex;
margin-top: 15px;
width: 100%;
justify-content: center;
`
// @ts-nocheck
import styled from 'styled-components'
export default function Button (props) {
const { icon, text } = props
return <Wrapper>
{text}
<span>{ icon }</span>
</Wrapper>
}
const Wrapper = styled.div`
cursor: pointer;
display: flex;
justify-content: center;
align-items: center;
padding: 12px 32px 10px 32px;
border: 2px solid #0072CE;
border-radius: 28px;
color: #0072CE;
font-weight: 600;
font-size: 1.5em;
margin: 14px;
&:hover {
background-color: #0072CE;
transition: 1s ease;
color: rgba(0, 0, 0, 1);
}
svg {
margin-top: 3px;
margin-left: 7px;
}
`
// @ts-nocheck
import styled from 'styled-components'
export default function Card (props) {
const { title, subTitle, desc } = props
return <Wrapper>
<div>{title}</div>
<div>{subTitle}</div>
<div>{desc}</div>
</Wrapper>
}
const Wrapper = styled.div`
width: 300px;
height: 500px;
border: 1px solid red;
border-radius: 10px;
background-color: #fff;
`
...@@ -34,10 +34,10 @@ const Wrapper = styled.div` ...@@ -34,10 +34,10 @@ const Wrapper = styled.div`
color: #fff; color: #fff;
` `
const Logo = styled.div` const Logo = styled.div`
margin-top: 10px; margin-top: 4px;
margin-right: 4px; margin-right: 4px;
width: 40px; width: 35px;
height: 45px; height: 40px;
background-image: url(${props => props.image}); background-image: url(${props => props.image});
background-size: contain; background-size: contain;
background-repeat: no-repeat; background-repeat: no-repeat;
......
// @ts-nocheck // @ts-nocheck
import styled from 'styled-components' import styled, { keyframes } from 'styled-components'
export default function Nav () { export default function Nav () {
return (<Menu> return (<Menu>
<MenuItem>Documentation</MenuItem> <MenuItem><p>Blog</p></MenuItem>
<MenuItem><p>Documentation</p></MenuItem>
</Menu>) </Menu>)
} }
const Menu = styled.div` const shine = keyframes`
0% {
background-position: 100% 50%;
}
100% {
background-position: 0% 50%;
}
`
const Menu = styled.ul`
display: flex; display: flex;
align-items: center; align-items: center;
` `
const MenuItem = styled.div` const MenuItem = styled.li`
margin: 0 1.875rem;
cursor: pointer; cursor: pointer;
font-weight: 600; font-weight: 600;
font-size: 20px; font-size: 20px;
&:hover {
p {
background: linear-gradient(270deg, rgba(255,255,255,1) 0%, rgba(0,212,255,1) 50%, rgba(0,114,206,1) 100%);
-webkit-background-clip: text;
background-clip: text;
-webkit-text-fill-color: transparent;
background-size: 500% auto;
animation: ${shine} 1500ms ease-in-out infinite alternate;
}
}
` `
// @ts-nocheck
import styled from 'styled-components'
export default function Section (props) {
return <Wrapper>
{props.children}
</Wrapper>
}
const Wrapper = styled.div`
display: flex;
justify-content: center;
padding: 80px 0;
`
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment