|
@@ -49,13 +49,13 @@
|
|
|
</div>
|
|
</div>
|
|
|
|
|
|
|
|
<!-- Image (Desktop Only) -->
|
|
<!-- Image (Desktop Only) -->
|
|
|
- <div v-if="isDesktop" class="relative animate-float block">
|
|
|
|
|
|
|
+ <div class="hidden lg:block relative animate-float">
|
|
|
<div class="relative z-10 p-1.5 bg-white/50 backdrop-blur-sm rounded-[2.5rem] shadow-[0_32px_64px_rgba(0,0,0,0.08)] border border-black/[0.03]">
|
|
<div class="relative z-10 p-1.5 bg-white/50 backdrop-blur-sm rounded-[2.5rem] shadow-[0_32px_64px_rgba(0,0,0,0.08)] border border-black/[0.03]">
|
|
|
<img
|
|
<img
|
|
|
- src="/src/assets/hero-premium.png"
|
|
|
|
|
|
|
+ src="/src/assets/hero-premium.webp"
|
|
|
alt="High Precision 3D Printing"
|
|
alt="High Precision 3D Printing"
|
|
|
class="w-full h-auto rounded-[2rem] aspect-[4/3] object-cover"
|
|
class="w-full h-auto rounded-[2rem] aspect-[4/3] object-cover"
|
|
|
- loading="lazy"
|
|
|
|
|
|
|
+ fetchpriority="high"
|
|
|
/>
|
|
/>
|
|
|
</div>
|
|
</div>
|
|
|
<div class="absolute -top-6 -right-6 w-32 h-32 border border-primary/20 rounded-[2rem] animate-pulse" />
|
|
<div class="absolute -top-6 -right-6 w-32 h-32 border border-primary/20 rounded-[2rem] animate-pulse" />
|
|
@@ -67,25 +67,9 @@
|
|
|
</template>
|
|
</template>
|
|
|
|
|
|
|
|
<script setup lang="ts">
|
|
<script setup lang="ts">
|
|
|
-import { ref, onMounted, onUnmounted } from "vue";
|
|
|
|
|
import { useI18n } from "vue-i18n";
|
|
import { useI18n } from "vue-i18n";
|
|
|
import { ArrowRight, Upload } from "lucide-vue-next";
|
|
import { ArrowRight, Upload } from "lucide-vue-next";
|
|
|
import Button from "./ui/button.vue";
|
|
import Button from "./ui/button.vue";
|
|
|
|
|
|
|
|
const { t } = useI18n();
|
|
const { t } = useI18n();
|
|
|
-
|
|
|
|
|
-const isDesktop = ref(false);
|
|
|
|
|
-
|
|
|
|
|
-const checkIsDesktop = () => {
|
|
|
|
|
- isDesktop.value = window.innerWidth >= 1024;
|
|
|
|
|
-};
|
|
|
|
|
-
|
|
|
|
|
-onMounted(() => {
|
|
|
|
|
- checkIsDesktop();
|
|
|
|
|
- window.addEventListener('resize', checkIsDesktop);
|
|
|
|
|
-});
|
|
|
|
|
-
|
|
|
|
|
-onUnmounted(() => {
|
|
|
|
|
- window.removeEventListener('resize', checkIsDesktop);
|
|
|
|
|
-});
|
|
|
|
|
</script>
|
|
</script>
|