-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathapp.vue
81 lines (69 loc) · 1.27 KB
/
app.vue
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
<script lang="ts" setup>
useSeoMeta({
googleSiteVerification: 'sRar0M0gLALXwyv7ycuIFXRlG4e2Sly_RQNESdxZlgs',
})
const { x, y } = useMouse({
touch: false,
type: 'client',
})
const cords = computed(() => {
return {
x: x.value - 40,
y: y.value - 40,
}
})
</script>
<template>
<Blob
id="cursor-blob"
class="animate-cursor-blob fixed z-9 blur-xl h-20! w-20!"
:style="{ top: `${cords.y}px`, left: `${cords.x}px` }"
/>
<!-- Header -->
<Header />
<!-- Main Content -->
<BgWrapper>
<NuxtPage class="z-10 font-sans" />
</BgWrapper>
<!-- Footer -->
<Footer />
</template>
<style lang="postcss">
#__nuxt {
position: relative;
}
html,
main {
@apply bg-white
scroll-behavior: smooth;
}
html.dark,
html.dark main {
@apply bg-[#1f1f1f] text-white
}
body {
padding-bottom: env(safe-area-inset-bottom);
}
.animate-cursor-blob {
animation: cursor-blob-bg 30s infinite;
animation-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
animation-delay: 0.5s;
}
@keyframes cursor-blob-bg {
0% {
@apply bg-teal/90
}
25% {
@apply bg-purple/90
}
50% {
@apply bg-blue/90
}
75% {
@apply bg-pink
}
100% {
@apply bg-cyan/90
}
}
</style>