Skip to content

Commit 0553ead

Browse files
Add use-cases page
1 parent d2a7642 commit 0553ead

8 files changed

Lines changed: 122 additions & 37 deletions

File tree

frontend/kubecloud-v2/components/cards/FeatureCard.vue

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,10 +8,20 @@
88

99
<p class="text-h5 font-weight-bold mt-4 mb-1 text-no-wrap" v-text="title" />
1010
<p class="text-body-1 text-accent" v-text="description" />
11+
<div v-if="tags" class="d-flex justify-center ga-2 mt-4 flex-wrap">
12+
<v-chip
13+
v-for="tag in tags"
14+
:key="tag"
15+
size="small"
16+
variant="tonal"
17+
color="primary"
18+
:text="tag"
19+
/>
20+
</div>
1121
</v-card>
1222
</div>
1323
</template>
1424

1525
<script setup lang="ts">
16-
defineProps<{ icon: string, title: string, description: string }>()
26+
defineProps<{ icon: string, title: string, description: string, tags?: string[] }>()
1727
</script>

frontend/kubecloud-v2/components/features/FeatureSectionLayout.vue

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,12 @@
11
<template>
22
<v-row>
3-
<v-col cols="6" class="position-relative" :style="{ height: '500px' }" :order="reversed ? 'last' : undefined">
3+
<v-col
4+
cols="12"
5+
md="6"
6+
class="position-relative"
7+
:style="{ height: '500px' }"
8+
:order="reversed || $vuetify.display.smAndDown ? 'last' : undefined"
9+
>
410
<div
511
class="position-absolute h-100 w-100 inset-0"
612
:style="{
@@ -21,13 +27,13 @@
2127
/>
2228
</v-col>
2329

24-
<v-col cols="6" class="d-flex align-center">
30+
<v-col cols="12" md="6" class="d-flex align-center">
2531
<div>
2632
<h3 class="text-h4 font-weight-bold mb-2" v-text="title" />
2733

2834
<div class="text-subtitle-1 text-accent" v-text="description" />
2935

30-
<div class="d-flex ga-2 mt-2">
36+
<div class="d-flex justify-center ga-2 mt-4 flex-wrap">
3137
<v-chip
3238
v-for="tag in tags"
3339
:key="tag"

frontend/kubecloud-v2/components/home/HomeExperienceSection.vue

Lines changed: 1 addition & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -43,20 +43,7 @@ useHead({
4343
src: "/scripts/vanta.globe.min.js",
4444
defer: true,
4545
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-
})
46+
applyVantaGlobe(vantaGlobe.value!)
6047
},
6148
},
6249
],

frontend/kubecloud-v2/components/home/HomeWelcomeSection.vue

Lines changed: 1 addition & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -42,22 +42,7 @@ useHead({
4242
src: "/scripts/vanta.dots.min.js",
4343
defer: true,
4444
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-
})
45+
applyVantaDots(vantaDots.value!)
6146
},
6247
},
6348
],

frontend/kubecloud-v2/global.d.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,8 @@ declare global {
1313
VANTA?: {
1414
DOTS?: (options: Record<string, any>) => void
1515
GLOBE?: (options: Record<string, any>) => void
16+
BIRDS?: (options: Record<string, any>) => void
17+
HALO?: (options: Record<string, any>) => void
1618
}
1719
}
1820
}

frontend/kubecloud-v2/pages/features.vue

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,11 @@
11
<template>
2-
<v-container>
3-
<div>Features</div>
2+
<v-container class="py-16">
3+
<h1 class="text-h2 font-weight-bold text-center mb-4">
4+
Powerful Features
5+
</h1>
6+
<p class="text-body-1 text-center text-primary mx-auto" :style="{ maxWidth: '600px' }">
7+
Everything you need to build, deploy, and scale your applications with confidence.
8+
</p>
49

510
<FeatureMyceliumPanel />
611
<FeatureWebGateway />
Lines changed: 55 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,61 @@
11
<template>
2-
<div>Use Cases</div>
2+
<div ref="vantaDots" class="h-100">
3+
<v-container class="py-16">
4+
<div class="mb-16">
5+
<h1 class="text-h2 font-weight-bold text-center mb-4">
6+
Use Cases
7+
</h1>
8+
<p class="text-body-1 text-center text-primary mx-auto" :style="{ maxWidth: '600px' }">
9+
Explore how Mycelium Cloud empowers different industries and teams.
10+
</p>
11+
</div>
12+
13+
<VRow>
14+
<VCol v-for="feature in features" :key="feature.title" cols="4">
15+
<FeatureCard v-bind="feature" />
16+
</VCol>
17+
</VRow>
18+
</v-container>
19+
</div>
320
</template>
421

522
<script setup lang="ts">
623
definePageMeta({ middleware: "public" })
24+
25+
ensureThreeGlobal()
26+
const vantaDots = ref<HTMLElement | null>(null)
27+
28+
useHead({
29+
script: [
30+
{
31+
async: true,
32+
src: "/scripts/vanta.dots.min.js",
33+
defer: true,
34+
onload() {
35+
applyVantaDots(vantaDots.value!)
36+
},
37+
},
38+
],
39+
})
40+
41+
const features = [
42+
{
43+
icon: "mdi-brain",
44+
title: "AI/ML Training",
45+
description: "Run GPU-accelerated workloads for deep learning and data science on demand.",
46+
tags: ["GPU Acceleration", "Scalable Compute", "Cost Optimization"],
47+
},
48+
{
49+
icon: "mdi-domain",
50+
title: "Enterprise Kubernetes",
51+
description: "Deploy production-grade clusters with full control and no vendor lock-in.",
52+
tags: ["High Availability", "Security", "Compliance"],
53+
},
54+
{
55+
icon: "mdi-router-wireless",
56+
title: "Edge & IoT",
57+
description: "Leverage global nodes for low-latency edge computing and IoT applications.",
58+
tags: ["Low Latency", "Global Distribution", "Real-time Processing"],
59+
},
60+
]
761
</script>

frontend/kubecloud-v2/utils/three.ts

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,3 +7,39 @@ export function ensureThreeGlobal() {
77

88
return THREE
99
}
10+
11+
export function applyVantaDots(el: HTMLElement) {
12+
window?.VANTA?.DOTS?.({
13+
el,
14+
mouseControls: true,
15+
touchControls: true,
16+
gyroControls: false,
17+
minHeight: 200,
18+
minWidth: 200,
19+
scale: 1,
20+
scaleMobile: 1,
21+
color: 0x2B3951,
22+
color2: 0x2B3951,
23+
backgroundColor: 0x0A192F,
24+
size: 5,
25+
spacing: 70,
26+
showLines: true,
27+
})
28+
}
29+
30+
export function applyVantaGlobe(el: HTMLElement) {
31+
window?.VANTA?.GLOBE?.({
32+
el,
33+
mouseControls: true,
34+
touchControls: true,
35+
gyroControls: true,
36+
minHeight: 200,
37+
minWidth: 200,
38+
scale: 1,
39+
scaleMobile: 1,
40+
color: 0x2B3951,
41+
color2: 0x2B3951,
42+
size: 0.75,
43+
backgroundColor: 0x0A192F,
44+
})
45+
}

0 commit comments

Comments
 (0)