Skip to content

Commit 52ac17e

Browse files
Add welcome and experience section in home page
1 parent 6e03252 commit 52ac17e

File tree

7 files changed

+153
-24
lines changed

7 files changed

+153
-24
lines changed
Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,64 @@
1+
<template>
2+
<div ref="vantaGlobe">
3+
<div
4+
class="d-flex justify-center align-center"
5+
:style="{
6+
minHeight: '600px',
7+
8+
}"
9+
>
10+
<v-container class="mt-16">
11+
<div>
12+
<h1 class="text-h1 font-weight-bold text-center mb-8">
13+
Ready to Transform Your Kubernetes Experience?
14+
</h1>
15+
<p class="text-body-1 text-center mx-auto pa-2 rounded-lg" :style="{ maxWidth: '600px', backgroundColor: 'rgba(var(--v-theme-background), 0.8)' }">
16+
Join a growing community of developers and DevOps engineers who trust Mycelium Cloud for their production workloads.
17+
</p>
18+
19+
<div class="d-flex justify-center mt-4">
20+
<v-btn
21+
class="btn-form"
22+
text="Deploy Kubernetes Cluster"
23+
variant="flat"
24+
color="primary"
25+
to="/dashboard/clusters/deploy"
26+
/>
27+
</div>
28+
</div>
29+
</v-container>
30+
</div>
31+
</div>
32+
</template>
33+
34+
<script setup lang="ts">
35+
ensureThreeGlobal()
36+
37+
const vantaGlobe = ref<HTMLElement | null>(null)
38+
39+
useHead({
40+
script: [
41+
{
42+
async: true,
43+
src: "/scripts/vanta.globe.min.js",
44+
defer: true,
45+
onload() {
46+
window?.VANTA?.GLOBE?.({
47+
el: vantaGlobe.value,
48+
mouseControls: true,
49+
touchControls: true,
50+
gyroControls: true,
51+
minHeight: 200,
52+
minWidth: 200,
53+
scale: 1,
54+
scaleMobile: 1,
55+
color: 0x2B3951,
56+
color2: 0x2B3951,
57+
size: 0.75,
58+
backgroundColor: 0x0A192F,
59+
})
60+
},
61+
},
62+
],
63+
})
64+
</script>
Lines changed: 65 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,65 @@
1+
<template>
2+
<div ref="vantaDots">
3+
<div
4+
class="d-flex justify-center align-center"
5+
:style="{
6+
minHeight: '700px',
7+
background: `
8+
url(${myceliumBg1}) no-repeat bottom right/40%,
9+
url(${myceliumBg2}) no-repeat -120px 80px/30%
10+
`,
11+
}"
12+
>
13+
<v-container>
14+
<div>
15+
<h1 class="text-h1 font-weight-bold text-center mb-4">
16+
Mycelium Cloud
17+
</h1>
18+
<p class="text-body-1 text-center text-primary mx-auto" :style="{ maxWidth: '600px' }">
19+
Revolutionary Kubernetes platform that transforms how teams deploy and manage cloud-native
20+
applications at scale
21+
</p>
22+
</div>
23+
</v-container>
24+
</div>
25+
</div>
26+
27+
<VDivider />
28+
</template>
29+
30+
<script setup lang="ts">
31+
import myceliumBg1 from "~/assets/images/mycelium_bg_1.svg"
32+
import myceliumBg2 from "~/assets/images/mycelium_bg_2.svg"
33+
34+
ensureThreeGlobal()
35+
36+
const vantaDots = ref<HTMLElement | null>(null)
37+
38+
useHead({
39+
script: [
40+
{
41+
async: true,
42+
src: "/scripts/vanta.dots.min.js",
43+
defer: true,
44+
onload() {
45+
window?.VANTA?.DOTS?.({
46+
el: vantaDots.value,
47+
mouseControls: true,
48+
touchControls: true,
49+
gyroControls: false,
50+
minHeight: 200,
51+
minWidth: 200,
52+
scale: 1,
53+
scaleMobile: 1,
54+
color: 0x2B3951,
55+
color2: 0x2B3951,
56+
backgroundColor: 0x0A192F,
57+
size: 5,
58+
spacing: 70,
59+
showLines: true,
60+
})
61+
},
62+
},
63+
],
64+
})
65+
</script>

frontend/kubecloud-v2/global.d.ts

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,3 +6,13 @@ declare module "axios" {
66
notify?: boolean
77
}
88
}
9+
10+
declare global {
11+
interface Window {
12+
THREE?: typeof import("three")
13+
VANTA?: {
14+
DOTS?: (options: Record<string, any>) => void
15+
GLOBE?: (options: Record<string, any>) => void
16+
}
17+
}
18+
}

frontend/kubecloud-v2/pages/index.vue

Lines changed: 3 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -1,26 +1,6 @@
11
<template>
22
<div>
3-
<div
4-
class="border-b d-flex justify-center align-center"
5-
:style="{
6-
minHeight: '500px',
7-
background: `
8-
url(${myceliumBg1}) no-repeat bottom right/40%,
9-
url(${myceliumBg2}) no-repeat -120px 80px/30%,
10-
linear-gradient(100.95deg, #0B1A30 71.46%, #225196 145.62%)
11-
`,
12-
}"
13-
>
14-
<v-container>
15-
<h1 class="text-h1 font-weight-bold text-center mb-4">
16-
Mycelium Cloud
17-
</h1>
18-
<p class="text-body-1 text-center text-primary mx-auto" :style="{ maxWidth: '600px' }">
19-
Revolutionary Kubernetes platform that transforms how teams deploy and manage cloud-native
20-
applications at scale
21-
</p>
22-
</v-container>
23-
</div>
3+
<HomeWelcomeSection />
244

255
<v-container class="my-16">
266
<div v-if="isLoading || stats.length === 0" class="d-flex justify-center align-center" :style="{ height: '198px' }">
@@ -42,13 +22,12 @@
4222
</v-row>
4323
</v-fade-transition>
4424
</v-container>
25+
26+
<HomeExperienceSection />
4527
</div>
4628
</template>
4729

4830
<script setup lang="ts">
49-
import myceliumBg1 from "~/assets/images/mycelium_bg_1.svg"
50-
import myceliumBg2 from "~/assets/images/mycelium_bg_2.svg"
51-
5231
definePageMeta({ middleware: "public" })
5332
5433
const { stats, isLoading } = useStats({ exclude: ["users", "clusters", "balance"] })

frontend/kubecloud-v2/public/scripts/vanta.dots.min.js

Lines changed: 1 addition & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)