diff --git a/public/index.html b/public/index.html index 51a1ca0..ec7203e 100644 --- a/public/index.html +++ b/public/index.html @@ -22,6 +22,7 @@ } body{ overflow-x: hidden; + scrollbar-width: none; } .video-js .vjs-big-play-button { top: 0; @@ -36,9 +37,11 @@ ::-webkit-scrollbar { width: 0 !important; + display: none; } ::-webkit-scrollbar { width: 0 !important;height: 0; + display: none; } .video-youtube-202202 iframe{ diff --git a/src/assets/mobile/nft/button.png b/src/assets/mobile/nft/button.png new file mode 100644 index 0000000..1e1c631 Binary files /dev/null and b/src/assets/mobile/nft/button.png differ diff --git a/src/assets/mobile/nft/nft-bg.png b/src/assets/mobile/nft/nft-bg.png new file mode 100644 index 0000000..f594b0e Binary files /dev/null and b/src/assets/mobile/nft/nft-bg.png differ diff --git a/src/assets/mobile/nft/txt-bg.png b/src/assets/mobile/nft/txt-bg.png new file mode 100644 index 0000000..c43cc10 Binary files /dev/null and b/src/assets/mobile/nft/txt-bg.png differ diff --git a/src/components/nft/ChipSection.vue b/src/components/nft/ChipSection.vue index 9667163..bde3634 100644 --- a/src/components/nft/ChipSection.vue +++ b/src/components/nft/ChipSection.vue @@ -1,12 +1,12 @@ - + - + @@ -17,6 +17,7 @@ import { Component, Vue } from 'vue-property-decorator' import { Message } from 'element-ui' import TitleBar from '@/components/nft/TitleBar.vue' import { IHeroData } from '@/components/index/HeroScroller.vue' +import { AppModule, DeviceType } from '@/store/modules/app' @Component({ name: 'ChipSection', @@ -39,6 +40,10 @@ export default class extends Vue { private datas:IHeroData[] = [] + get mobile() { + return AppModule.device === DeviceType.Mobile + } + mounted() { for (let i = 0; i < this.heroNames.length; i++) { this.datas.push({ @@ -90,5 +95,21 @@ export default class extends Vue { } } - +#chip-section.mobile{ + width: 100vw; + .section-container{ + width: 100vw; + .nft-list{ + grid-template-columns: repeat(2, 1fr); + grid-row-gap: 5vw; + .card{ + width: 39vw; + height: 40vw; + } + .card:nth-child(even) { + margin-left: 3vw; + } + } + } +} diff --git a/src/components/nft/NftInfo.vue b/src/components/nft/NftInfo.vue index cc00194..e050246 100644 --- a/src/components/nft/NftInfo.vue +++ b/src/components/nft/NftInfo.vue @@ -1,6 +1,6 @@ - + @@ -93,6 +93,7 @@ @@ -43,11 +49,19 @@ export default class extends Vue { display: flex; flex-direction: row; align-items: end ; - .desc{ - margin-bottom: -6px; - margin-left: 20px; - cursor: pointer; - } + } + .desc{ + color: #DFDFDF; + margin-bottom: -6px; + margin-left: 20px; + cursor: pointer; + } +} +.title.mobile{ + flex-direction: column; + gap: 4vw; + .desc{ + margin-top: -2vw; } } diff --git a/src/components/nft/TopSection.vue b/src/components/nft/TopSection.vue index 89c9b50..3d7d939 100644 --- a/src/components/nft/TopSection.vue +++ b/src/components/nft/TopSection.vue @@ -1,6 +1,15 @@ - - + + + + + CHOOSE YOUR + CHAMPION + Find the perfect hero for your play style + Master one, or master them all + + + @@ -8,6 +17,7 @@ import { Component, Vue } from 'vue-property-decorator' import RImg from '@/components/ResponsiveImage.vue' import { Message } from 'element-ui' +import { AppModule, DeviceType } from '@/store/modules/app' @Component({ name: 'TopSection', @@ -24,6 +34,10 @@ export default class extends Vue { slide: HTMLFormElement } + get mobile() { + return AppModule.device === DeviceType.Mobile + } + comingSoon() { Message({ message: 'coming soon', @@ -39,9 +53,15 @@ export default class extends Vue { width: 1920px; height: 500px; position: relative; - background-image: url('../../assets/202202/nft/cebg_banner3.png'); - background-repeat: no-repeat; - background-position: center; + .top-part{ + left: 0; + right: 0; + width: 100%; + height: 100%; + background-image: url('../../assets/202202/nft/cebg_banner3.png'); + background-repeat: no-repeat; + background-position: center; + } .play-btn{ width: 320px; height: 68px; @@ -54,5 +74,44 @@ export default class extends Vue { cursor: pointer; } +} +#top-section.mobile{ + width: 100vw; + height: 190vw; + .top-part{ + background-image: url('../../assets/mobile/nft/nft-bg.png'); + background-size: 100% 100%; + height: 100vw; + } + .play-btn{ + width: 64vw; + height: auto; + bottom: 28vw; + } + .bottom-part{ + background-image: url('../../assets/mobile/nft/txt-bg.png'); + background-size: 100% 100%; + height: 90vw; + margin-top: -10vw; + .text{ + display: flex; + flex-direction: column; + color: white; + font-size: 3.9vw; + align-items: center; + line-height: 4.7vw; + :nth-child(1) { + margin-top: 14vw; + font-size: 8vw; + line-height: 8vw; + } + :nth-child(2) { + font-size: 11vw; + line-height: 15vw; + } + + } + } + } diff --git a/src/components/nft/WeaponSection.vue b/src/components/nft/WeaponSection.vue index 508299e..c8befea 100644 --- a/src/components/nft/WeaponSection.vue +++ b/src/components/nft/WeaponSection.vue @@ -1,5 +1,5 @@ - + diff --git a/src/router/index.ts b/src/router/index.ts index 80a439f..06fa07f 100644 --- a/src/router/index.ts +++ b/src/router/index.ts @@ -15,6 +15,7 @@ import MobileIndex from '@/views/mobile/Index.vue' import { AppModule, DeviceType } from '@/store/modules/app' import { isMobile } from '@/utils/resize' import MobileGameplay from '@/views/mobile/Gameplay.vue' +import MobileNft from '@/views/mobile/NFT.vue' Vue.use(VueRouter) const mobile = isMobile() @@ -64,7 +65,7 @@ const routes: Array = [ { path: '/nft', name: 'Nft', - component: NFT + component: mobile ? MobileNft : NFT }, { path: '/gameplay', diff --git a/src/views/mobile/Gameplay.vue b/src/views/mobile/Gameplay.vue index 055ea87..4e61d52 100644 --- a/src/views/mobile/Gameplay.vue +++ b/src/views/mobile/Gameplay.vue @@ -1,5 +1,5 @@ - + @@ -106,13 +106,6 @@ export default class MobileGameplay extends Vue { console.log('tag change: ', val) this.activeTab = val } - - get cstyle() { - return { - // transform: `scale(${this.scale})` - zoom: this.scale - } - } }