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 @@ + + + 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 @@ + + + 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(),