feat: v2 — queue matchmaking, procedural audio, sprite archetypes, auth
- Add queue-based matchmaking with Elo-proximity and 10s timeout - Procedural sound engine (SFX, voice announcer, 4-track music) - Sprite system refactored into 6 archetypes (standard, lobster, sheep, cyborg, blob, tank) - 42+ fight choreographies with themed/generic/wild card selection - 4 KO finish styles, super-speed mode, hyperdetail close-ups - Auth routes, JoinBout page, bot profile with stats - 7-tier ranking system (Baby through Legend) - Arena and challenge system expansions Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 4.6
parent
335c148866
commit
47d20fbe66
@@ -1,21 +1,27 @@
|
||||
<script setup lang="ts">
|
||||
import { ref } from 'vue'
|
||||
import { RouterLink } from 'vue-router'
|
||||
import PixelGlove from './PixelGlove.vue'
|
||||
import { useNostr } from '../composables/useNostr'
|
||||
|
||||
const { bot, isLoggedIn } = useNostr()
|
||||
const isMenuOpen = ref(false)
|
||||
|
||||
const links = [
|
||||
{ to: '/join', label: 'JOIN A BOUT' },
|
||||
{ to: '/arena', label: 'ARENA' },
|
||||
{ to: '/schedule', label: 'FIGHT CARD' },
|
||||
{ to: '/leaderboard', label: 'RANKINGS' },
|
||||
{ to: '/register', label: 'ENTER A BOT' },
|
||||
]
|
||||
</script>
|
||||
|
||||
<template>
|
||||
<nav class="border-b border-border bg-surface/90 backdrop-blur-md sticky top-0 z-50">
|
||||
<div class="max-w-7xl mx-auto px-6 h-16 flex items-center justify-between">
|
||||
<RouterLink to="/" class="flex items-center gap-3 group">
|
||||
<div class="px-6 h-16 flex items-center justify-between">
|
||||
<RouterLink to="/" class="flex items-center gap-2 group">
|
||||
<span class="flex items-center gap-0.5" style="transform: rotate(-10deg)">
|
||||
<PixelGlove :size="18" />
|
||||
<PixelGlove :size="18" flip />
|
||||
</span>
|
||||
<span class="font-display font-black text-neon-pink text-lg tracking-widest glow-pink">
|
||||
BOTFIGHTS
|
||||
</span>
|
||||
@@ -31,6 +37,14 @@ const links = [
|
||||
>
|
||||
{{ link.label }}
|
||||
</RouterLink>
|
||||
<RouterLink
|
||||
v-if="isLoggedIn && bot"
|
||||
:to="`/bot/${bot.name}`"
|
||||
class="text-xs font-display font-bold text-neon-cyan tracking-wider
|
||||
hover:text-neon-pink transition-colors duration-200"
|
||||
>
|
||||
{{ bot.name.toUpperCase() }}
|
||||
</RouterLink>
|
||||
</div>
|
||||
|
||||
<button
|
||||
@@ -63,6 +77,14 @@ const links = [
|
||||
>
|
||||
{{ link.label }}
|
||||
</RouterLink>
|
||||
<RouterLink
|
||||
v-if="isLoggedIn && bot"
|
||||
:to="`/bot/${bot.name}`"
|
||||
class="block text-sm font-display font-bold text-neon-cyan tracking-wider"
|
||||
@click="isMenuOpen = false"
|
||||
>
|
||||
{{ bot.name.toUpperCase() }}
|
||||
</RouterLink>
|
||||
</div>
|
||||
</nav>
|
||||
</template>
|
||||
|
||||
Reference in New Issue
Block a user