From 96c06d9337027817270df2c67da68bd11559353e Mon Sep 17 00:00:00 2001
From: huxin <1219654535@qq.com>
Date: Sun, 7 May 2023 01:39:44 +0800
Subject: [PATCH] =?UTF-8?q?fix:=20=E4=B8=80=E4=BA=9B=E8=AF=AD=E8=A8=80?=
=?UTF-8?q?=E8=BD=AC=E6=8D=A2=E9=97=AE=E9=A2=98=20carousel=20foot=EF=BC=8C?=
=?UTF-8?q?=E4=BC=98=E5=8C=96=E7=BB=84=E4=BB=B6?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
components/Carousel.vue | 58 +++++-----
components/Footer.vue | 22 ++--
components/ImageHover.vue | 31 ++++++
components/Typography.vue | 34 ++++++
components/header/nav.vue | 2 +-
components/{ => section}/Banner.vue | 19 +---
components/section/GradientCard.vue | 54 ++++++++++
components/{ => section}/Section.vue | 0
config/pages/home/use-carousel.ts | 10 +-
config/pages/home/use-section-two.ts | 1 +
config/use-foot.ts | 129 ++++++++++++-----------
locales/en-UK.json | 33 ++++--
locales/zh-CN.json | 39 ++++---
pages/index.vue | 152 ++++++---------------------
uno.config.ts | 36 +++++--
15 files changed, 345 insertions(+), 275 deletions(-)
create mode 100644 components/ImageHover.vue
create mode 100644 components/Typography.vue
rename components/{ => section}/Banner.vue (64%)
create mode 100644 components/section/GradientCard.vue
rename components/{ => section}/Section.vue (100%)
diff --git a/components/Carousel.vue b/components/Carousel.vue
index a479c9a..a3860fc 100644
--- a/components/Carousel.vue
+++ b/components/Carousel.vue
@@ -7,38 +7,34 @@ const { state: pages, next, prev } = useCycleList(carousels.map((_, i) => i), {
initialValue: 0,
})
-useIntervalFn(() => {
- next()
-}, 2500)
+onMounted(() => {
+ useIntervalFn(() => {
+ next()
+ }, 3500)
+})
-
-
-
-
-
-
![]()
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/components/Footer.vue b/components/Footer.vue
index fc9c1be..0656069 100644
--- a/components/Footer.vue
+++ b/components/Footer.vue
@@ -8,7 +8,7 @@ const footer = useFoot()
@@ -17,13 +17,23 @@ const footer = useFoot()
- {{ item.link.name }}
+ {{ $t(item.link.name) }}
-
-
- © Copyright 2022 - 2023 LandVault · Wam Group · All rights reserved
-
+
+
+
+
+
+
+ {{ $t(footer.copyright) }}
+
+
+ {{ $t(footer.release) }}
+
+
+ {{ $t(record) }}
+
diff --git a/components/ImageHover.vue b/components/ImageHover.vue
new file mode 100644
index 0000000..973b092
--- /dev/null
+++ b/components/ImageHover.vue
@@ -0,0 +1,31 @@
+
+
+
+
+
+
+
+
+
+
diff --git a/components/Typography.vue b/components/Typography.vue
new file mode 100644
index 0000000..71a4753
--- /dev/null
+++ b/components/Typography.vue
@@ -0,0 +1,34 @@
+
+
+
+
+
+ {{ title }}
+
+
+ {{ topic }}
+
+
+ {{
+ description
+ }}
+
+
+
+ {{ link?.name }}
+
+
+
+
diff --git a/components/header/nav.vue b/components/header/nav.vue
index 771919b..0627fc2 100644
--- a/components/header/nav.vue
+++ b/components/header/nav.vue
@@ -12,7 +12,7 @@ const navs = useNav()
-
-
- {{ title }}
-
-
- {{ topic }}
-
-
- {{
- description
- }}
-
-
-
- {{ link?.name }}
-
-
+
diff --git a/components/section/GradientCard.vue b/components/section/GradientCard.vue
new file mode 100644
index 0000000..bdc5b2c
--- /dev/null
+++ b/components/section/GradientCard.vue
@@ -0,0 +1,54 @@
+
+
+
+
+
+
+
+
+ {{ $t(col.title) }}
+
+
+
+
+ {{ $t(col.subtext) }}
+
+
+
+
+ {{ $t(col.description) }}
+
+
+
+
+
diff --git a/components/Section.vue b/components/section/Section.vue
similarity index 100%
rename from components/Section.vue
rename to components/section/Section.vue
diff --git a/config/pages/home/use-carousel.ts b/config/pages/home/use-carousel.ts
index c597eea..b8d1ddd 100644
--- a/config/pages/home/use-carousel.ts
+++ b/config/pages/home/use-carousel.ts
@@ -7,8 +7,16 @@ export function useCarousel() {
name: 'home.carousel.link[0]',
href: '#',
},
-
img: '/imgs/Home.Creatorverse.jpg',
},
+ {
+ title: 'home.carousel.topic[1]',
+ description: 'home.carousel.description[1]',
+ link: {
+ name: 'home.carousel.link[1]',
+ href: '#',
+ },
+ img: '/imgs/1 (8).jpg',
+ },
]
}
diff --git a/config/pages/home/use-section-two.ts b/config/pages/home/use-section-two.ts
index 1b42d36..6f0da32 100644
--- a/config/pages/home/use-section-two.ts
+++ b/config/pages/home/use-section-two.ts
@@ -1,6 +1,7 @@
export function useSectionTwo() {
return {
title: 'home.sectionTwo.title',
+ description: 'home.sectionTwo.description',
content: [
{
img: '/imgs/Partners/MUA.png',
diff --git a/config/use-foot.ts b/config/use-foot.ts
index 9147222..d197360 100644
--- a/config/use-foot.ts
+++ b/config/use-foot.ts
@@ -3,75 +3,80 @@ export function useFoot() {
const path = locale.value === 'zh' ? '/' : `/${locale.value}`
- return [
- {
- title: 'foot.group1.name',
- child: [
- {
- link: {
- name: 'foot.group1.link1',
- href: '#',
+ return {
+ copyright: 'foot.copyright',
+ release: 'foot.release',
+ record: ['foot.record[0]', 'foot.record[1]'],
+ links: [
+ {
+ title: 'foot.links[0].group',
+ child: [
+ {
+ link: {
+ name: 'foot.links[0].link[0]',
+ href: '#',
+ },
},
- },
- {
- link: {
- name: 'foot.group1.link2',
- href: '#',
+ {
+ link: {
+ name: 'foot.links[0].link[1]',
+ href: '#',
+ },
},
- },
- {
- link: {
- name: 'foot.group1.link3',
- href: '#',
+ {
+ link: {
+ name: 'foot.links[0].link[2]',
+ href: '#',
+ },
},
- },
- ],
- },
- {
- title: 'foot.group2.name',
- child: [
- {
- link: {
- name: 'foot.group2.link1',
- href: '#',
+ ],
+ },
+ {
+ title: 'foot.links[1].group',
+ child: [
+ {
+ link: {
+ name: 'foot.links[1].link[0]',
+ href: '#',
+ },
},
- },
- {
- link: {
- name: 'foot.group2.link2',
- href: '#',
+ {
+ link: {
+ name: 'foot.links[1].link[1]',
+ href: '#',
+ },
},
- },
- {
- link: {
- name: 'foot.group2.link3',
- href: '#',
+ {
+ link: {
+ name: 'foot.links[1].link[2]',
+ href: '#',
+ },
},
- },
- ],
- },
- {
- title: 'foot.group3.name',
- child: [
- {
- link: {
- name: 'foot.group3.link1',
- href: '#',
+ ],
+ },
+ {
+ title: 'foot.links[2].group',
+ child: [
+ {
+ link: {
+ name: 'foot.links[2].link[0]',
+ href: '#',
+ },
},
- },
- {
- link: {
- name: 'foot.group3.link2',
- href: '#',
+ {
+ link: {
+ name: 'foot.links[2].link[1]',
+ href: '#',
+ },
},
- },
- {
- link: {
- name: 'foot.group3.link3',
- href: '#',
+ {
+ link: {
+ name: 'foot.links[2].link[2]',
+ href: '#',
+ },
},
- },
- ],
- },
- ]
+ ],
+ },
+ ],
+ }
}
diff --git a/locales/en-UK.json b/locales/en-UK.json
index 1963301..f7b8d37 100644
--- a/locales/en-UK.json
+++ b/locales/en-UK.json
@@ -2,11 +2,11 @@
"nav": {
"news": "News",
"home": "Home",
- "event":{
- "t":"Events",
- "child":{
- "act":["AaaO!","TOPO Land"],
- "description":["Architecture as an Object", "Topverse Meta Island"]
+ "event": {
+ "t": "Events",
+ "child": {
+ "act": ["AaaO!", "TOPO Land"],
+ "description": ["Architecture as an Object", "Topverse Meta Island"]
}
},
@@ -14,8 +14,8 @@
"t": "Solutions",
"child": {
"land": {
- "service":["Web 3.0","Digital Twins","Mixed Reality"],
- "description": ["The quick brown fox jumps over the lazy dog.","IRL World in Digital","Immersive Creations"]
+ "service": ["Web 3.0", "Digital Twins", "Mixed Reality"],
+ "description": ["The quick brown fox jumps over the lazy dog.", "IRL World in Digital", "Immersive Creations"]
}
}
},
@@ -58,11 +58,11 @@
},
"sectionThree": {
-
+
"title": "SHOWCASE",
"topic": "Success Stories",
"description": "See how TOPVERSE® brings the virtual world into reality",
- "contentPrimary":{
+ "contentPrimary": {
"topic": [
"Spotlight: Music Venue",
"Parcel Creatorverse Spotlight: Meeting Venue"
@@ -91,5 +91,20 @@
"topic": "DIVE INTO THE NEW WORLD WITH TOPVERSE® LAB",
"description": ""
}
+ },
+ "foot": {
+ "copyright": "© Copyright 2022 - 2023 LandVault · Wam Group · All rights reserved",
+ "release": "增值电信业务经营许可证:合字B2-20090007",
+ "record": ["京ICP备10036305号-7", "京公网安备11010802022657号"],
+ "links": [
+ {
+ "group": "testname",
+ "link": ["test", "test2", "test3"]
+ },
+ {
+ "group": "testname2",
+ "link": ["test", "test2", "test3"]
+ }
+ ]
}
}
diff --git a/locales/zh-CN.json b/locales/zh-CN.json
index 36a8a85..5b3ef57 100644
--- a/locales/zh-CN.json
+++ b/locales/zh-CN.json
@@ -2,11 +2,11 @@
"nav": {
"news": "最新动态",
"home": "首页",
- "event":{
- "t":"项目发起",
- "child":{
- "act":["AaaO!","TOPO Land"],
- "description":["未建成建筑系列", "TOPO元界岛"]
+ "event": {
+ "t": "项目发起",
+ "child": {
+ "act": ["AaaO!", "TOPO Land"],
+ "description": ["未建成建筑系列", "TOPO元界岛"]
}
},
@@ -14,12 +14,12 @@
"t": "解决方案",
"child": {
"land": {
- "service":["Web 3.0","数字孪生","混合现实"],
- "description": ["区块链及元宇宙空间板块","智慧城市及工业元宇宙解决方案","虚拟、混合现实内容开发"]
+ "service": ["Web 3.0", "数字孪生", "混合现实"],
+ "description": ["区块链及元宇宙空间板块", "智慧城市及工业元宇宙解决方案", "虚拟、混合现实内容开发"]
}
}
},
-
+
"portfolio": "portfolio",
"learn": "learn",
"check": "check app",
@@ -27,14 +27,14 @@
},
"scrolldown": "Scroll down to learn more",
"home": {
- "carousel":{
- "one":{
- "topic":"Never Drink Alone 元宇宙酒吧",
- "description":"The Bar Symphony: 在元宇宙中找到共鸣"
+ "carousel": {
+ "one": {
+ "topic": "Never Drink Alone 元宇宙酒吧",
+ "description": "The Bar Symphony: 在元宇宙中找到共鸣"
},
- "two":{
- "topic":"",
- "description":""
+ "two": {
+ "topic": "",
+ "description": ""
}
},
"sectionOne": {
@@ -43,11 +43,11 @@
"title": ["80+", "20+", "近200万"],
"subtext": ["工程师及技术专家", "落地项目及技术专利", "平方米落地开发量"],
"description": [
- "建筑师、代码工程师、交互设计师及更多领域交叉",
- "自2021年起深耕混合现实体验、虚拟地产及Web 3.0开发",
+ "建筑师、代码工程师、交互设计师及更多领域交叉",
+ "自2021年起深耕混合现实体验、虚拟地产及Web 3.0开发",
"打通现实世界与虚拟世界的体验,以虚赋实"]
-
- }
+
+ }
},
"sectionTwo": {
"title": "合作伙伴"
@@ -76,4 +76,3 @@
}
}
}
-
diff --git a/pages/index.vue b/pages/index.vue
index d3fc579..46a7a92 100644
--- a/pages/index.vue
+++ b/pages/index.vue
@@ -24,35 +24,12 @@ const sectionNine = useSectionNine()
-
-
- {{ $t(sectionOne.topic) }}
-
-
-
-
- {{ $t(col.title) }}
-
-
-
- {{ $t(col.subtext) }}
-
-
- {{ $t(col.description) }}
-
-
-
-
+
-
- {{ $t(sectionTwo.title) }}
-
+
+
-
- {{ $t(sectionThree.title) }}
-
-
- {{ $t(sectionThree.topic) }}
-
-
- {{ $t(sectionThree.description) }}
-
+
-
-
-
-
-
- {{ content.topic }}
-
-
-
-
-
+ :href="content.href" :img="content.img" :topic="content.topic"
+ />
-
-
-
-
-
- {{ content.topic }}
-
-
-
-
-
+ :href="content.href" :img="content.img" :topic="content.topic"
+ />
-
-
-
-
-
- {{ content.topic }}
-
-
-
-
-
+ :href="content.href" :img="content.img" :topic="content.topic"
+ />
@@ -140,7 +76,7 @@ const sectionNine = useSectionNine()
-
-
- {{ $t(sectionFive.title) }}
-
-
- {{ $t(sectionFive.topic) }}
-
-
- {{ $t(sectionFive.description) }}
-
-
+
+
- {{ content.topic }}
+ {{ $t(content.topic) }}
- {{ content.description }}
+ {{ $t(content.description) }}
@@ -177,12 +104,7 @@ const sectionNine = useSectionNine()
-
- {{ $t(sectionSix.topic) }}
-
-
- {{ $t(sectionSix.description) }}
-
+
@@ -194,18 +116,18 @@ const sectionNine = useSectionNine()
- {{ item.title }}
+ {{ $t(item.title) }}
- {{ item.topic }}
+ {{ $t(item.topic) }}
- {{ item.description }}
+ {{ $t(item.description) }}
-
+
- {{ item.link.name }}
+ {{ $t(item.link.name) }}
@@ -215,7 +137,7 @@ const sectionNine = useSectionNine()
-
+
@@ -223,14 +145,14 @@ const sectionNine = useSectionNine()
-
-
- {{ content.title }}
+
+
+ {{ $t(content.title) }}
-
- {{ content.description }}
+
+ {{ $t(content.description) }}
@@ -256,16 +178,8 @@ const sectionNine = useSectionNine()
-
-
- {{ $t(sectionNine.title) }}
-
-
- {{ $t(sectionNine.topic) }}
-
-
- {{ $t(sectionNine.description) }}
-
+
diff --git a/uno.config.ts b/uno.config.ts
index 08da508..b14ed2e 100644
--- a/uno.config.ts
+++ b/uno.config.ts
@@ -19,20 +19,38 @@ import { presetThemeDefault } from '@anu-vue/preset-theme-default'
export default defineConfig({
include: [/.*\/anu-vue\.js(.*)?$/, './**/*.vue', './**/*.md'],
shortcuts: {
- 'text-title': 'text font-bold opacity-90 text-center uppercase',
- 'text-body': 'text-base text-center tracking-normal',
- 'text-description': 'text-md text-stone text-center',
- 'text-h2': 'line-clamp-2 text-5xl text-center leading-20 font-bold',
- 'text-h3': 'line-clamp-2 text-4xl text-center leading-13',
- 'text-h4': 'line-clamp-2 text-2xl text-center leading-10',
- 'text-h5': 'line-clamp-2 text-xl text-center leading-8',
- 'text-h6': 'line-clamp-2 text-lg text-center leading-6',
- 'text-h7': 'line-clamp-3 text text-center',
+ 'text-title': ' font-bold opacity-90 uppercase break-words',
+ 'text-body': 'text-base tracking-normal break-words',
+ 'text-description': 'text-md text-stone break-words',
+ 'text-h2': 'line-clamp-2 text-5xl leading-20 break-words font-bold',
+ 'text-h3': 'line-clamp-2 text-4xl leading-13 break-words',
+ 'text-h4': 'line-clamp-2 text-2xl leading-10 break-words',
+ 'text-h5': 'line-clamp-3 text-xl leading-8 break-words',
+ 'text-h6': 'line-clamp-3 text-lg leading-6 break-words',
+ 'text-h7': 'line-clamp-3 text-base break-words',
+ 'bg-gradient-pink': 'from-pink to-violet bg-gradient-to-r ',
+ 'bg-gradient-blue': 'from-sky to-indigo bg-gradient-to-r ',
+ 'bg-gradient-green': 'from-lime to-green bg-gradient-to-r ',
+ 'bg-gradient-purple': 'from-purple to-fuchsia bg-gradient-to-r ',
+ 'bg-gradient-rose': 'from-orange to-rose bg-gradient-to-r ',
+ 'bg-gradient-yellow': 'from-yellow to-amber bg-gradient-to-r ',
+ 'text-gradient-pink': 'from-pink to-violet bg-gradient-to-r bg-clip-text ',
+ 'text-gradient-blue': 'from-blue to-indigo bg-gradient-to-r bg-clip-text ',
+ 'text-gradient-green': 'from-lime to-green bg-gradient-to-r bg-clip-text ',
+ 'text-gradient-purple': 'from-purple to-fuchsia bg-gradient-to-r bg-clip-text ',
+ 'text-gradient-rose': 'from-orange to-rose bg-gradient-to-r bg-clip-text ',
+ 'text-gradient-yellow': 'from-yellow to-amber bg-gradient-to-r bg-clip-text ',
},
safelist: [
...Array(10).fill('').map((_, i) => `grid-cols-${i + 1}`),
...Array(10).fill('').map((_, i) => `lg:grid-cols-${i + 1}`),
'i-solar-airbuds-left-bold-duotone',
+ 'text-gradient-pink',
+ 'text-gradient-blue',
+ 'text-gradient-green',
+ 'text-gradient-rose',
+ 'text-gradient-purple',
+ 'text-gradient-yello',
],
presets: [
presetAnu(),