chore(ads): remove all ads

This commit is contained in:
Rico van Zelst
2025-12-31 22:38:31 +01:00
parent 4572d97925
commit 329e071e2b
20 changed files with 40 additions and 170 deletions

View File

@@ -14,9 +14,6 @@
Frequently Asked Questions about the popular League of Legends champion Heimerdinger.
</h2>
</div>
<div class="flex justify-center my-4">
<x-ads.horizontal-banner />
</div>
<div class="grid max-w-xl mx-auto mt-8 divide-y divide-neutral-700">
<x-about.faq.dropdown
question="Is Heimerdinger a yordle?"

View File

@@ -14,9 +14,6 @@
Frequently Asked Questions about League of Legends and Riot Games.
</p>
</div>
<div class="flex justify-center my-4">
<x-ads.horizontal-banner />
</div>
<div class="grid max-w-xl mx-auto mt-8 divide-y divide-neutral-700">
<x-about.faq.dropdown question="Is League of Legends on Steam?"
answer="League of Legends is not available on Steam. It was developed and published by Riot Games and has its own client for downloading and playing the game." />
@@ -48,7 +45,7 @@
<x-about.faq.dropdown question="When League of Legends season 14 end?"
answer="Season 14 is predicted to end on January 10, 2025. Season 15 will start the morning after when 15.1 is live." />
<x-about.faq.dropdown question="When League of Legends season 14 split 2end?"
<x-about.faq.dropdown question="When League of Legends season 14 split 2end?"
answer="Season 14 Split 2 will end on September 24, 2024." />
<x-about.faq.dropdown question="Is League of Legends Arena mode permanent?"
@@ -103,4 +100,4 @@
answer="Victorious Tryndamere was an award given to players who actively played ranked in Season 13. Each rank has its own chroma." />
</div>
</div>
@endsection
@endsection

View File

@@ -27,9 +27,7 @@
Legends</a>
</div>
<div class="flex justify-center my-4">
<x-ads.horizontal-banner />
</div>
<div class="flex flex-col items-center justify-center mt-5">
<h2 class="text-lg font-bold text-center text-gray-100 uppercase">
@@ -70,7 +68,7 @@
Which boasts a 100% rating on Rotten Tomatoes, 9/10 on IMDB, 10/10 on IGN and a 97/100 on Google
Reviews.
</p>
<x-ads.in-article />
</div>
<hr class="w-48 h-1 mx-auto my-4 border-0 rounded md:my-10 bg-stone-500">
<div class="flex flex-col items-center mt-5">
@@ -96,7 +94,7 @@
class="underline decoration-orange-500/50" rel="noopener" target="_blank">this
website</a>. I will try to respond as soon as possible.
</p>
<x-ads.in-article />
</div>
<hr class="w-48 h-1 mx-auto my-4 border-0 rounded md:my-10 bg-stone-500">
<div class="flex flex-col items-center mt-5">
@@ -129,7 +127,7 @@
commitment to ethical progress have made him an essential part of the series, offering both wisdom and
intrigue to the unfolding story of Arcane. So I'm sure we will be seeing him again in Arcane Season 2.
</p>
<x-ads.in-article />
</div>
</div>
@endsection

View File

@@ -14,10 +14,6 @@
class="text-lg font-bold text-center text-transparent uppercase bg-gradient-to-bl from-orange-300 to-orange-500 bg-clip-text">
LoL Icons & Emotes</h2>
<div class="flex justify-center my-4">
<x-ads.common />
</div>
<div class="container flex items-center justify-center flex-grow p-4 mx-auto mt-3">
<div class="items-center justify-center text-center align-middle">
<img class="items-center mx-auto" src="{{ asset('img/heimerdinger-emote.webp') }}" alt="Heimerdinger Emote">

View File

@@ -12,8 +12,6 @@
{{ $champion->title }}
</h2>
<x-ads.common />
<!-- Hero Section with Splash Art -->
<div class="container mx-auto mt-8">
<div class="relative overflow-hidden border shadow-sm rounded-2xl bg-stone-800/40 border-neutral-300/5 shadow-stone-800/80"
@@ -43,8 +41,8 @@
<a href="{{ $champion->getChampionImageAttribute(true) }}" rel="noopener" target="_blank"
class="inline-flex items-center px-3 py-1 text-sm font-bold text-white transition bg-orange-500 rounded-lg bg-opacity-80 hover:bg-opacity-100">
<span>View Full Splash Art</span>
<svg xmlns="http://www.w3.org/2000/svg" class="w-4 h-4 ml-1" fill="none"
viewBox="0 0 24 24" stroke="currentColor">
<svg xmlns="http://www.w3.org/2000/svg" class="w-4 h-4 ml-1" fill="none" viewBox="0 0 24 24"
stroke="currentColor">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2"
d="M15 12a3 3 0 11-6 0 3 3 0 016 0z" />
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2"
@@ -248,7 +246,7 @@
<img src="//wsrv.nl/?url={{ $skin->getSkinImageAttribute(true) }}&w=240&h=142&output=webp&q=80&fit=cover"
srcset="//wsrv.nl/?url={{ $skin->getSkinImageAttribute(true) }}&w=240&h=142&output=webp&q=80&fit=cover 1x,
//wsrv.nl/?url={{ $skin->getSkinImageAttribute(true) }}&w=480&h=284&output=webp&q=80&fit=cover 2x"
//wsrv.nl/?url={{ $skin->getSkinImageAttribute(true) }}&w=480&h=284&output=webp&q=80&fit=cover 2x"
@if ($key < 6) loading="eager" @else loading="lazy" @endif
class="relative z-10 object-cover w-full h-full transition-transform duration-700 group-hover:scale-105"
alt="{{ $champion->name }} {{ $skin->name }} Splash Art" />
@@ -285,8 +283,7 @@
@if (count($streamers) > 0)
<div class="grid grid-cols-2 gap-4 md:grid-cols-3 lg:grid-cols-4">
@foreach ($streamers as $streamer)
<div
class="p-3 transition-all border rounded-lg bg-stone-700/20 border-white/5 hover:bg-stone-700/30">
<div class="p-3 transition-all border rounded-lg bg-stone-700/20 border-white/5 hover:bg-stone-700/30">
<a href="{{ $streamer->streamer_url }}" target="_blank" rel="noopener noreferrer"
class="flex flex-col items-center text-neutral-100 hover:text-orange-400">
<span
@@ -301,8 +298,8 @@
@else
<div class="p-4 text-center border rounded-lg bg-stone-700/20 border-white/5">
<div class="flex flex-col items-center">
<svg xmlns="http://www.w3.org/2000/svg" class="w-12 h-12 mb-3 text-orange-400/70"
fill="none" viewBox="0 0 24 24" stroke="currentColor">
<svg xmlns="http://www.w3.org/2000/svg" class="w-12 h-12 mb-3 text-orange-400/70" fill="none"
viewBox="0 0 24 24" stroke="currentColor">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2"
d="M15 10l4.553-2.276A1 1 0 0121 8.618v6.764a1 1 0 01-1.447.894L15 14M5 18h8a2 2 0 002-2V8a2 2 0 00-2-2H5a2 2 0 00-2 2v8a2 2 0 002 2z" />
</svg>
@@ -444,4 +441,4 @@
@endpush
@push('bottom_scripts')
@include('popper::assets')
@endpush
@endpush

View File

@@ -15,17 +15,12 @@
<x-champions.lane-selector class="text-center" />
</div>
<div class="flex justify-center my-4">
<x-ads.horizontal-banner />
</div>
<div class="container flex items-center justify-center p-4 mx-auto mt-3">
<div class="grid grid-cols-1 gap-8 sm:grid-cols-2 lg:grid-cols-3">
@foreach ($champions as $key => $champion)
<div
class="champ-card flex flex-col text-gray-700 bg-stone-800/40 shadow-md rounded-2xl bg-clip-border
border border-stone-800 hover:border-orange-500/10 hover:shadow-orange-500/10
@if (isset($roles[$key]) && $roles[$key] !== null && isset($roles[$key]->roles)) @foreach ($roles[$key]->roles as $lane)
<div class="champ-card flex flex-col text-gray-700 bg-stone-800/40 shadow-md rounded-2xl bg-clip-border
border border-stone-800 hover:border-orange-500/10 hover:shadow-orange-500/10
@if (isset($roles[$key]) && $roles[$key] !== null && isset($roles[$key]->roles)) @foreach ($roles[$key]->roles as $lane)
POS-{{ $lane }}
@endforeach @endif">
<div class="mx-4 mt-4 overflow-hidden border-2 rounded-2xl bg-clip-border border-orange-400/40">
@@ -55,8 +50,7 @@
<span class="sr-only">{{ $lane }}</span>
<img {{ Popper::arrow('translucent')->theme('dark')->position('bottom')->pop($lane) }}
@if ($key < 8) loading="auto" @else loading="lazy" @endif
src="{{ getRoleIcon($lane) }}" alt="{{ $lane }} Icon"
class="mr-1 w-7 h-7">
src="{{ getRoleIcon($lane) }}" alt="{{ $lane }} Icon" class="mr-1 w-7 h-7">
@endforeach
@endif
</p>
@@ -76,4 +70,4 @@
</div>
</div>
</section>
</div>
</div>

View File

@@ -9,10 +9,6 @@
<x-emotes.searchbar />
<div class="flex justify-center my-4">
<x-ads.horizontal-banner />
</div>
<div class="container flex items-center justify-center p-4 mx-auto mt-3">
<div class="grid grid-cols-2 gap-6 md:grid-cols-3 lg:grid-cols-6">
@@ -38,8 +34,5 @@
@endforeach
</div>
</div>
<div class="flex justify-center my-4">
<x-ads.horizontal-banner />
</div>
{{ $emotes->links() }}
</section>
</section>

View File

@@ -85,8 +85,5 @@
</p>
</a>
</div>
<div class="w-full mt-12">
<x-ads.horizontal-banner />
</div>
</div>
</section>
</section>

View File

@@ -8,10 +8,6 @@
Summoner Icons</h1>
<x-icons.searchbar />
<div class="flex justify-center my-4">
<x-ads.horizontal-banner />
</div>
<div class="container flex items-center justify-center p-4 mx-auto mt-3">
<div class="grid grid-cols-2 gap-12 md:grid-cols-3 lg:grid-cols-6">
@@ -49,8 +45,5 @@
@endforeach
</div>
</div>
<div class="flex justify-center my-4">
<x-ads.horizontal-banner />
</div>
{{ $icons->links() }}
</section>
</section>

View File

@@ -139,36 +139,6 @@
</div>
</div>
<div class="ad-slot-container mx-auto my-5 w-full max-w-[970px] min-h-[250px]">
<div class="ad-slot-wrapper"
style="
width: 100%;
max-width: 970px; /* Matches AdSense typical leaderboard size */
min-height: 250px; /* Matches AdSense typical medium rectangle or leaderboard */
margin: 0 auto; /* Centered */
display: flex;
justify-content: center;
align-items: center;
overflow: hidden;
">
<x-ads.common />
</div>
<div id="donation-fallback"
class="hidden w-full max-w-[970px] min-h-[250px] p-6 mx-auto border shadow-md bg-stone-800/40 border-neutral-300/5 rounded-2xl text-center flex flex-col justify-center items-center">
<p class="mb-4 text-lg text-neutral-100">
We appreciate you using Heimerdinger.lol!
</p>
<p class="mb-6 text-neutral-200">
Your support helps us keep the site running. Please consider donating.
</p>
<a href="/donate"
class="inline-flex items-center px-6 py-3 text-lg font-bold text-white transition bg-orange-500 rounded-lg bg-opacity-80 hover:bg-opacity-100">
Support Us
</a>
</div>
</div>
<div class="grid grid-cols-1 gap-6 mt-8 md:grid-cols-2">
<div class="p-6 border shadow-md bg-stone-800/40 border-neutral-300/5 rounded-2xl">
<h3 class="mb-4 text-xl font-bold text-orange-400">
@@ -382,37 +352,4 @@
echo json_encode($jsonObject, JSON_PRETTY_PRINT | JSON_UNESCAPED_SLASHES);
@endphp
</script>
<script>
document.addEventListener('DOMContentLoaded', function() {
const adWrapper = document.querySelector('.ad-slot-wrapper');
const fallbackContainer = document.getElementById('donation-fallback');
setTimeout(function() {
const adElement = adWrapper.querySelector('ins.adsbygoogle');
let adIsVisible = false;
if (adElement) {
// check if ad is marked as unfilled
const adStatus = adElement.getAttribute('data-ad-status');
if (adStatus === 'unfilled') {
adIsVisible = false;
} else {
const adRect = adElement.getBoundingClientRect();
if (adRect.width > 1 && adRect.height > 1 && getComputedStyle(adElement).display !==
'none') {
adIsVisible = true;
}
}
}
if (!adIsVisible) {
if (adWrapper) adWrapper.style.display = 'none';
if (fallbackContainer) fallbackContainer.classList.remove('hidden');
} else {
if (adWrapper) adWrapper.style.display = 'flex';
if (fallbackContainer) fallbackContainer.classList.add('hidden');
}
}, 2575);
});
</script>
@endpush

View File

@@ -22,10 +22,7 @@
</article>
@endforeach
</div>
<div class="flex justify-center my-4">
<x-ads.horizontal-banner />
</div>
<div class="mt-4">
{{ $posts->links() }}
</div>
</div>
</div>

View File

@@ -12,9 +12,6 @@
class="text-lg font-bold text-center text-transparent uppercase sm:text-xl bg-gradient-to-bl from-orange-300 to-orange-500 bg-clip-text">
All champions & skins on sale</h2>
<div class="flex justify-center my-4">
<x-ads.horizontal-banner />
</div>
<h3
class="mt-8 mb-2 text-2xl font-bold text-center text-transparent uppercase sm:text-3xl bg-gradient-to-bl from-orange-300 to-orange-500 bg-clip-text">
Champions on Sale</h3>
@@ -49,14 +46,9 @@
</div>
</a>
@endforeach
<x-ads.common />
</div>
<div class="flex justify-center my-4">
<x-ads.horizontal-banner />
</div>
<h3
class="mt-8 text-2xl font-bold text-center text-transparent uppercase sm:text-3xl bg-gradient-to-bl from-orange-300 to-orange-500 bg-clip-text">
Skins on Sale</h3>
@@ -96,4 +88,4 @@
</section>
</section>

View File

@@ -17,8 +17,6 @@
</a>
</p>
<x-ads.common />
<!-- Hero Section with Splash Art -->
<div class="container mx-auto mt-8">
<!-- Compact Splash Art Section -->

View File

@@ -8,10 +8,6 @@
Champion Skins</h1>
<x-skins.searchbar />
<div class="flex justify-center my-4">
<x-ads.horizontal-banner />
</div>
@fragment('skin-list')
<div id="skin-list">
<div class="container flex items-center justify-center p-4 mx-auto mt-3">
@@ -51,8 +47,7 @@
</div>
<div class="flex items-end justify-center px-4 mt-auto mb-2 text-2xl text-white md:text-lg">
<p class="text-sm font-medium hover:text-orange-400"><a
href="/skin/{{ $skin->slug }}">More
<p class="text-sm font-medium hover:text-orange-400"><a href="/skin/{{ $skin->slug }}">More
details
<x-iconsax-bul-arrow-circle-right class="inline-block w-6" />
</a>
@@ -66,4 +61,4 @@
</div>
@endfragment
</section>
</section>

View File

@@ -36,10 +36,6 @@
width="114" style="border: 0; border-radius: 6px;"></iframe>
</div>
<div class="flex justify-center my-4">
<x-ads.horizontal-banner />
</div>
<div class="mt-4">
<img src="https://cdn.heimerdinger.lol/cat_excited.gif" alt="Excited Cat Emote" class="mx-auto w-28">
</div>

View File

@@ -1,18 +1,15 @@
@extends('layouts.app')
@section('title', 'Heimerdinger • Discover LoL: Champions, Skins, Sales & More!')
@section('description',
@section(
'description',
'Explore League of Legends champions, skins, and game assets on Heimerdinger.
Your ultimate source for in-depth information on LoL gaming. Dive in now!')
Your ultimate source for in-depth information on LoL gaming. Dive in now!'
)
@section('content')
<x-home.features />
@if ($upcomingSkins != [])
<x-home.upcoming_skins :upcomingSkins="$upcomingSkins" />
<div class="flex justify-center my-4">
<x-ads.horizontal-banner />
</div>
@endif
<x-home.recent_skins :latestSkins="$latestSkins" />
<x-home.recent_skins :latestSkins="$latestSkins" />
@endsection

View File

@@ -20,8 +20,6 @@
<meta name="msapplication-config" content="/img/icons/browserconfig.xml">
<meta name="theme-color" content="#ff7c47">
<meta name="google-adsense-account" content="ca-pub-4505764048662657">
<title>@yield('title')</title>
<meta name="description" content="@yield('description')">
@@ -57,10 +55,6 @@
@vite(['resources/css/app.css', 'resources/js/app.js'])
<!-- Google AdSense -->
<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client={{ config('ads.client_id') }}"
crossorigin="anonymous"></script>
@stack('top_scripts')
<x-analytics.umami />
</head>
@@ -68,9 +62,8 @@
<body class="antialiased bg-stone-900 dark scroll-smooth">
<x-navbar />
@yield('content')
<x-ads.common />
<x-footer />
@stack('bottom_scripts')
</body>
</html>
</html>

View File

@@ -35,15 +35,15 @@
<h2 class="text-sm italic text-center text-orange-400 not-prose" itemprop="description">
{{ $post->description }}
</h2>
<x-ads.in-article />
<p>
{{ $post->contents }}
</p>
<x-ads.in-article />
<p class="mt-3 text-sm text-center">
Tagged with: <span itemprop="keywords" class="italic">
{{ isset($post->tags) ? implode(', ', $post->tags) : 'League of Legends' }}</span>
</p>
</div>
</article>
@endsection
@endsection

View File

@@ -15,9 +15,6 @@
<h2 class="mt-4 text-stone-300">
See what's coming next to Heimerdinger.lol. Vote on features you'd like to see implemented next.
</h2>
<div class="flex justify-center my-4">
<x-ads.horizontal-banner />
</div>
<p class="mt-4 mb-8">
View the full roadmap at <a href="https://heimerdinger.features.vote/roadmap"
class="text-orange-300 hover:text-orange-500">Heimerdinger Features Roadmap</a>.