fix: white fade on hero image + update landing image + HQ loader after.

This commit is contained in:
Starystars67
2025-12-31 12:49:10 +00:00
parent ca7b7e9d1b
commit e2a1b4a598
3 changed files with 17 additions and 7 deletions

Before

Width:  |  Height:  |  Size: 157 KiB

After

Width:  |  Height:  |  Size: 157 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 MiB

+17 -7
View File
@@ -19,6 +19,8 @@ const { t } = useI18n()
const onlinePlayers = ref('...') const onlinePlayers = ref('...')
const onlineServers = ref('...') const onlineServers = ref('...')
const isLoading = ref(true) const isLoading = ref(true)
const heroImageLoaded = ref(false)
const heroImageSrc = ref('/landing-lq.jpg')
onMounted(async () => { onMounted(async () => {
try { try {
@@ -36,6 +38,14 @@ onMounted(async () => {
} finally { } finally {
isLoading.value = false isLoading.value = false
} }
// Load high-quality hero image
const img = new Image()
img.src = '/landing_hq.png'
img.onload = () => {
heroImageSrc.value = '/landing_hq.png'
heroImageLoaded.value = true
}
}) })
const features = computed(() => [ const features = computed(() => [
@@ -154,12 +164,12 @@ const faqs = computed(() => [
<!-- Background Image with Overlay --> <!-- Background Image with Overlay -->
<div class="absolute inset-0 overflow-hidden"> <div class="absolute inset-0 overflow-hidden">
<img <img
src="/landing-1.jpg" :src="heroImageSrc"
alt="BeamMP Gameplay" alt="BeamMP Gameplay"
class="w-full h-full object-cover" class="w-full h-full object-cover transition-all duration-500"
/> />
<div <div
class="absolute inset-0 bg-linear-to-b from-black/30 dark:from-black/70 via-black/40 dark:via-black/60 to-neutral-0 dark:to-neutral-950" class="absolute inset-0 bg-linear-to-b from-white/30 dark:from-black/70 via-white/50 dark:via-black/60 to-white dark:to-neutral-950"
/> />
<!--<div class="absolute inset-0 bg-linear-to-r from-beammp-blue/20 to-beammp-orange/20" />--> <!--<div class="absolute inset-0 bg-linear-to-r from-beammp-blue/20 to-beammp-orange/20" />-->
</div> </div>
@@ -168,10 +178,10 @@ const faqs = computed(() => [
<div class="relative max-w-6xl mx-auto px-4 py-32 md:py-40"> <div class="relative max-w-6xl mx-auto px-4 py-32 md:py-40">
<div class="max-w-4xl mx-auto text-center space-y-8 animate-fade-in"> <div class="max-w-4xl mx-auto text-center space-y-8 animate-fade-in">
<h1 <h1
class="text-5xl md:text-7xl font-bold leading-tight text-white" class="text-5xl md:text-7xl font-bold leading-tight"
v-html="$t('message.home.hero.title', { game: 'BeamNG.drive' })" v-html="$t('message.home.hero.title', { game: 'BeamNG.drive' })"
/> />
<p class="text-xl md:text-2xl text-neutral-200"> <p class="text-xl md:text-2xl dark:text-neutral-200">
{{ $t('message.home.hero.subtitle') }} {{ $t('message.home.hero.subtitle') }}
</p> </p>
@@ -187,7 +197,7 @@ const faqs = computed(() => [
</a> </a>
<RouterLink <RouterLink
:to="`/${$i18n.locale}/servers`" :to="`/${$i18n.locale}/servers`"
class="group flex items-center gap-3 bg-white/10 hover:bg-white/20 backdrop-blur-sm border border-white/30 px-8 py-4 rounded-lg font-semibold text-lg transition-all text-white" class="group flex items-center gap-3 dark:bg-white/10 bg-black/20 hover:bg-white/20 backdrop-blur-sm border border-white/30 px-8 py-4 rounded-lg font-semibold text-lg transition-all text-white"
> >
<Server class="w-6 h-6" /> <Server class="w-6 h-6" />
{{ $t('message.home.hero.browse_servers') }} {{ $t('message.home.hero.browse_servers') }}
@@ -207,7 +217,7 @@ const faqs = computed(() => [
{{ stat.value }} </span {{ stat.value }} </span
>{{ stat.suffix }} >{{ stat.suffix }}
</div> </div>
<div class="text-sm md:text-base text-neutral-300 mt-1">{{ stat.label }}</div> <div class="text-sm md:text-base text-neutral-700 dark:text-neutral-300 mt-1">{{ stat.label }}</div>
</div> </div>
</div> </div>
</div> </div>