React инициализация

This commit is contained in:
grinikita 2025-04-14 21:14:49 +03:00
parent 520ad38f8d
commit 9550031481
15 changed files with 369 additions and 242 deletions

58
package-lock.json generated
View File

@ -10,10 +10,14 @@
"license": "ISC",
"dependencies": {
"handlebars-loader": "^1.7.3",
"react": "^19.1.0",
"react-dom": "^19.1.0",
"webpack": "^5.98.0",
"webpack-cli": "^6.0.1"
},
"devDependencies": {
"@types/react": "^19.1.1",
"@types/react-dom": "^19.1.2",
"copy-webpack-plugin": "^13.0.0",
"css-loader": "^7.1.2",
"html-webpack-plugin": "^5.6.3",
@ -137,6 +141,26 @@
"undici-types": "~6.20.0"
}
},
"node_modules/@types/react": {
"version": "19.1.1",
"resolved": "https://registry.npmjs.org/@types/react/-/react-19.1.1.tgz",
"integrity": "sha512-ePapxDL7qrgqSF67s0h9m412d9DbXyC1n59O2st+9rjuuamWsZuD2w55rqY12CbzsZ7uVXb5Nw0gEp9Z8MMutQ==",
"dev": true,
"license": "MIT",
"dependencies": {
"csstype": "^3.0.2"
}
},
"node_modules/@types/react-dom": {
"version": "19.1.2",
"resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-19.1.2.tgz",
"integrity": "sha512-XGJkWF41Qq305SKWEILa1O8vzhb3aOo3ogBlSmiqNko/WmRb6QIaweuZCXjKygVDXpzXb5wyxKTSOsmkuqj+Qw==",
"dev": true,
"license": "MIT",
"peerDependencies": {
"@types/react": "^19.0.0"
}
},
"node_modules/@webassemblyjs/ast": {
"version": "1.14.1",
"resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.14.1.tgz",
@ -741,6 +765,13 @@
"node": ">=4"
}
},
"node_modules/csstype": {
"version": "3.1.3",
"resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz",
"integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==",
"dev": true,
"license": "MIT"
},
"node_modules/dom-converter": {
"version": "0.2.0",
"resolved": "https://registry.npmjs.org/dom-converter/-/dom-converter-0.2.0.tgz",
@ -1810,6 +1841,27 @@
"safe-buffer": "^5.1.0"
}
},
"node_modules/react": {
"version": "19.1.0",
"resolved": "https://registry.npmjs.org/react/-/react-19.1.0.tgz",
"integrity": "sha512-FS+XFBNvn3GTAWq26joslQgWNoFu08F4kl0J4CgdNKADkdSGXQyTCnKteIAJy96Br6YbpEU1LSzV5dYtjMkMDg==",
"license": "MIT",
"engines": {
"node": ">=0.10.0"
}
},
"node_modules/react-dom": {
"version": "19.1.0",
"resolved": "https://registry.npmjs.org/react-dom/-/react-dom-19.1.0.tgz",
"integrity": "sha512-Xs1hdnE+DyKgeHJeJznQmYMIBG3TKIHJJT95Q58nHLSrElKlGQqDTR2HQ9fx5CN/Gk6Vh/kupBTDLU11/nDk/g==",
"license": "MIT",
"dependencies": {
"scheduler": "^0.26.0"
},
"peerDependencies": {
"react": "^19.1.0"
}
},
"node_modules/rechoir": {
"version": "0.8.0",
"resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.8.0.tgz",
@ -1916,6 +1968,12 @@
],
"license": "MIT"
},
"node_modules/scheduler": {
"version": "0.26.0",
"resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.26.0.tgz",
"integrity": "sha512-NlHwttCI/l5gCPR3D1nNXtWABUmBwvZpEQiD4IXSbIDq8BzLIK/7Ir5gTFSGZDUu37K5cMNp0hFtzO38sC7gWA==",
"license": "MIT"
},
"node_modules/schema-utils": {
"version": "4.3.0",
"resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.3.0.tgz",

View File

@ -11,10 +11,14 @@
"description": "",
"dependencies": {
"handlebars-loader": "^1.7.3",
"react": "^19.1.0",
"react-dom": "^19.1.0",
"webpack": "^5.98.0",
"webpack-cli": "^6.0.1"
},
"devDependencies": {
"@types/react": "^19.1.1",
"@types/react-dom": "^19.1.2",
"copy-webpack-plugin": "^13.0.0",
"css-loader": "^7.1.2",
"html-webpack-plugin": "^5.6.3",

View File

@ -1,7 +0,0 @@
{{#> views/layout}}
{{> views/header }}
<main>
{{> views/main-banner.html }}
{{> views/carusel }}
</main>
{{/views/layout}}

20
src/index.html Normal file
View File

@ -0,0 +1,20 @@
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport"
content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title>
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900"
rel="stylesheet">
<link href="https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900"
rel="stylesheet">
</head>
<body>
<div id="root"></div>
</body>
</html>

View File

@ -1,9 +0,0 @@
import './style.css'
import { initCarusel } from './components/carusel'
const container = document.querySelector<HTMLElement>('.nft-card-container')
const btnLeft = document.querySelector<HTMLButtonElement>('.top-nft .btn-left')
const btnRight = document.querySelector<HTMLButtonElement>('.top-nft .btn-right')
if (container && btnLeft && btnRight) {
initCarusel(container, btnLeft, btnRight)
}

19
src/index.tsx Normal file
View File

@ -0,0 +1,19 @@
import {createRoot} from "react-dom/client"
import React from 'react';
import './style.css'
import HomePage from "./pages/home";
const rootHtmlElement = document.getElementById('root')
if (rootHtmlElement) {
const root = createRoot(rootHtmlElement);
root.render(<HomePage />);
}
// import { initCarusel } from './components/carusel'
//
// const container = document.querySelector<HTMLElement>('.nft-card-container')
// const btnLeft = document.querySelector<HTMLButtonElement>('.top-nft .btn-left')
// const btnRight = document.querySelector<HTMLButtonElement>('.top-nft .btn-right')
// if (container && btnLeft && btnRight) {
// initCarusel(container, btnLeft, btnRight)
// }

View File

@ -0,0 +1,163 @@
import React from "react";
export const arrowEl = <svg className="hero-dots" width="120" height="400" viewBox="0 0 120 400" fill="none"
xmlns="http://www.w3.org/2000/svg">
<g opacity="0.5">
<rect y="207.423" width="2.83607" height="2.84073" fill="black"/>
<rect x="18.9062" y="207.423" width="2.83607" height="2.84073" fill="black"/>
<rect x="37.8145" y="207.423" width="2.83607" height="2.84073" fill="black"/>
<rect x="56.7217" y="207.423" width="2.83607" height="2.84073" fill="black"/>
<rect x="75.6279" y="207.423" width="2.83607" height="2.84073" fill="black"/>
<rect x="94.5361" y="207.423" width="2.83607" height="2.84073" fill="black"/>
<rect x="113.443" y="207.423" width="2.83607" height="2.84073" fill="black"/>
<rect y="226.36" width="2.83607" height="2.84073" fill="black"/>
<rect x="18.9062" y="226.36" width="2.83607" height="2.84073" fill="black"/>
<rect x="37.8145" y="226.36" width="2.83607" height="2.84073" fill="black"/>
<rect x="56.7217" y="226.36" width="2.83607" height="2.84073" fill="black"/>
<rect x="75.6279" y="226.36" width="2.83607" height="2.84073" fill="black"/>
<rect x="94.5361" y="226.36" width="2.83607" height="2.84073" fill="black"/>
<rect x="113.443" y="226.36" width="2.83607" height="2.84073" fill="black"/>
<rect y="245.3" width="2.83607" height="2.84073" fill="black"/>
<rect x="18.9062" y="245.3" width="2.83607" height="2.84073" fill="black"/>
<rect x="37.8145" y="245.3" width="2.83607" height="2.84073" fill="black"/>
<rect x="56.7217" y="245.3" width="2.83607" height="2.84073" fill="black"/>
<rect x="75.6279" y="245.3" width="2.83607" height="2.84073" fill="black"/>
<rect x="94.5361" y="245.3" width="2.83607" height="2.84073" fill="black"/>
<rect x="113.443" y="245.3" width="2.83607" height="2.84073" fill="black"/>
<rect y="264.238" width="2.83607" height="2.84073" fill="black"/>
<rect x="18.9062" y="264.238" width="2.83607" height="2.84073" fill="black"/>
<rect x="37.8145" y="264.238" width="2.83607" height="2.84073" fill="black"/>
<rect x="56.7217" y="264.238" width="2.83607" height="2.84073" fill="black"/>
<rect x="75.6279" y="264.238" width="2.83607" height="2.84073" fill="black"/>
<rect x="94.5361" y="264.238" width="2.83607" height="2.84073" fill="black"/>
<rect x="113.443" y="264.238" width="2.83607" height="2.84073" fill="black"/>
<rect y="283.176" width="2.83607" height="2.84073" fill="black"/>
<rect x="18.9062" y="283.176" width="2.83607" height="2.84073" fill="black"/>
<rect x="37.8145" y="283.176" width="2.83607" height="2.84073" fill="black"/>
<rect x="56.7217" y="283.176" width="2.83607" height="2.84073" fill="black"/>
<rect x="75.6279" y="283.176" width="2.83607" height="2.84073" fill="black"/>
<rect x="94.5361" y="283.176" width="2.83607" height="2.84073" fill="black"/>
<rect x="113.443" y="283.176" width="2.83607" height="2.84073" fill="black"/>
<rect y="302.114" width="2.83607" height="2.84073" fill="black"/>
<rect x="18.9062" y="302.114" width="2.83607" height="2.84073" fill="black"/>
<rect x="37.8145" y="302.114" width="2.83607" height="2.84073" fill="black"/>
<rect x="56.7217" y="302.114" width="2.83607" height="2.84073" fill="black"/>
<rect x="75.6279" y="302.114" width="2.83607" height="2.84073" fill="black"/>
<rect x="94.5361" y="302.114" width="2.83607" height="2.84073" fill="black"/>
<rect x="113.443" y="302.114" width="2.83607" height="2.84073" fill="black"/>
<rect y="321.052" width="2.83607" height="2.84073" fill="black"/>
<rect x="18.9062" y="321.052" width="2.83607" height="2.84073" fill="black"/>
<rect x="37.8145" y="321.052" width="2.83607" height="2.84073" fill="black"/>
<rect x="56.7217" y="321.052" width="2.83607" height="2.84073" fill="black"/>
<rect x="75.6279" y="321.052" width="2.83607" height="2.84073" fill="black"/>
<rect x="94.5361" y="321.052" width="2.83607" height="2.84073" fill="black"/>
<rect x="113.443" y="321.052" width="2.83607" height="2.84073" fill="black"/>
<rect y="339.989" width="2.83607" height="2.84073" fill="black"/>
<rect x="18.9062" y="339.991" width="2.83607" height="2.84073" fill="black"/>
<rect x="37.8145" y="339.991" width="2.83607" height="2.84073" fill="black"/>
<rect x="56.7217" y="339.991" width="2.83607" height="2.84073" fill="black"/>
<rect x="75.6279" y="339.991" width="2.83607" height="2.84073" fill="black"/>
<rect x="94.5361" y="339.991" width="2.83607" height="2.84073" fill="black"/>
<rect x="113.443" y="339.991" width="2.83607" height="2.84073" fill="black"/>
<rect y="358.929" width="2.83607" height="2.84073" fill="black"/>
<rect x="18.9062" y="358.929" width="2.83607" height="2.84073" fill="black"/>
<rect x="37.8145" y="358.929" width="2.83607" height="2.84073" fill="black"/>
<rect x="56.7217" y="358.929" width="2.83607" height="2.84073" fill="black"/>
<rect x="75.6279" y="358.929" width="2.83607" height="2.84073" fill="black"/>
<rect x="94.5361" y="358.929" width="2.83607" height="2.84073" fill="black"/>
<rect x="113.443" y="358.929" width="2.83607" height="2.84073" fill="black"/>
<rect y="377.866" width="2.83607" height="2.84073" fill="black"/>
<rect x="18.9062" y="377.866" width="2.83607" height="2.84073" fill="black"/>
<rect x="37.8145" y="377.866" width="2.83607" height="2.84073" fill="black"/>
<rect x="56.7217" y="377.866" width="2.83607" height="2.84073" fill="black"/>
<rect x="75.6279" y="377.866" width="2.83607" height="2.84073" fill="black"/>
<rect x="94.5361" y="377.866" width="2.83607" height="2.84073" fill="black"/>
<rect x="113.443" y="377.866" width="2.83607" height="2.84073" fill="black"/>
<rect y="396.805" width="2.83607" height="2.84073" fill="black"/>
<rect x="18.9062" y="396.806" width="2.83607" height="2.84073" fill="black"/>
<rect x="37.8145" y="396.806" width="2.83607" height="2.84073" fill="black"/>
<rect x="56.7217" y="396.806" width="2.83607" height="2.84073" fill="black"/>
<rect x="75.6279" y="396.806" width="2.83607" height="2.84073" fill="black"/>
<rect x="94.5361" y="396.806" width="2.83607" height="2.84073" fill="black"/>
<rect x="113.443" y="396.806" width="2.83607" height="2.84073" fill="black"/>
</g>
<g opacity="0.5">
<rect width="2.83607" height="2.84073" fill="black"/>
<rect x="18.9062" width="2.83607" height="2.84073" fill="black"/>
<rect x="37.8145" width="2.83607" height="2.84073" fill="black"/>
<rect x="56.7217" width="2.83607" height="2.84073" fill="black"/>
<rect x="75.6279" width="2.83607" height="2.84073" fill="black"/>
<rect x="94.5361" width="2.83607" height="2.84073" fill="black"/>
<rect x="113.443" width="2.83607" height="2.84073" fill="black"/>
<rect y="18.9375" width="2.83607" height="2.84073" fill="black"/>
<rect x="18.9062" y="18.9375" width="2.83607" height="2.84073" fill="black"/>
<rect x="37.8145" y="18.9375" width="2.83607" height="2.84073" fill="black"/>
<rect x="56.7217" y="18.9375" width="2.83607" height="2.84073" fill="black"/>
<rect x="75.6279" y="18.9375" width="2.83607" height="2.84073" fill="black"/>
<rect x="94.5361" y="18.9375" width="2.83607" height="2.84073" fill="black"/>
<rect x="113.443" y="18.9375" width="2.83607" height="2.84073" fill="black"/>
<rect y="37.877" width="2.83607" height="2.84073" fill="black"/>
<rect x="18.9062" y="37.877" width="2.83607" height="2.84073" fill="black"/>
<rect x="37.8145" y="37.877" width="2.83607" height="2.84073" fill="black"/>
<rect x="56.7217" y="37.877" width="2.83607" height="2.84073" fill="black"/>
<rect x="75.6279" y="37.877" width="2.83607" height="2.84073" fill="black"/>
<rect x="94.5361" y="37.877" width="2.83607" height="2.84073" fill="black"/>
<rect x="113.443" y="37.877" width="2.83607" height="2.84073" fill="black"/>
<rect y="56.8154" width="2.83607" height="2.84073" fill="black"/>
<rect x="18.9062" y="56.8154" width="2.83607" height="2.84073" fill="black"/>
<rect x="37.8145" y="56.8154" width="2.83607" height="2.84073" fill="black"/>
<rect x="56.7217" y="56.8154" width="2.83607" height="2.84073" fill="black"/>
<rect x="75.6279" y="56.8154" width="2.83607" height="2.84073" fill="black"/>
<rect x="94.5361" y="56.8154" width="2.83607" height="2.84073" fill="black"/>
<rect x="113.443" y="56.8154" width="2.83607" height="2.84073" fill="black"/>
<rect y="75.7529" width="2.83607" height="2.84073" fill="black"/>
<rect x="18.9062" y="75.7529" width="2.83607" height="2.84073" fill="black"/>
<rect x="37.8145" y="75.7529" width="2.83607" height="2.84073" fill="black"/>
<rect x="56.7217" y="75.7529" width="2.83607" height="2.84073" fill="black"/>
<rect x="75.6279" y="75.7529" width="2.83607" height="2.84073" fill="black"/>
<rect x="94.5361" y="75.7529" width="2.83607" height="2.84073" fill="black"/>
<rect x="113.443" y="75.7529" width="2.83607" height="2.84073" fill="black"/>
<rect y="94.6914" width="2.83607" height="2.84073" fill="black"/>
<rect x="18.9062" y="94.6914" width="2.83607" height="2.84073" fill="black"/>
<rect x="37.8145" y="94.6914" width="2.83607" height="2.84073" fill="black"/>
<rect x="56.7217" y="94.6914" width="2.83607" height="2.84073" fill="black"/>
<rect x="75.6279" y="94.6914" width="2.83607" height="2.84073" fill="black"/>
<rect x="94.5361" y="94.6914" width="2.83607" height="2.84073" fill="black"/>
<rect x="113.443" y="94.6914" width="2.83607" height="2.84073" fill="black"/>
<rect y="113.629" width="2.83607" height="2.84073" fill="black"/>
<rect x="18.9062" y="113.629" width="2.83607" height="2.84073" fill="black"/>
<rect x="37.8145" y="113.629" width="2.83607" height="2.84073" fill="black"/>
<rect x="56.7217" y="113.629" width="2.83607" height="2.84073" fill="black"/>
<rect x="75.6279" y="113.629" width="2.83607" height="2.84073" fill="black"/>
<rect x="94.5361" y="113.629" width="2.83607" height="2.84073" fill="black"/>
<rect x="113.443" y="113.629" width="2.83607" height="2.84073" fill="black"/>
<rect y="132.566" width="2.83607" height="2.84073" fill="black"/>
<rect x="18.9062" y="132.568" width="2.83607" height="2.84073" fill="black"/>
<rect x="37.8145" y="132.568" width="2.83607" height="2.84073" fill="black"/>
<rect x="56.7217" y="132.568" width="2.83607" height="2.84073" fill="black"/>
<rect x="75.6279" y="132.568" width="2.83607" height="2.84073" fill="black"/>
<rect x="94.5361" y="132.568" width="2.83607" height="2.84073" fill="black"/>
<rect x="113.443" y="132.568" width="2.83607" height="2.84073" fill="black"/>
<rect y="151.506" width="2.83607" height="2.84073" fill="black"/>
<rect x="18.9062" y="151.506" width="2.83607" height="2.84073" fill="black"/>
<rect x="37.8145" y="151.506" width="2.83607" height="2.84073" fill="black"/>
<rect x="56.7217" y="151.506" width="2.83607" height="2.84073" fill="black"/>
<rect x="75.6279" y="151.506" width="2.83607" height="2.84073" fill="black"/>
<rect x="94.5361" y="151.506" width="2.83607" height="2.84073" fill="black"/>
<rect x="113.443" y="151.506" width="2.83607" height="2.84073" fill="black"/>
<rect y="170.443" width="2.83607" height="2.84073" fill="black"/>
<rect x="18.9062" y="170.443" width="2.83607" height="2.84073" fill="black"/>
<rect x="37.8145" y="170.443" width="2.83607" height="2.84073" fill="black"/>
<rect x="56.7217" y="170.443" width="2.83607" height="2.84073" fill="black"/>
<rect x="75.6279" y="170.443" width="2.83607" height="2.84073" fill="black"/>
<rect x="94.5361" y="170.443" width="2.83607" height="2.84073" fill="black"/>
<rect x="113.443" y="170.443" width="2.83607" height="2.84073" fill="black"/>
<rect y="189.382" width="2.83607" height="2.84073" fill="black"/>
<rect x="18.9062" y="189.383" width="2.83607" height="2.84073" fill="black"/>
<rect x="37.8145" y="189.383" width="2.83607" height="2.84073" fill="black"/>
<rect x="56.7217" y="189.383" width="2.83607" height="2.84073" fill="black"/>
<rect x="75.6279" y="189.383" width="2.83607" height="2.84073" fill="black"/>
<rect x="94.5361" y="189.383" width="2.83607" height="2.84073" fill="black"/>
<rect x="113.443" y="189.383" width="2.83607" height="2.84073" fill="black"/>
</g>
</svg>

View File

@ -0,0 +1,61 @@
import React from "react";
import {arrowEl} from "./arrow";
import './style.css'
const Banner = () => {
return (
<div className="container hero">
<div className="hero-main">
<div className="hero-line"></div>
<h1 className="hero-title">Discover And Create NFTs</h1>
<p className="hero-description">Discover, Create and Sell NFTs On Our NFT Marketplace With Over
Thousands Of NFTs
And Get a <span className="hero-description__bold">$20 bonus</span>.</p>
<div className="hero-buttons">
<button className="button">Explore More</button>
<button className="button button-secondary">create NFT</button>
</div>
</div>
<div>
<div className="hero-cubs">
<div className="hero-cub1">
<svg className="cub1-arrow" width="131" height="136" viewBox="0 0 131 136" fill="none"
xmlns="http://www.w3.org/2000/svg">
<path
d="M15.6507 43.2949C32.4339 30.7255 51.9743 23.0115 72.683 28.6293C91.3749 33.7001 103.143 49.6308 90.5396 69.3323C84.5735 78.6586 71.8706 85.1866 61.8852 79.874C50.7606 73.9554 59.5288 59.017 66.6505 54.7089C83.2839 44.6468 106.696 49.3237 118.212 68.8676C131.849 92.0121 108.785 103.532 108.769 103.344"
stroke="black" stroke-width="3.37884" stroke-miterlimit="1.5" stroke-linecap="round"
stroke-linejoin="round"/>
<path
d="M19.2682 18.3819C19.8774 20.8064 19.5256 23.2335 19.2862 25.677C18.5006 33.7006 15.3552 42.0307 9.71151 47.2931C17.1379 44.0369 27.7921 42.6188 34.5374 48.3345"
stroke="black" stroke-width="3.37884" stroke-miterlimit="1.5" stroke-linecap="round"
stroke-linejoin="round"/>
</svg>
<div className="hero-cub2"></div>
</div>
<div className="lr-button">
<button className="lr-button-left">
<svg width="27" height="27" viewBox="0 0 27 27" fill="none"
xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd"
d="M11.2397 8.39036C10.8023 7.98657 10.1203 8.01384 9.71654 8.45128L6.23402 12.224C5.85287 12.6369 5.85287 13.2733 6.23401 13.6862L9.71653 17.459C10.1203 17.8965 10.8023 17.9237 11.2397 17.5199C11.6772 17.1161 11.7045 16.4342 11.3007 15.9967L9.48802 14.033L19.9611 14.033C20.5565 14.033 21.0391 13.5504 21.0391 12.9551C21.0391 12.3598 20.5565 11.8772 19.9611 11.8772L9.48805 11.8772L11.3007 9.91356C11.7044 9.47612 11.6772 8.79416 11.2397 8.39036Z"
fill="#929292"/>
</svg>
</button>
<div className="lr-button-delimiter"></div>
<button className="lr-button-right">
<svg width="27" height="27" viewBox="0 0 27 27" fill="none"
xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd"
d="M15.7603 8.39036C16.1977 7.98657 16.8797 8.01384 17.2835 8.45128L20.766 12.224C21.1471 12.6369 21.1471 13.2733 20.766 13.6862L17.2835 17.459C16.8797 17.8965 16.1977 17.9237 15.7603 17.5199C15.3228 17.1161 15.2955 16.4342 15.6993 15.9967L17.512 14.033L7.03886 14.033C6.44354 14.033 5.96094 13.5504 5.96094 12.9551C5.96094 12.3598 6.44354 11.8772 7.03886 11.8772L17.5119 11.8772L15.6993 9.91356C15.2956 9.47612 15.3228 8.79416 15.7603 8.39036Z"
fill="#23262F"/>
</svg>
</button>
</div>
</div>
{arrowEl}
</div>
</div>
)
}
export default Banner

View File

@ -52,7 +52,7 @@
width: 391px;
height: 394px;
border-radius: 25px;
background: center / cover no-repeat url('../images/img.png'), #F8F8F8;
background: center / cover no-repeat url('../../../images/img.png'), #F8F8F8;
}
.hero-cub1::after {
content: '';
@ -61,7 +61,7 @@
width: 100%;
height: 100%;
border-radius: 25px;
background: center / cover no-repeat url('../images/img.png'), #F8F8F8;
background: center / cover no-repeat url('../../../images/img.png'), #F8F8F8;
transform: translateY(25px);
filter: blur(83.7px);
@ -74,7 +74,7 @@
width: 320px;
height: 322px;
border-radius: 25px;
background: center / cover no-repeat url('../images/img_1.png'), #F8F8F8;
background: center / cover no-repeat url('../../../images/img_1.png'), #F8F8F8;
}
.hero-cub2::after {
content: '';
@ -83,7 +83,7 @@
width: 100%;
height: 100%;
border-radius: 25px;
background: center / cover no-repeat url('../images/img_1.png'), #F8F8F8;
background: center / cover no-repeat url('../../../images/img_1.png'), #F8F8F8;
transform: translateY(25px);
filter: blur(83.7px);

16
src/pages/home/index.tsx Normal file
View File

@ -0,0 +1,16 @@
import React from 'react';
import Header from "../../widgets/header";
import Banner from "./banner";
const HomePage = (): React.ReactElement => {
return (<>
<Header/>
<main>
<Banner/>
</main>
</>
)
}
export default HomePage

View File

@ -209,5 +209,3 @@ html {
background: #E6E8EC;
flex-shrink: 0;
}
@import "views/main-banner.css";

View File

@ -1,203 +0,0 @@
<div class="container hero">
<div class="hero-main">
<div class="hero-line"></div>
<h1 class="hero-title">Discover And Create NFTs</h1>
<p class="hero-description">Discover, Create and Sell NFTs On Our NFT Marketplace With Over Thousands Of NFTs
And Get a <span class="hero-description__bold">$20 bonus</span>.</p>
<div class="hero-buttons">
<button class="button">Explore More</button>
<button class="button button-secondary">create NFT</button>
</div>
</div>
<div>
<div class="hero-cubs">
<div class="hero-cub1">
<svg class="cub1-arrow" width="131" height="136" viewBox="0 0 131 136" fill="none"
xmlns="http://www.w3.org/2000/svg">
<path d="M15.6507 43.2949C32.4339 30.7255 51.9743 23.0115 72.683 28.6293C91.3749 33.7001 103.143 49.6308 90.5396 69.3323C84.5735 78.6586 71.8706 85.1866 61.8852 79.874C50.7606 73.9554 59.5288 59.017 66.6505 54.7089C83.2839 44.6468 106.696 49.3237 118.212 68.8676C131.849 92.0121 108.785 103.532 108.769 103.344"
stroke="black" stroke-width="3.37884" stroke-miterlimit="1.5" stroke-linecap="round"
stroke-linejoin="round"/>
<path d="M19.2682 18.3819C19.8774 20.8064 19.5256 23.2335 19.2862 25.677C18.5006 33.7006 15.3552 42.0307 9.71151 47.2931C17.1379 44.0369 27.7921 42.6188 34.5374 48.3345"
stroke="black" stroke-width="3.37884" stroke-miterlimit="1.5" stroke-linecap="round"
stroke-linejoin="round"/>
</svg>
<div class="hero-cub2"></div>
</div>
<div class="lr-button">
<button class="lr-button-left"><svg width="27" height="27" viewBox="0 0 27 27" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M11.2397 8.39036C10.8023 7.98657 10.1203 8.01384 9.71654 8.45128L6.23402 12.224C5.85287 12.6369 5.85287 13.2733 6.23401 13.6862L9.71653 17.459C10.1203 17.8965 10.8023 17.9237 11.2397 17.5199C11.6772 17.1161 11.7045 16.4342 11.3007 15.9967L9.48802 14.033L19.9611 14.033C20.5565 14.033 21.0391 13.5504 21.0391 12.9551C21.0391 12.3598 20.5565 11.8772 19.9611 11.8772L9.48805 11.8772L11.3007 9.91356C11.7044 9.47612 11.6772 8.79416 11.2397 8.39036Z" fill="#929292"/>
</svg>
</button>
<div class="lr-button-delimiter"></div>
<button class="lr-button-right"><svg width="27" height="27" viewBox="0 0 27 27" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M15.7603 8.39036C16.1977 7.98657 16.8797 8.01384 17.2835 8.45128L20.766 12.224C21.1471 12.6369 21.1471 13.2733 20.766 13.6862L17.2835 17.459C16.8797 17.8965 16.1977 17.9237 15.7603 17.5199C15.3228 17.1161 15.2955 16.4342 15.6993 15.9967L17.512 14.033L7.03886 14.033C6.44354 14.033 5.96094 13.5504 5.96094 12.9551C5.96094 12.3598 6.44354 11.8772 7.03886 11.8772L17.5119 11.8772L15.6993 9.91356C15.2956 9.47612 15.3228 8.79416 15.7603 8.39036Z" fill="#23262F"/>
</svg>
</button>
</div>
</div>
<svg class="hero-dots" width="120" height="400" viewBox="0 0 120 400" fill="none"
xmlns="http://www.w3.org/2000/svg">
<g opacity="0.5">
<rect y="207.423" width="2.83607" height="2.84073" fill="black"/>
<rect x="18.9062" y="207.423" width="2.83607" height="2.84073" fill="black"/>
<rect x="37.8145" y="207.423" width="2.83607" height="2.84073" fill="black"/>
<rect x="56.7217" y="207.423" width="2.83607" height="2.84073" fill="black"/>
<rect x="75.6279" y="207.423" width="2.83607" height="2.84073" fill="black"/>
<rect x="94.5361" y="207.423" width="2.83607" height="2.84073" fill="black"/>
<rect x="113.443" y="207.423" width="2.83607" height="2.84073" fill="black"/>
<rect y="226.36" width="2.83607" height="2.84073" fill="black"/>
<rect x="18.9062" y="226.36" width="2.83607" height="2.84073" fill="black"/>
<rect x="37.8145" y="226.36" width="2.83607" height="2.84073" fill="black"/>
<rect x="56.7217" y="226.36" width="2.83607" height="2.84073" fill="black"/>
<rect x="75.6279" y="226.36" width="2.83607" height="2.84073" fill="black"/>
<rect x="94.5361" y="226.36" width="2.83607" height="2.84073" fill="black"/>
<rect x="113.443" y="226.36" width="2.83607" height="2.84073" fill="black"/>
<rect y="245.3" width="2.83607" height="2.84073" fill="black"/>
<rect x="18.9062" y="245.3" width="2.83607" height="2.84073" fill="black"/>
<rect x="37.8145" y="245.3" width="2.83607" height="2.84073" fill="black"/>
<rect x="56.7217" y="245.3" width="2.83607" height="2.84073" fill="black"/>
<rect x="75.6279" y="245.3" width="2.83607" height="2.84073" fill="black"/>
<rect x="94.5361" y="245.3" width="2.83607" height="2.84073" fill="black"/>
<rect x="113.443" y="245.3" width="2.83607" height="2.84073" fill="black"/>
<rect y="264.238" width="2.83607" height="2.84073" fill="black"/>
<rect x="18.9062" y="264.238" width="2.83607" height="2.84073" fill="black"/>
<rect x="37.8145" y="264.238" width="2.83607" height="2.84073" fill="black"/>
<rect x="56.7217" y="264.238" width="2.83607" height="2.84073" fill="black"/>
<rect x="75.6279" y="264.238" width="2.83607" height="2.84073" fill="black"/>
<rect x="94.5361" y="264.238" width="2.83607" height="2.84073" fill="black"/>
<rect x="113.443" y="264.238" width="2.83607" height="2.84073" fill="black"/>
<rect y="283.176" width="2.83607" height="2.84073" fill="black"/>
<rect x="18.9062" y="283.176" width="2.83607" height="2.84073" fill="black"/>
<rect x="37.8145" y="283.176" width="2.83607" height="2.84073" fill="black"/>
<rect x="56.7217" y="283.176" width="2.83607" height="2.84073" fill="black"/>
<rect x="75.6279" y="283.176" width="2.83607" height="2.84073" fill="black"/>
<rect x="94.5361" y="283.176" width="2.83607" height="2.84073" fill="black"/>
<rect x="113.443" y="283.176" width="2.83607" height="2.84073" fill="black"/>
<rect y="302.114" width="2.83607" height="2.84073" fill="black"/>
<rect x="18.9062" y="302.114" width="2.83607" height="2.84073" fill="black"/>
<rect x="37.8145" y="302.114" width="2.83607" height="2.84073" fill="black"/>
<rect x="56.7217" y="302.114" width="2.83607" height="2.84073" fill="black"/>
<rect x="75.6279" y="302.114" width="2.83607" height="2.84073" fill="black"/>
<rect x="94.5361" y="302.114" width="2.83607" height="2.84073" fill="black"/>
<rect x="113.443" y="302.114" width="2.83607" height="2.84073" fill="black"/>
<rect y="321.052" width="2.83607" height="2.84073" fill="black"/>
<rect x="18.9062" y="321.052" width="2.83607" height="2.84073" fill="black"/>
<rect x="37.8145" y="321.052" width="2.83607" height="2.84073" fill="black"/>
<rect x="56.7217" y="321.052" width="2.83607" height="2.84073" fill="black"/>
<rect x="75.6279" y="321.052" width="2.83607" height="2.84073" fill="black"/>
<rect x="94.5361" y="321.052" width="2.83607" height="2.84073" fill="black"/>
<rect x="113.443" y="321.052" width="2.83607" height="2.84073" fill="black"/>
<rect y="339.989" width="2.83607" height="2.84073" fill="black"/>
<rect x="18.9062" y="339.991" width="2.83607" height="2.84073" fill="black"/>
<rect x="37.8145" y="339.991" width="2.83607" height="2.84073" fill="black"/>
<rect x="56.7217" y="339.991" width="2.83607" height="2.84073" fill="black"/>
<rect x="75.6279" y="339.991" width="2.83607" height="2.84073" fill="black"/>
<rect x="94.5361" y="339.991" width="2.83607" height="2.84073" fill="black"/>
<rect x="113.443" y="339.991" width="2.83607" height="2.84073" fill="black"/>
<rect y="358.929" width="2.83607" height="2.84073" fill="black"/>
<rect x="18.9062" y="358.929" width="2.83607" height="2.84073" fill="black"/>
<rect x="37.8145" y="358.929" width="2.83607" height="2.84073" fill="black"/>
<rect x="56.7217" y="358.929" width="2.83607" height="2.84073" fill="black"/>
<rect x="75.6279" y="358.929" width="2.83607" height="2.84073" fill="black"/>
<rect x="94.5361" y="358.929" width="2.83607" height="2.84073" fill="black"/>
<rect x="113.443" y="358.929" width="2.83607" height="2.84073" fill="black"/>
<rect y="377.866" width="2.83607" height="2.84073" fill="black"/>
<rect x="18.9062" y="377.866" width="2.83607" height="2.84073" fill="black"/>
<rect x="37.8145" y="377.866" width="2.83607" height="2.84073" fill="black"/>
<rect x="56.7217" y="377.866" width="2.83607" height="2.84073" fill="black"/>
<rect x="75.6279" y="377.866" width="2.83607" height="2.84073" fill="black"/>
<rect x="94.5361" y="377.866" width="2.83607" height="2.84073" fill="black"/>
<rect x="113.443" y="377.866" width="2.83607" height="2.84073" fill="black"/>
<rect y="396.805" width="2.83607" height="2.84073" fill="black"/>
<rect x="18.9062" y="396.806" width="2.83607" height="2.84073" fill="black"/>
<rect x="37.8145" y="396.806" width="2.83607" height="2.84073" fill="black"/>
<rect x="56.7217" y="396.806" width="2.83607" height="2.84073" fill="black"/>
<rect x="75.6279" y="396.806" width="2.83607" height="2.84073" fill="black"/>
<rect x="94.5361" y="396.806" width="2.83607" height="2.84073" fill="black"/>
<rect x="113.443" y="396.806" width="2.83607" height="2.84073" fill="black"/>
</g>
<g opacity="0.5">
<rect width="2.83607" height="2.84073" fill="black"/>
<rect x="18.9062" width="2.83607" height="2.84073" fill="black"/>
<rect x="37.8145" width="2.83607" height="2.84073" fill="black"/>
<rect x="56.7217" width="2.83607" height="2.84073" fill="black"/>
<rect x="75.6279" width="2.83607" height="2.84073" fill="black"/>
<rect x="94.5361" width="2.83607" height="2.84073" fill="black"/>
<rect x="113.443" width="2.83607" height="2.84073" fill="black"/>
<rect y="18.9375" width="2.83607" height="2.84073" fill="black"/>
<rect x="18.9062" y="18.9375" width="2.83607" height="2.84073" fill="black"/>
<rect x="37.8145" y="18.9375" width="2.83607" height="2.84073" fill="black"/>
<rect x="56.7217" y="18.9375" width="2.83607" height="2.84073" fill="black"/>
<rect x="75.6279" y="18.9375" width="2.83607" height="2.84073" fill="black"/>
<rect x="94.5361" y="18.9375" width="2.83607" height="2.84073" fill="black"/>
<rect x="113.443" y="18.9375" width="2.83607" height="2.84073" fill="black"/>
<rect y="37.877" width="2.83607" height="2.84073" fill="black"/>
<rect x="18.9062" y="37.877" width="2.83607" height="2.84073" fill="black"/>
<rect x="37.8145" y="37.877" width="2.83607" height="2.84073" fill="black"/>
<rect x="56.7217" y="37.877" width="2.83607" height="2.84073" fill="black"/>
<rect x="75.6279" y="37.877" width="2.83607" height="2.84073" fill="black"/>
<rect x="94.5361" y="37.877" width="2.83607" height="2.84073" fill="black"/>
<rect x="113.443" y="37.877" width="2.83607" height="2.84073" fill="black"/>
<rect y="56.8154" width="2.83607" height="2.84073" fill="black"/>
<rect x="18.9062" y="56.8154" width="2.83607" height="2.84073" fill="black"/>
<rect x="37.8145" y="56.8154" width="2.83607" height="2.84073" fill="black"/>
<rect x="56.7217" y="56.8154" width="2.83607" height="2.84073" fill="black"/>
<rect x="75.6279" y="56.8154" width="2.83607" height="2.84073" fill="black"/>
<rect x="94.5361" y="56.8154" width="2.83607" height="2.84073" fill="black"/>
<rect x="113.443" y="56.8154" width="2.83607" height="2.84073" fill="black"/>
<rect y="75.7529" width="2.83607" height="2.84073" fill="black"/>
<rect x="18.9062" y="75.7529" width="2.83607" height="2.84073" fill="black"/>
<rect x="37.8145" y="75.7529" width="2.83607" height="2.84073" fill="black"/>
<rect x="56.7217" y="75.7529" width="2.83607" height="2.84073" fill="black"/>
<rect x="75.6279" y="75.7529" width="2.83607" height="2.84073" fill="black"/>
<rect x="94.5361" y="75.7529" width="2.83607" height="2.84073" fill="black"/>
<rect x="113.443" y="75.7529" width="2.83607" height="2.84073" fill="black"/>
<rect y="94.6914" width="2.83607" height="2.84073" fill="black"/>
<rect x="18.9062" y="94.6914" width="2.83607" height="2.84073" fill="black"/>
<rect x="37.8145" y="94.6914" width="2.83607" height="2.84073" fill="black"/>
<rect x="56.7217" y="94.6914" width="2.83607" height="2.84073" fill="black"/>
<rect x="75.6279" y="94.6914" width="2.83607" height="2.84073" fill="black"/>
<rect x="94.5361" y="94.6914" width="2.83607" height="2.84073" fill="black"/>
<rect x="113.443" y="94.6914" width="2.83607" height="2.84073" fill="black"/>
<rect y="113.629" width="2.83607" height="2.84073" fill="black"/>
<rect x="18.9062" y="113.629" width="2.83607" height="2.84073" fill="black"/>
<rect x="37.8145" y="113.629" width="2.83607" height="2.84073" fill="black"/>
<rect x="56.7217" y="113.629" width="2.83607" height="2.84073" fill="black"/>
<rect x="75.6279" y="113.629" width="2.83607" height="2.84073" fill="black"/>
<rect x="94.5361" y="113.629" width="2.83607" height="2.84073" fill="black"/>
<rect x="113.443" y="113.629" width="2.83607" height="2.84073" fill="black"/>
<rect y="132.566" width="2.83607" height="2.84073" fill="black"/>
<rect x="18.9062" y="132.568" width="2.83607" height="2.84073" fill="black"/>
<rect x="37.8145" y="132.568" width="2.83607" height="2.84073" fill="black"/>
<rect x="56.7217" y="132.568" width="2.83607" height="2.84073" fill="black"/>
<rect x="75.6279" y="132.568" width="2.83607" height="2.84073" fill="black"/>
<rect x="94.5361" y="132.568" width="2.83607" height="2.84073" fill="black"/>
<rect x="113.443" y="132.568" width="2.83607" height="2.84073" fill="black"/>
<rect y="151.506" width="2.83607" height="2.84073" fill="black"/>
<rect x="18.9062" y="151.506" width="2.83607" height="2.84073" fill="black"/>
<rect x="37.8145" y="151.506" width="2.83607" height="2.84073" fill="black"/>
<rect x="56.7217" y="151.506" width="2.83607" height="2.84073" fill="black"/>
<rect x="75.6279" y="151.506" width="2.83607" height="2.84073" fill="black"/>
<rect x="94.5361" y="151.506" width="2.83607" height="2.84073" fill="black"/>
<rect x="113.443" y="151.506" width="2.83607" height="2.84073" fill="black"/>
<rect y="170.443" width="2.83607" height="2.84073" fill="black"/>
<rect x="18.9062" y="170.443" width="2.83607" height="2.84073" fill="black"/>
<rect x="37.8145" y="170.443" width="2.83607" height="2.84073" fill="black"/>
<rect x="56.7217" y="170.443" width="2.83607" height="2.84073" fill="black"/>
<rect x="75.6279" y="170.443" width="2.83607" height="2.84073" fill="black"/>
<rect x="94.5361" y="170.443" width="2.83607" height="2.84073" fill="black"/>
<rect x="113.443" y="170.443" width="2.83607" height="2.84073" fill="black"/>
<rect y="189.382" width="2.83607" height="2.84073" fill="black"/>
<rect x="18.9062" y="189.383" width="2.83607" height="2.84073" fill="black"/>
<rect x="37.8145" y="189.383" width="2.83607" height="2.84073" fill="black"/>
<rect x="56.7217" y="189.383" width="2.83607" height="2.84073" fill="black"/>
<rect x="75.6279" y="189.383" width="2.83607" height="2.84073" fill="black"/>
<rect x="94.5361" y="189.383" width="2.83607" height="2.84073" fill="black"/>
<rect x="113.443" y="189.383" width="2.83607" height="2.84073" fill="black"/>
</g>
</svg>
</div>
</div>

View File

@ -0,0 +1,20 @@
import React from 'react'
const Header = (): React.ReactElement => {
return (
<header className="header container">
<a href="index.html"><img className="logo" src="./images/logo.svg" alt=""/></a>
<nav>
<ul className="nav-list">
<li><a href="./discover.html">Discover</a></li>
<li><a href="./creators.html">creators</a></li>
<li><a href="./creators.html">Sell</a></li>
<li><a href="./creators.html">stats</a></li>
</ul>
</nav>
<button className="button">Connect Wallet</button>
</header>
)
}
export default Header

View File

@ -13,7 +13,7 @@
/* Language and Environment */
"target": "ES2022", /* Set the JavaScript language version for emitted JavaScript and include compatible library declarations. */
// "lib": [], /* Specify a set of bundled library declaration files that describe the target runtime environment. */
// "jsx": "preserve", /* Specify what JSX code is generated. */
"jsx": "react", /* Specify what JSX code is generated. */
// "libReplacement": true, /* Enable lib replacement. */
// "experimentalDecorators": true, /* Enable experimental support for legacy experimental decorators. */
// "emitDecoratorMetadata": true, /* Emit design-type metadata for decorated declarations in source files. */

View File

@ -3,14 +3,14 @@ const HtmlWebpackPlugin = require('html-webpack-plugin');
const CopyPlugin = require("copy-webpack-plugin");
module.exports = {
entry: './src/index.ts',
entry: './src/index.tsx',
output: {
filename: 'index.js',
path: path.resolve(__dirname, 'dist'),
clean: true
},
resolve: {
extensions: ['.js', '.ts']
extensions: ['.js', '.ts', '.jsx', '.tsx']
},
module: {
rules: [
@ -30,21 +30,8 @@ module.exports = {
},
plugins: [
new HtmlWebpackPlugin({
template: "./src/index.hbs",
template: "./src/index.html",
filename: "index.html"
}),
new HtmlWebpackPlugin({
template: "./src/creators.hbs",
filename: "creators.html"
}),
new HtmlWebpackPlugin({
template: "./src/discover.hbs",
filename: "discover.html"
}),
new CopyPlugin({
patterns: [
{from: "./src/images", to: "images"},
],
})
]
};