diff --git a/.gitignore b/.gitignore index 27cf4f0a..e91b9927 100644 --- a/.gitignore +++ b/.gitignore @@ -12,4 +12,5 @@ character-assets .eslint-cache .env .eslintcache -lerna-debug.log \ No newline at end of file +lerna-debug.log +.vscode \ No newline at end of file diff --git a/package.json b/package.json index 56762747..9b968ff0 100644 --- a/package.json +++ b/package.json @@ -53,6 +53,7 @@ "eslint-plugin-no-inline-styles": "^1.0.5", "eslint-plugin-react": "^7.31.11", "prettier": "^2.3.2", + "sass": "^1.58.0", "vite": "^4.0.0" } } diff --git a/public/assets/icons/polygon.svg b/public/assets/icons/polygon.svg new file mode 100644 index 00000000..2ee2e72a --- /dev/null +++ b/public/assets/icons/polygon.svg @@ -0,0 +1,18 @@ + + + + + + + + diff --git a/src/App.jsx b/src/App.jsx index 1d569376..e30f8347 100644 --- a/src/App.jsx +++ b/src/App.jsx @@ -18,6 +18,7 @@ import Background from "./components/Background" import View from "./pages/View" import Save from "./pages/Save" import Load from "./pages/Load" +import Mint from "./pages/Mint" import BioPage from "./pages/Bio" import Create from "./pages/Create" import Landing from "./pages/Landing" @@ -181,7 +182,7 @@ export default function App() { const updateCameraPosition = () => { if (!effectManager.camera) return - if ([ViewMode.BIO, ViewMode.MINT, ViewMode.CHAT].includes(viewMode)) { + if ([ViewMode.BIO, ViewMode.CHAT].includes(viewMode)) { // auto move camera if (viewMode === ViewMode.CHAT) { cameraDistance = cameraDistanceChat @@ -292,7 +293,7 @@ export default function App() { ), [ViewMode.CREATE]: , [ViewMode.LOAD]: , - // [ViewMode.MINT]: , + [ViewMode.MINT]: , [ViewMode.SAVE]: , [ViewMode.CHAT]: , } diff --git a/src/components/custom-button/IconCollection.jsx b/src/components/custom-button/IconCollection.jsx index 5918c6fa..68363aef 100644 --- a/src/components/custom-button/IconCollection.jsx +++ b/src/components/custom-button/IconCollection.jsx @@ -123,4 +123,12 @@ export const IconCollection = [ name: 'soundoff', file: '/assets/icons/soundoff.svg', }, + { + name: 'soundoff', + file: '/assets/icons/soundoff.svg', + }, + { + name: 'polygon', + file: '/assets/icons/polygon.svg', + }, ]; \ No newline at end of file diff --git a/src/pages/Mint.jsx b/src/pages/Mint.jsx index fd7f4a5b..0e2fd357 100644 --- a/src/pages/Mint.jsx +++ b/src/pages/Mint.jsx @@ -1,14 +1,14 @@ import React from "react" -import styles from "./Mint.module.css" +import styles from "./Mint.module.scss" import { ViewMode, ViewContext } from "../context/ViewContext" -import Mint from "../components/Mint" -import ResizableDiv from "../components/Resizable" +// import Mint from "../components/Mint" +// import ResizableDiv from "../components/Resizable" import CustomButton from "../components/custom-button" function MintComponent() { const { setViewMode } = React.useContext(ViewContext) - const [screenshotPosition, setScreenshotPosition] = React.useState({x:250,y:25,width:256,height:256}); + // const [screenshotPosition, setScreenshotPosition] = React.useState({x:250,y:25,width:256,height:256}); const back = () => { setViewMode(ViewMode.SAVE) @@ -18,19 +18,48 @@ function MintComponent() { setViewMode(ViewMode.CHAT) } + function MenuTitle() { + return ( +
+
+
Mint
+
+ ) + } + return (
Mint Your Character
- + + {/* */} +
-
-
-
- - + + +
+ + +
+ + + + (Genesis pass holders only)
-
+ +
div { + padding: 16px !important; + } + + .genesisText { + opacity: 0.4; + + .required:after { + content: "*"; + color: red; + } + } + + .divider { + width: 80%; + height: 1px; + margin: 8px 0; + opacity: 0.2; + background: #e0e6e5; + } + } + } + + .bottomContainer { + z-index: 0; + display: flex; + padding: 20px 32px; + justify-content: space-between; + + button { + min-width: 120px; + } + } +} + +.topLine { + background: rgb(0, 149, 100); + background: -moz-linear-gradient( + 90deg, + rgba(0, 149, 100, 0) 0%, + rgba(8, 234, 160, 1) 50%, + rgba(0, 149, 100, 0) 100% + ); + + background: -webkit-linear-gradient( + 90deg, + rgba(0, 149, 100, 0) 0%, + rgba(8, 234, 160, 1) 50%, + rgba(0, 149, 100, 0) 100% + ); + + background: linear-gradient( + 90deg, + rgba(0, 149, 100, 0) 0%, + rgba(8, 234, 160, 1) 50%, + rgba(0, 149, 100, 0) 100% + ); + + top: 0; + left: 0; + width: 100%; + height: 1px; + position: absolute; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#009564",endColorstr="#009564",GradientType=1); +} + +.bottomLine { + background: rgb(0, 149, 100); + background: -moz-linear-gradient( + 90deg, + rgba(0, 149, 100, 0) 0%, + rgba(8, 234, 160, 1) 50%, + rgba(0, 149, 100, 0) 100% + ); + background: -webkit-linear-gradient( + 90deg, + rgba(0, 149, 100, 0) 0%, + rgba(8, 234, 160, 1) 50%, + rgba(0, 149, 100, 0) 100% + ); + background: linear-gradient( + 90deg, + rgba(0, 149, 100, 0) 0%, + rgba(8, 234, 160, 1) 50%, + rgba(0, 149, 100, 0) 100% + ); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#009564",endColorstr="#009564",GradientType=1); + position: absolute; + bottom: 0; + left: 0; + width: 100%; + height: 1px; +} diff --git a/src/pages/Save.jsx b/src/pages/Save.jsx index 51b0048b..19d01ecb 100644 --- a/src/pages/Save.jsx +++ b/src/pages/Save.jsx @@ -12,9 +12,9 @@ function Save() { setViewMode(ViewMode.BIO) } - const mint = () => { - setViewMode(ViewMode.CHAT) - } + // const mint = () => { + // setViewMode(ViewMode.MINT) + // } const next = () => { @@ -25,30 +25,36 @@ function Save() {
Save Your Character
- +
+ +
+ + - {/* - - */} - + +
+ {/* */} + + +
); diff --git a/src/pages/Save.module.css b/src/pages/Save.module.css index fa9073a0..416fb1d7 100644 --- a/src/pages/Save.module.css +++ b/src/pages/Save.module.css @@ -1,18 +1,26 @@ +.container{ + height: 100%; + display: flex; + align-items: flex-end; + justify-content: center; +} + .buttonContainer { - position: absolute; - bottom: 20px; - left: 32px; - width: calc(100% - 64px); - width: -webkit-calc(100% - 64px); - text-align: center; + z-index: 0; + width: 100%; + padding: 20px 32px; + display: flex; } -.buttonContainer .buttonLeft { - float: left; +.buttonContainer .leftButtonContainer{ + margin-right: auto; + display: inline-flex; + } -.buttonContainer .buttonRight { - float: Right; +.buttonContainer .rightButtonContainer{ + margin-left: auto; + display: inline-flex; } .buttonContainer .buttonCenter {