From d0f0a84a573be536f16faedd8ccdb138c1fbfbe9 Mon Sep 17 00:00:00 2001 From: Dorian Date: Mon, 9 Mar 2026 12:05:56 +0000 Subject: [PATCH] feat: add first-time warning dialog for Fight For Sats Shows a one-time warning when users first click "Fight For Sats" letting them know it's vibe coded and to only use small sats amounts. Acknowledged state persists in localStorage. Co-Authored-By: Claude Opus 4.6 --- frontend/src/pages/JoinBoutPage.vue | 52 ++++++++++++++++++++++++++++- 1 file changed, 51 insertions(+), 1 deletion(-) diff --git a/frontend/src/pages/JoinBoutPage.vue b/frontend/src/pages/JoinBoutPage.vue index 1df7867..e14c2e6 100644 --- a/frontend/src/pages/JoinBoutPage.vue +++ b/frontend/src/pages/JoinBoutPage.vue @@ -27,6 +27,7 @@ let rateLimitTimer: ReturnType | null = null const isJoining = ref(false) const isJoiningRanked = ref(false) const isJoiningPractice = ref(false) +const showSatsWarning = ref(false) const queueCount = ref(0) const rankedQueueCount = ref(0) const rankedEstWait = ref(15) @@ -410,6 +411,21 @@ async function fight() { isJoining.value = false } +function tryFightRanked() { + if (!bot.value || isJoiningRanked.value) return + if (!localStorage.getItem('sats-warning-ack')) { + showSatsWarning.value = true + return + } + fightRanked() +} + +function acceptSatsWarning() { + localStorage.setItem('sats-warning-ack', '1') + showSatsWarning.value = false + fightRanked() +} + async function fightRanked() { if (!bot.value || isJoiningRanked.value) return isJoiningRanked.value = true @@ -1092,7 +1108,7 @@ function handleSignOut() { disabled:opacity-50 disabled:cursor-wait flex flex-col items-center justify-center gap-1" :disabled="!isWalletConnected || isJoiningRanked" - @click="fightRanked" + @click="tryFightRanked" > @@ -1173,4 +1189,38 @@ function handleSignOut() { + + + +
+
+

+ ⚡ HEADS UP +

+

+ This was 100% vibe coded (with a lot of design experience :D) so only small sats amounts allowed, proceed at your own risk, we will security test in the meantime. +

+
+ + +
+
+
+