From bf90de2c07b2ed0557860214d49716b0dc5f4a23 Mon Sep 17 00:00:00 2001 From: melloc1801 Date: Thu, 18 May 2023 16:28:53 +0500 Subject: [PATCH 1/4] implement chests --- components/Header.tsx | 8 +- pages/city/marketplace.tsx | 26 + public/resources/models/treasure/basket_c.bin | Bin 0 -> 127652 bytes .../resources/models/treasure/basket_c.gltf | 741 ++++++++++++++++++ scenes/ChestScene.tsx | 20 +- scenes/Models/Chest.ts | 12 - scenes/Models/Chests.ts | 31 + scenes/Models/Platforms.ts | 10 +- styles/Shop.module.css | 30 + 9 files changed, 851 insertions(+), 27 deletions(-) create mode 100644 pages/city/marketplace.tsx create mode 100644 public/resources/models/treasure/basket_c.bin create mode 100644 public/resources/models/treasure/basket_c.gltf delete mode 100644 scenes/Models/Chest.ts create mode 100644 scenes/Models/Chests.ts create mode 100644 styles/Shop.module.css diff --git a/components/Header.tsx b/components/Header.tsx index b23da6a..7a2701c 100644 --- a/components/Header.tsx +++ b/components/Header.tsx @@ -43,11 +43,11 @@ function Header({ network }: {network: 'sui' | 'eth'}) {
  • - Shop + Shop +
  • Launchpad
  • +
  • Marketplace
  • + } diff --git a/pages/city/marketplace.tsx b/pages/city/marketplace.tsx new file mode 100644 index 0000000..b42a5fc --- /dev/null +++ b/pages/city/marketplace.tsx @@ -0,0 +1,26 @@ +import Layout from '../../components/Layout' +import VaultCard, {VaultCardType} from "../../components/VaultCard/VaultCard"; +import {Suspense, useEffect} from "react"; +import BabylonLoader from "../../components/BabylonLoader"; +import HomeScene from "../../scenes/ChestScene"; + +const MarketPlace = () => { + useEffect(() => { + document?.body.classList.add('babylon-page'); + + return function cleanup() { + document?.body.classList.remove('babylon-page'); + }; + }, []); + + return ( +
    + }> + + +
    + ) +} + +MarketPlace.getLayout = (page: React.ReactElement) => {page} +export default MarketPlace; \ No newline at end of file diff --git a/public/resources/models/treasure/basket_c.bin b/public/resources/models/treasure/basket_c.bin new file mode 100644 index 0000000000000000000000000000000000000000..7f7edbc38d65a1dc9f4c0982092439ed530dd757 GIT binary patch literal 127652 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 I**Wn40Okzkf&c&j literal 0 HcmV?d00001 diff --git a/public/resources/models/treasure/basket_c.gltf b/public/resources/models/treasure/basket_c.gltf new file mode 100644 index 0000000..13f303d --- /dev/null +++ b/public/resources/models/treasure/basket_c.gltf @@ -0,0 +1,741 @@ +{ + "asset" : { + "generator" : "Khronos glTF Blender I/O v3.3.27", + "version" : "2.0" + }, + "extensionsUsed" : [ + "KHR_materials_specular", + "KHR_materials_ior", + "KHR_texture_transform", + "KHR_materials_emissive_strength" + ], + "extensionsRequired" : [ + "KHR_texture_transform" + ], + "scene" : 0, + "scenes" : [ + { + "name" : "Scene", + "nodes" : [ + 0 + ] + } + ], + "nodes" : [ + { + "mesh" : 0, + "name" : "basket_c" + } + ], + "animations" : [ + { + "channels" : [ + { + "sampler" : 0, + "target" : { + "node" : 0, + "path" : "translation" + } + }, + { + "sampler" : 1, + "target" : { + "node" : 0, + "path" : "rotation" + } + }, + { + "sampler" : 2, + "target" : { + "node" : 0, + "path" : "scale" + } + } + ], + "name" : "basket_c", + "samplers" : [ + { + "input" : 24, + "interpolation" : "LINEAR", + "output" : 25 + }, + { + "input" : 24, + "interpolation" : "LINEAR", + "output" : 26 + }, + { + "input" : 24, + "interpolation" : "LINEAR", + "output" : 27 + } + ] + } + ], + "materials" : [ + { + "doubleSided" : true, + "extensions" : { + "KHR_materials_specular" : { + "specularColorFactor" : [ + 2.371357614441398, + 2.371357614441398, + 2.371357614441398 + ] + }, + "KHR_materials_ior" : { + "ior" : 1.4500000476837158 + } + }, + "name" : "MAT_Outfit_Wicker", + "normalTexture" : { + "extensions" : { + "KHR_texture_transform" : { + "offset" : [ + 0, + -3 + ], + "scale" : [ + 4, + 4 + ] + } + }, + "index" : 0, + "texCoord" : 1 + }, + "pbrMetallicRoughness" : { + "baseColorTexture" : { + "index" : 1 + }, + "metallicFactor" : 0, + "roughnessFactor" : 0.5999999642372131 + } + }, + { + "doubleSided" : true, + "extensions" : { + "KHR_materials_specular" : { + "specularColorFactor" : [ + 2.371357614441398, + 2.371357614441398, + 2.371357614441398 + ] + }, + "KHR_materials_ior" : { + "ior" : 1.4500000476837158 + } + }, + "name" : "MAT_Outfit_Plastic", + "normalTexture" : { + "index" : 2, + "texCoord" : 1 + }, + "pbrMetallicRoughness" : { + "baseColorTexture" : { + "index" : 3 + }, + "metallicFactor" : 0, + "metallicRoughnessTexture" : { + "extensions" : { + "KHR_texture_transform" : { + "offset" : [ + 0, + -3 + ], + "scale" : [ + 4, + 4 + ] + } + }, + "index" : 4, + "texCoord" : 1 + }, + "roughnessFactor" : 0.5 + } + }, + { + "doubleSided" : true, + "emissiveFactor" : [ + 1, + 0.1981208473443985, + 0.006116504780948162 + ], + "extensions" : { + "KHR_materials_emissive_strength" : { + "emissiveStrength" : 12 + }, + "KHR_materials_specular" : { + "specularColorFactor" : [ + 2.371357614441398, + 2.371357614441398, + 2.371357614441398 + ] + }, + "KHR_materials_ior" : { + "ior" : 1.4500000476837158 + } + }, + "name" : "MAT_Outfit_Emissive", + "pbrMetallicRoughness" : { + "baseColorTexture" : { + "index" : 5 + }, + "metallicFactor" : 0, + "roughnessFactor" : 0.5999999642372131 + } + }, + { + "doubleSided" : true, + "extensions" : { + "KHR_materials_specular" : { + "specularColorFactor" : [ + 1.3595783411134539, + 1.3595783411134539, + 1.3595783411134539 + ] + }, + "KHR_materials_ior" : { + "ior" : 1.4500000476837158 + } + }, + "name" : "MAT_Outfit_Metal_A", + "normalTexture" : { + "index" : 6, + "texCoord" : 1 + }, + "pbrMetallicRoughness" : { + "baseColorTexture" : { + "index" : 7 + }, + "metallicRoughnessTexture" : { + "extensions" : { + "KHR_texture_transform" : { + "offset" : [ + 0, + -4 + ], + "scale" : [ + 5, + 5 + ] + } + }, + "index" : 8, + "texCoord" : 1 + }, + "roughnessFactor" : 0.5 + } + } + ], + "meshes" : [ + { + "name" : "Cube.006", + "primitives" : [ + { + "attributes" : { + "POSITION" : 0, + "NORMAL" : 1, + "TEXCOORD_0" : 2, + "TEXCOORD_1" : 3, + "COLOR_0" : 4 + }, + "indices" : 5, + "material" : 0 + }, + { + "attributes" : { + "POSITION" : 6, + "NORMAL" : 7, + "TEXCOORD_0" : 8, + "TEXCOORD_1" : 9, + "COLOR_0" : 10 + }, + "indices" : 11, + "material" : 1 + }, + { + "attributes" : { + "POSITION" : 12, + "NORMAL" : 13, + "TEXCOORD_0" : 14, + "TEXCOORD_1" : 15, + "COLOR_0" : 16 + }, + "indices" : 17, + "material" : 2 + }, + { + "attributes" : { + "POSITION" : 18, + "NORMAL" : 19, + "TEXCOORD_0" : 20, + "TEXCOORD_1" : 21, + "COLOR_0" : 22 + }, + "indices" : 23, + "material" : 3 + } + ] + } + ], + "textures" : [ + { + "sampler" : 0, + "source" : 0 + }, + { + "sampler" : 0, + "source" : 1 + }, + { + "sampler" : 0, + "source" : 2 + }, + { + "sampler" : 0, + "source" : 1 + }, + { + "sampler" : 0, + "source" : 3 + }, + { + "sampler" : 0, + "source" : 1 + }, + { + "sampler" : 0, + "source" : 2 + }, + { + "sampler" : 0, + "source" : 1 + }, + { + "sampler" : 0, + "source" : 3 + } + ], + "images" : [ + { + "mimeType" : "image/png", + "name" : "TEX_Wicker_A", + "uri" : "TEX_Wicker_A.png" + }, + { + "mimeType" : "image/png", + "name" : "TEX_Outfit_AA", + "uri" : "TEX_Outfit_AA.png" + }, + { + "mimeType" : "image/png", + "name" : "TEX_Trim_A_N", + "uri" : "TEX_Trim_A_N.png" + }, + { + "mimeType" : "image/png", + "name" : "TEX_MP_Roughness_A", + "uri" : "TEX_MP_Roughness_A.png" + } + ], + "accessors" : [ + { + "bufferView" : 0, + "componentType" : 5126, + "count" : 204, + "max" : [ + 0.28354787826538086, + 0.2481013536453247, + 0.42943140864372253 + ], + "min" : [ + -0.28354787826538086, + 0.004725754261016846, + -0.42943140864372253 + ], + "type" : "VEC3" + }, + { + "bufferView" : 1, + "componentType" : 5126, + "count" : 204, + "type" : "VEC3" + }, + { + "bufferView" : 2, + "componentType" : 5126, + "count" : 204, + "type" : "VEC2" + }, + { + "bufferView" : 3, + "componentType" : 5126, + "count" : 204, + "type" : "VEC2" + }, + { + "bufferView" : 4, + "componentType" : 5123, + "count" : 204, + "normalized" : true, + "type" : "VEC4" + }, + { + "bufferView" : 5, + "componentType" : 5123, + "count" : 984, + "type" : "SCALAR" + }, + { + "bufferView" : 6, + "componentType" : 5126, + "count" : 1049, + "max" : [ + 0.33532002568244934, + 0.8094638586044312, + 0.42943140864372253 + ], + "min" : [ + -0.33532002568244934, + -0.006428537890315056, + -0.42943140864372253 + ], + "type" : "VEC3" + }, + { + "bufferView" : 7, + "componentType" : 5126, + "count" : 1049, + "type" : "VEC3" + }, + { + "bufferView" : 8, + "componentType" : 5126, + "count" : 1049, + "type" : "VEC2" + }, + { + "bufferView" : 9, + "componentType" : 5126, + "count" : 1049, + "type" : "VEC2" + }, + { + "bufferView" : 10, + "componentType" : 5123, + "count" : 1049, + "normalized" : true, + "type" : "VEC4" + }, + { + "bufferView" : 11, + "componentType" : 5123, + "count" : 3036, + "type" : "SCALAR" + }, + { + "bufferView" : 12, + "componentType" : 5126, + "count" : 104, + "max" : [ + 0.258414626121521, + 0.3598306477069855, + 0.4035223126411438 + ], + "min" : [ + -0.258414626121521, + 0.28778064250946045, + -0.4035223126411438 + ], + "type" : "VEC3" + }, + { + "bufferView" : 13, + "componentType" : 5126, + "count" : 104, + "type" : "VEC3" + }, + { + "bufferView" : 14, + "componentType" : 5126, + "count" : 104, + "type" : "VEC2" + }, + { + "bufferView" : 15, + "componentType" : 5126, + "count" : 104, + "type" : "VEC2" + }, + { + "bufferView" : 16, + "componentType" : 5123, + "count" : 104, + "normalized" : true, + "type" : "VEC4" + }, + { + "bufferView" : 17, + "componentType" : 5123, + "count" : 240, + "type" : "SCALAR" + }, + { + "bufferView" : 18, + "componentType" : 5126, + "count" : 821, + "max" : [ + 0.2737472653388977, + 0.4345664381980896, + 0.4188515543937683 + ], + "min" : [ + -0.2737472653388977, + 0.2667090892791748, + -0.4188515543937683 + ], + "type" : "VEC3" + }, + { + "bufferView" : 19, + "componentType" : 5126, + "count" : 821, + "type" : "VEC3" + }, + { + "bufferView" : 20, + "componentType" : 5126, + "count" : 821, + "type" : "VEC2" + }, + { + "bufferView" : 21, + "componentType" : 5126, + "count" : 821, + "type" : "VEC2" + }, + { + "bufferView" : 22, + "componentType" : 5123, + "count" : 821, + "normalized" : true, + "type" : "VEC4" + }, + { + "bufferView" : 23, + "componentType" : 5123, + "count" : 1992, + "type" : "SCALAR" + }, + { + "bufferView" : 24, + "componentType" : 5126, + "count" : 241, + "max" : [ + 8 + ], + "min" : [ + 0 + ], + "type" : "SCALAR" + }, + { + "bufferView" : 25, + "componentType" : 5126, + "count" : 241, + "type" : "VEC3" + }, + { + "bufferView" : 26, + "componentType" : 5126, + "count" : 241, + "type" : "VEC4" + }, + { + "bufferView" : 27, + "componentType" : 5126, + "count" : 241, + "type" : "VEC3" + } + ], + "bufferViews" : [ + { + "buffer" : 0, + "byteLength" : 2448, + "byteOffset" : 0, + "target" : 34962 + }, + { + "buffer" : 0, + "byteLength" : 2448, + "byteOffset" : 2448, + "target" : 34962 + }, + { + "buffer" : 0, + "byteLength" : 1632, + "byteOffset" : 4896, + "target" : 34962 + }, + { + "buffer" : 0, + "byteLength" : 1632, + "byteOffset" : 6528, + "target" : 34962 + }, + { + "buffer" : 0, + "byteLength" : 1632, + "byteOffset" : 8160, + "target" : 34962 + }, + { + "buffer" : 0, + "byteLength" : 1968, + "byteOffset" : 9792, + "target" : 34963 + }, + { + "buffer" : 0, + "byteLength" : 12588, + "byteOffset" : 11760, + "target" : 34962 + }, + { + "buffer" : 0, + "byteLength" : 12588, + "byteOffset" : 24348, + "target" : 34962 + }, + { + "buffer" : 0, + "byteLength" : 8392, + "byteOffset" : 36936, + "target" : 34962 + }, + { + "buffer" : 0, + "byteLength" : 8392, + "byteOffset" : 45328, + "target" : 34962 + }, + { + "buffer" : 0, + "byteLength" : 8392, + "byteOffset" : 53720, + "target" : 34962 + }, + { + "buffer" : 0, + "byteLength" : 6072, + "byteOffset" : 62112, + "target" : 34963 + }, + { + "buffer" : 0, + "byteLength" : 1248, + "byteOffset" : 68184, + "target" : 34962 + }, + { + "buffer" : 0, + "byteLength" : 1248, + "byteOffset" : 69432, + "target" : 34962 + }, + { + "buffer" : 0, + "byteLength" : 832, + "byteOffset" : 70680, + "target" : 34962 + }, + { + "buffer" : 0, + "byteLength" : 832, + "byteOffset" : 71512, + "target" : 34962 + }, + { + "buffer" : 0, + "byteLength" : 832, + "byteOffset" : 72344, + "target" : 34962 + }, + { + "buffer" : 0, + "byteLength" : 480, + "byteOffset" : 73176, + "target" : 34963 + }, + { + "buffer" : 0, + "byteLength" : 9852, + "byteOffset" : 73656, + "target" : 34962 + }, + { + "buffer" : 0, + "byteLength" : 9852, + "byteOffset" : 83508, + "target" : 34962 + }, + { + "buffer" : 0, + "byteLength" : 6568, + "byteOffset" : 93360, + "target" : 34962 + }, + { + "buffer" : 0, + "byteLength" : 6568, + "byteOffset" : 99928, + "target" : 34962 + }, + { + "buffer" : 0, + "byteLength" : 6568, + "byteOffset" : 106496, + "target" : 34962 + }, + { + "buffer" : 0, + "byteLength" : 3984, + "byteOffset" : 113064, + "target" : 34963 + }, + { + "buffer" : 0, + "byteLength" : 964, + "byteOffset" : 117048 + }, + { + "buffer" : 0, + "byteLength" : 2892, + "byteOffset" : 118012 + }, + { + "buffer" : 0, + "byteLength" : 3856, + "byteOffset" : 120904 + }, + { + "buffer" : 0, + "byteLength" : 2892, + "byteOffset" : 124760 + } + ], + "samplers" : [ + { + "magFilter" : 9729, + "minFilter" : 9987 + } + ], + "buffers" : [ + { + "byteLength" : 127652, + "uri" : "basket_c.bin" + } + ] +} diff --git a/scenes/ChestScene.tsx b/scenes/ChestScene.tsx index 6639b40..6870abc 100644 --- a/scenes/ChestScene.tsx +++ b/scenes/ChestScene.tsx @@ -1,10 +1,11 @@ import { useRef, useEffect } from "react"; import * as BABYLON from '@babylonjs/core'; import { GLTFFileLoader, GLTFLoaderAnimationStartMode } from "@babylonjs/loaders"; -import LoadingScreen from '../components/LoadingScreen' -import { Chest } from './Models/Chest' +import LoadingScreen from '../components/LoadingScreen'; import { Vector3 } from "@babylonjs/core"; import { useRouter } from 'next/router' +import { Chests } from "./Models/Chests"; +import styles from './../styles/Shop.module.css'; export default function HomeScene() { const FpsElement = typeof document !== 'undefined' && document.getElementById("fps"); @@ -26,7 +27,7 @@ export default function HomeScene() { const camera = new BABYLON.FreeCamera( "camera", - new BABYLON.Vector3(125,24,-90), + new BABYLON.Vector3(0,24,-220), scene ) @@ -43,8 +44,8 @@ export default function HomeScene() { scene.environmentTexture.level = 1; scene.clearColor = new BABYLON.Color4(0,0,0,0.0000000000000001); - Chest(scene, router); - + Chests(scene, router); + return scene; }; @@ -66,6 +67,13 @@ export default function HomeScene() { }, []); return ( - +
    +
    +
    0 / 2000
    +
    0 / 1000
    +
    0 / 500
    +
    + +
    ) } diff --git a/scenes/Models/Chest.ts b/scenes/Models/Chest.ts deleted file mode 100644 index 315d65b..0000000 --- a/scenes/Models/Chest.ts +++ /dev/null @@ -1,12 +0,0 @@ -import { Scene, SceneLoader, Vector3 } from "@babylonjs/core" -import type { NextRouter } from 'next/router' - -export const Chest = async (scene: Scene, router: NextRouter): Promise => { - await SceneLoader.ImportMeshAsync( - "", - `${process.env.NEXT_PUBLIC_MODELS}/treasure/`, - "basket_a.gltf", - scene - ); - -} diff --git a/scenes/Models/Chests.ts b/scenes/Models/Chests.ts new file mode 100644 index 0000000..47cb76d --- /dev/null +++ b/scenes/Models/Chests.ts @@ -0,0 +1,31 @@ +import {AssetContainer, Scene, SceneLoader, TransformNode, Vector3} from "@babylonjs/core" +import type { NextRouter } from 'next/router' + +export const Chests = async (scene: Scene, router: NextRouter): Promise => { + const chests = [ + { + sceneFileName: 'basket_a.gltf', + position: new Vector3(-2, 0, 0) + }, + { + sceneFileName: 'basket_b.gltf', + position: new Vector3(0, 0, 0) + }, + { + sceneFileName: 'basket_c.gltf', + position: new Vector3(2, 0, 0) + } + ] + + chests.map(async (chest) => { + const c = await SceneLoader.ImportMeshAsync( + "", + `${process.env.NEXT_PUBLIC_MODELS}/treasure/`, + chest.sceneFileName, + scene + ) + const rootNode = c.meshes[0]; + rootNode.rotate(new Vector3(0, 200, 0), 1); + rootNode.position = chest.position; + }); +} diff --git a/scenes/Models/Platforms.ts b/scenes/Models/Platforms.ts index f806b4c..b3eed25 100644 --- a/scenes/Models/Platforms.ts +++ b/scenes/Models/Platforms.ts @@ -83,7 +83,7 @@ export const Platforms = async ({ scene, canvas, mintEvent, changeStep }: Platfo }) lemonPositions.forEach((position, index) => { - position.rotate(new Vector3(0,1,0), Math.PI) // This is becouse new lemon rotated by default + position.rotate(new Vector3(0,1,0), Math.PI) // This is becouse new lemon rotated by default const plus = scene.getMeshByName(`Plus_${index + 1}`) const plusStroke = scene.getMeshByName(`Plus_${index + 1}_Stroke`) if (plus) { @@ -116,7 +116,7 @@ export const Platforms = async ({ scene, canvas, mintEvent, changeStep }: Platfo collider.actionManager = new ActionManager(scene); collider.visibility = 0; - let stroke = scene.getMeshByName(`Plus_${index + 1}_Stroke`) + let stroke = scene.getMeshByName(`Plus_${index + 1}_Stroke`) collider.actionManager.registerAction(new ExecuteCodeAction(ActionManager.OnPointerOverTrigger, async function(){ if (stroke) stroke.visibility = 1; scene.hoverCursor = "pointer"; @@ -125,7 +125,7 @@ export const Platforms = async ({ scene, canvas, mintEvent, changeStep }: Platfo if (stroke) stroke.visibility = 0; scene.hoverCursor = "default"; })); - + collider.actionManager.registerAction(new ExecuteCodeAction(ActionManager.OnPickTrigger, async function(){ let rotationAngle = 0; let platformAnimation: AnimationGroup | null = null; @@ -147,7 +147,7 @@ export const Platforms = async ({ scene, canvas, mintEvent, changeStep }: Platfo if (platformAnimation) { platformAnimation.start(false, 1); - } + } else { const position = lemonPositions[index]; if (step != 1) { @@ -176,7 +176,7 @@ export const Platforms = async ({ scene, canvas, mintEvent, changeStep }: Platfo activePlatform = index + 1; useLemonStore.setState({ activePlatform }) })); - + }); const currentPosition = { x: 0, y: 0 }; diff --git a/styles/Shop.module.css b/styles/Shop.module.css new file mode 100644 index 0000000..06eb312 --- /dev/null +++ b/styles/Shop.module.css @@ -0,0 +1,30 @@ +.amount { + bottom: 70px; +} + +.amount__item--1 { + flex: 1 1 30%; +} +.amount__item--2 { + flex: 1 1 40%; +} +.amount__item--3 { + flex: 1 1 30%; +} + +@media (max-width: 1400px) { + .amount { + justify-content: space-between; + } + + .amount__item--1 { + flex: 1 1 20%; + } + .amount__item--2 { + flex: 1 1 60%; + } + .amount__item--3 { + flex: 1 1 20%; + padding-left: 20px; + } +} \ No newline at end of file From 20d39933c481c1eecaf2e24c147d1f6fbf89bbab Mon Sep 17 00:00:00 2001 From: melloc1801 Date: Thu, 18 May 2023 18:06:17 +0500 Subject: [PATCH 2/4] add buttons --- scenes/ChestScene.tsx | 19 ++++++++++++++++--- styles/Shop.module.css | 2 +- 2 files changed, 17 insertions(+), 4 deletions(-) diff --git a/scenes/ChestScene.tsx b/scenes/ChestScene.tsx index 6870abc..9997100 100644 --- a/scenes/ChestScene.tsx +++ b/scenes/ChestScene.tsx @@ -44,6 +44,10 @@ export default function HomeScene() { scene.environmentTexture.level = 1; scene.clearColor = new BABYLON.Color4(0,0,0,0.0000000000000001); + BABYLON.SceneLoader.OnPluginActivatedObservable.add((loader) => { + (loader as GLTFFileLoader).animationStartMode = GLTFLoaderAnimationStartMode.NONE; + }) + Chests(scene, router); return scene; @@ -69,9 +73,18 @@ export default function HomeScene() { return (
    -
    0 / 2000
    -
    0 / 1000
    -
    0 / 500
    +
    +
    0 / 2000
    + +
    +
    +
    0 / 1000
    + +
    +
    +
    0 / 500
    + +
    diff --git a/styles/Shop.module.css b/styles/Shop.module.css index 06eb312..1e9a7ff 100644 --- a/styles/Shop.module.css +++ b/styles/Shop.module.css @@ -1,5 +1,5 @@ .amount { - bottom: 70px; + bottom: 15px; } .amount__item--1 { From 5527d9716bea0487a22a3a033f331af765f29f40 Mon Sep 17 00:00:00 2001 From: anbork Date: Thu, 18 May 2023 15:32:00 +0300 Subject: [PATCH 3/4] Update launchpad --- pages/city/launchpad.tsx | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/pages/city/launchpad.tsx b/pages/city/launchpad.tsx index 036bdf3..50a30e8 100644 --- a/pages/city/launchpad.tsx +++ b/pages/city/launchpad.tsx @@ -10,7 +10,6 @@ const Vault = () => {
    -

    Access Free Mint

    {
    -
    + {/*
    @@ -81,7 +80,7 @@ const Vault = () => {
    -
    +
    */}
    From fa4b512b4e0d94b9deab830c2089bd33bae56f04 Mon Sep 17 00:00:00 2001 From: anbork Date: Thu, 18 May 2023 15:42:43 +0300 Subject: [PATCH 4/4] Update header with launpad link --- components/Header.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/components/Header.tsx b/components/Header.tsx index 7a2701c..29a2af1 100644 --- a/components/Header.tsx +++ b/components/Header.tsx @@ -45,7 +45,7 @@ function Header({ network }: {network: 'sui' | 'eth'}) {
  • Shop
      -
    • Launchpad
    • +
    • Launchpad
    • Marketplace