import React, { useState, useEffect } from 'react'; import './App.css'; const tg = window.Telegram?.WebApp; const App = () => { const [view, setView] = useState('lobby'); // 'lobby' or 'kamba' const [pullForce, setPullForce] = useState(0); const [score, setScore] = useState(0); useEffect(() => { if (tg) { tg.expand(); tg.ready(); } }, []); const handleBack = () => { setView('lobby'); setPullForce(0); }; const handleMash = () => { setPullForce(prev => Math.min(prev + 5, 100)); setScore(prev => prev + 10); // Haptic feedback if (tg?.HapticFeedback) { tg.HapticFeedback.impactOccurred('medium'); } }; // Decay pull force over time useEffect(() => { if (view === 'kamba') { const timer = setInterval(() => { setPullForce(prev => Math.max(prev - 2, -100)); }, 100); return () => clearInterval(timer); } }, [view]); if (view === 'lobby') { return (
Subha Aluth Avuruddak Wewa
Tug-of-War: Mash to pull!
Coming Soon...
Coming Soon...
Tournament Round
SCORE: {score}
Rapidly tap to pull the rope!