From 44268d076d175a3513b6f3e4154c4004f7d2042f Mon Sep 17 00:00:00 2001 From: Starystars67 Date: Thu, 2 Apr 2026 01:34:31 +0100 Subject: [PATCH] Use imported images and URL helper Replace hardcoded asset paths with bundler-friendly imports and a URL helper. Added getFlagUrl in LanguageSelector.vue to resolve flag assets via import.meta.url and replaced string-based src attributes. In Home.vue, import landingLq and landingHq and use them for initial and high-quality hero image loading to avoid direct '/src/...' paths and ensure proper asset resolution. --- src/components/LanguageSelector.vue | 8 ++++++-- src/views/Home.vue | 8 +++++--- 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/src/components/LanguageSelector.vue b/src/components/LanguageSelector.vue index d56ffdd..ec2ac40 100644 --- a/src/components/LanguageSelector.vue +++ b/src/components/LanguageSelector.vue @@ -37,6 +37,10 @@ const toggleDropdown = () => { isOpen.value = !isOpen.value } +const getFlagUrl = (flagName) => { + return new URL(`../assets/flags/${flagName}.png`, import.meta.url).href +} + onMounted(async () => { const saved = localStorage.getItem('lang') || getCurrentLocale() if (saved && saved !== locale.value) { @@ -60,7 +64,7 @@ onMounted(async () => { @click="toggleDropdown" > @@ -85,7 +89,7 @@ onMounted(async () => { ]" @click="selectLanguage(code)" > - + {{ lang.name }} diff --git a/src/views/Home.vue b/src/views/Home.vue index 8ebbb04..8fd07d0 100644 --- a/src/views/Home.vue +++ b/src/views/Home.vue @@ -14,6 +14,8 @@ import { Rocket, } from 'lucide-vue-next' import { useI18n } from 'vue-i18n' +import landingLq from '@/assets/landing-lq.jpg' +import landingHq from '@/assets/landing_hq.png' const { t } = useI18n() const onlinePlayers = ref('...') @@ -21,7 +23,7 @@ const onlineServers = ref('...') const totalServers = ref('...') const isLoading = ref(true) const heroImageLoaded = ref(false) -const heroImageSrc = ref('/landing-lq.jpg') +const heroImageSrc = ref(landingLq) onMounted(async () => { try { @@ -44,9 +46,9 @@ onMounted(async () => { // Load high-quality hero image const img = new Image() - img.src = '/src/assets/landing_hq.png' + img.src = landingHq img.onload = () => { - heroImageSrc.value = '/src/assets/landing_hq.png' + heroImageSrc.value = landingHq heroImageLoaded.value = true } })