style: Update Header and Footer to neon esports aesthetic

- Apply void dark background with neon-blue border accents
- Add neon text-shadow glow to logo (cyan + gold)
- Update nav links to hover:text-neon-blue with focus-visible states
- Add grid pattern overlay to footer
- Use neon-red for heart icon and donation hover
- Add motion-reduce support and accessible focus rings

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
2025-12-07 16:15:35 +01:00
parent 1ddda81d93
commit a77082c400
2 changed files with 48 additions and 31 deletions

View File

@@ -28,15 +28,27 @@
}; };
</script> </script>
<footer class="border-t border-base-300 bg-base-100"> <footer class="relative border-t border-neon-blue/20 bg-void">
<div class="container mx-auto px-4 py-12"> <!-- Grid Pattern Overlay -->
<div
class="pointer-events-none absolute inset-0 opacity-10"
style="background-image: linear-gradient(rgba(0, 212, 255, 0.03) 1px, transparent 1px), linear-gradient(90deg, rgba(0, 212, 255, 0.03) 1px, transparent 1px); background-size: 50px 50px;"
aria-hidden="true"
></div>
<div class="container relative mx-auto px-4 py-12">
<div class="grid gap-8 md:grid-cols-4"> <div class="grid gap-8 md:grid-cols-4">
<!-- Brand --> <!-- Brand -->
<div class="md:col-span-1"> <div class="md:col-span-1">
<a href="/" class="mb-4 inline-block text-2xl font-bold"> <a
<span class="text-primary">team</span><span class="text-secondary">flash.rip</span> href="/"
class="mb-4 inline-block rounded text-2xl font-bold focus:outline-none focus-visible:ring-2 focus-visible:ring-neon-blue"
>
<span style="color: #00d4ff; text-shadow: 0 0 10px #00d4ff;">team</span><span
style="color: #ffd700; text-shadow: 0 0 10px #ffd700;">flash.rip</span
>
</a> </a>
<p class="mb-4 text-sm text-base-content/60"> <p class="mb-4 text-sm text-white/50">
Stop flashing your teammates. Free and open source. Stop flashing your teammates. Free and open source.
</p> </p>
<div class="flex gap-3"> <div class="flex gap-3">
@@ -44,34 +56,32 @@
href="https://somegit.dev/CSGOWTF/csgowtf" href="https://somegit.dev/CSGOWTF/csgowtf"
target="_blank" target="_blank"
rel="noopener noreferrer" rel="noopener noreferrer"
class="text-base-content/60 transition-colors hover:text-primary" class="rounded text-white/50 transition-colors hover:text-neon-blue focus:outline-none focus-visible:text-neon-blue"
aria-label="GitHub" aria-label="GitHub"
> >
<Github class="h-5 w-5" /> <Github class="h-5 w-5" aria-hidden="true" />
</a> </a>
<a <a
href="https://liberapay.com/CSGOWTF/" href="https://liberapay.com/CSGOWTF/"
target="_blank" target="_blank"
rel="noopener noreferrer" rel="noopener noreferrer"
class="text-base-content/60 transition-colors hover:text-error" class="rounded text-white/50 transition-colors hover:text-neon-red focus:outline-none focus-visible:text-neon-red"
aria-label="Support on Liberapay" aria-label="Support on Liberapay"
> >
<Heart class="h-5 w-5" /> <Heart class="h-5 w-5" aria-hidden="true" />
</a> </a>
</div> </div>
</div> </div>
<!-- Links --> <!-- Links -->
<div> <div>
<h3 class="mb-3 text-sm font-semibold uppercase tracking-wider text-base-content/80"> <h3 class="mb-3 text-sm font-semibold uppercase tracking-wider text-white/70">Navigate</h3>
Navigate
</h3>
<ul class="space-y-2"> <ul class="space-y-2">
{#each links.main as link} {#each links.main as link}
<li> <li>
<a <a
href={link.href} href={link.href}
class="text-sm text-base-content/60 transition-colors hover:text-primary" class="rounded text-sm text-white/40 transition-colors hover:text-neon-blue focus:outline-none focus-visible:text-neon-blue"
> >
{link.name} {link.name}
</a> </a>
@@ -81,15 +91,13 @@
</div> </div>
<div> <div>
<h3 class="mb-3 text-sm font-semibold uppercase tracking-wider text-base-content/80"> <h3 class="mb-3 text-sm font-semibold uppercase tracking-wider text-white/70">About</h3>
About
</h3>
<ul class="space-y-2"> <ul class="space-y-2">
{#each links.about as link} {#each links.about as link}
<li> <li>
<a <a
href={link.href} href={link.href}
class="text-sm text-base-content/60 transition-colors hover:text-primary" class="rounded text-sm text-white/40 transition-colors hover:text-neon-blue focus:outline-none focus-visible:text-neon-blue"
> >
{link.name} {link.name}
</a> </a>
@@ -99,15 +107,13 @@
</div> </div>
<div> <div>
<h3 class="mb-3 text-sm font-semibold uppercase tracking-wider text-base-content/80"> <h3 class="mb-3 text-sm font-semibold uppercase tracking-wider text-white/70">Resources</h3>
Resources
</h3>
<ul class="space-y-2"> <ul class="space-y-2">
{#each links.resources as link} {#each links.resources as link}
<li> <li>
<a <a
href={link.href} href={link.href}
class="text-sm text-base-content/60 transition-colors hover:text-primary" class="rounded text-sm text-white/40 transition-colors hover:text-neon-blue focus:outline-none focus-visible:text-neon-blue"
{...link.external ? { target: '_blank', rel: 'noopener noreferrer' } : {}} {...link.external ? { target: '_blank', rel: 'noopener noreferrer' } : {}}
> >
{link.name} {link.name}
@@ -119,13 +125,18 @@
</div> </div>
<!-- Bottom --> <!-- Bottom -->
<div class="mt-12 border-t border-base-300 pt-8 text-center text-sm text-base-content/60"> <div class="mt-12 border-t border-neon-blue/20 pt-8 text-center text-sm text-white/50">
<p> <p>
© {currentYear} teamflash.rip Team. Licensed under © {currentYear} teamflash.rip Team. Licensed under
<a href="/license" class="hover:text-primary">GPL-3.0</a> <a
href="/license"
class="rounded transition-colors hover:text-neon-blue focus:outline-none focus-visible:text-neon-blue"
>GPL-3.0</a
>
</p> </p>
<p class="mt-2"> <p class="mt-2">
Made with <Heart class="inline h-4 w-4 text-error" /> by players who are tired of being flashed. Made with <Heart class="inline h-4 w-4 text-neon-red" aria-hidden="true" /> by players who are
tired of being flashed.
</p> </p>
</div> </div>
</div> </div>

View File

@@ -13,13 +13,19 @@
]; ];
</script> </script>
<header class="sticky top-0 z-50 w-full border-b border-base-300 bg-base-100/95 backdrop-blur-md"> <header class="sticky top-0 z-50 w-full border-b border-neon-blue/20 bg-void/95 backdrop-blur-md">
<div class="container mx-auto px-4"> <div class="container mx-auto px-4">
<div class="flex h-16 items-center justify-between"> <div class="flex h-16 items-center justify-between">
<!-- Logo --> <!-- Logo -->
<a href="/" class="transition-transform hover:scale-105" aria-label="teamflash.rip Home"> <a
href="/"
class="rounded transition-transform hover:scale-105 focus:outline-none focus-visible:ring-2 focus-visible:ring-neon-blue focus-visible:ring-offset-2 focus-visible:ring-offset-void motion-reduce:hover:scale-100"
aria-label="teamflash.rip Home"
>
<h1 class="text-2xl font-bold"> <h1 class="text-2xl font-bold">
<span class="text-primary">team</span><span class="text-secondary">flash.rip</span> <span style="color: #00d4ff; text-shadow: 0 0 10px #00d4ff;">team</span><span
style="color: #ffd700; text-shadow: 0 0 10px #ffd700;">flash.rip</span
>
</h1> </h1>
</a> </a>
@@ -28,7 +34,7 @@
{#each navigation as item} {#each navigation as item}
<a <a
href={item.href} href={item.href}
class="text-sm font-medium text-base-content/70 transition-colors hover:text-primary" class="rounded text-sm font-medium text-white/60 transition-colors hover:text-neon-blue focus:outline-none focus-visible:text-neon-blue"
> >
{item.name} {item.name}
</a> </a>
@@ -42,7 +48,7 @@
<!-- Mobile Menu Toggle --> <!-- Mobile Menu Toggle -->
<button <button
class="btn btn-ghost btn-sm md:hidden" class="rounded-lg p-2 text-white/70 transition-colors hover:bg-neon-blue/10 hover:text-neon-blue focus:outline-none focus-visible:ring-2 focus-visible:ring-neon-blue md:hidden"
onclick={() => (mobileMenuOpen = !mobileMenuOpen)} onclick={() => (mobileMenuOpen = !mobileMenuOpen)}
aria-label="Toggle menu" aria-label="Toggle menu"
> >
@@ -57,11 +63,11 @@
<!-- Mobile Navigation --> <!-- Mobile Navigation -->
{#if mobileMenuOpen} {#if mobileMenuOpen}
<nav class="animate-fade-in border-t border-base-300 py-4 md:hidden"> <nav class="animate-fade-in border-t border-neon-blue/20 py-4 md:hidden">
{#each navigation as item} {#each navigation as item}
<a <a
href={item.href} href={item.href}
class="block px-4 py-2 text-sm font-medium text-base-content transition-colors hover:bg-base-200" class="mx-2 block rounded-lg px-4 py-2 text-sm font-medium text-white/60 transition-colors hover:bg-neon-blue/10 hover:text-neon-blue"
onclick={() => (mobileMenuOpen = false)} onclick={() => (mobileMenuOpen = false)}
> >
{item.name} {item.name}