Spaces:
Running
Running
Tornar a aba "ranking" Funcional, quando clicar nela, aparecer um ranking de pontuação dos atletas. - Follow Up Deployment
Browse files- index.html +307 -0
index.html
CHANGED
|
@@ -6,7 +6,238 @@
|
|
| 6 |
<title>PadelRank - Sistema de Ranking</title>
|
| 7 |
<script src="https://cdn.tailwindcss.com"></script>
|
| 8 |
<script src="https://cdn.jsdelivr.net/npm/chart.js"></script>
|
|
|
|
|
|
|
|
|
|
|
|
|
| 9 |
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css">
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 10 |
<script>
|
| 11 |
tailwind.config = {
|
| 12 |
theme: {
|
|
@@ -295,6 +526,7 @@
|
|
| 295 |
|
| 296 |
<!-- Main Content -->
|
| 297 |
<div id="mainContent" class="main-content ml-64 p-6 min-h-screen transition-all duration-300">
|
|
|
|
| 298 |
<!-- Dashboard Content -->
|
| 299 |
<div id="dashboardContent">
|
| 300 |
<div class="flex flex-col md:flex-row justify-between items-start md:items-center mb-6">
|
|
@@ -926,6 +1158,30 @@
|
|
| 926 |
</div>
|
| 927 |
</div>
|
| 928 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 929 |
<!-- Profile Content -->
|
| 930 |
<div id="profileContent" class="hidden">
|
| 931 |
<div class="flex flex-col md:flex-row justify-between items-start md:items-center mb-6">
|
|
@@ -1358,6 +1614,57 @@
|
|
| 1358 |
</div>
|
| 1359 |
</div>
|
| 1360 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1361 |
<!-- Create Tournament Modal -->
|
| 1362 |
<div id="createTournamentModal" class="fixed inset-0 bg-gray-600 bg-opacity-50 flex items-center justify-center hidden z-50">
|
| 1363 |
<div class="bg-white rounded-xl shadow-xl max-w-2xl w-full max-h-screen overflow-y-auto">
|
|
|
|
| 6 |
<title>PadelRank - Sistema de Ranking</title>
|
| 7 |
<script src="https://cdn.tailwindcss.com"></script>
|
| 8 |
<script src="https://cdn.jsdelivr.net/npm/chart.js"></script>
|
| 9 |
+
<script src="https://unpkg.com/react@18/umd/react.development.js"></script>
|
| 10 |
+
<script src="https://unpkg.com/react-dom@18/umd/react-dom.development.js"></script>
|
| 11 |
+
<script src="https://unpkg.com/@babel/standalone/babel.min.js"></script>
|
| 12 |
+
<script src="https://unpkg.com/react-router-dom@6/dist/react-router-dom.development.js"></script>
|
| 13 |
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css">
|
| 14 |
+
|
| 15 |
+
<script type="text/babel">
|
| 16 |
+
const { BrowserRouter, Routes, Route, Link, useNavigate } = ReactRouterDOM;
|
| 17 |
+
|
| 18 |
+
function App() {
|
| 19 |
+
return (
|
| 20 |
+
<BrowserRouter>
|
| 21 |
+
<Routes>
|
| 22 |
+
<Route path="/" element={<Dashboard />} />
|
| 23 |
+
<Route path="/ranking" element={<Ranking />} />
|
| 24 |
+
<Route path="/torneios" element={<Tournaments />} />
|
| 25 |
+
<Route path="/super8" element={<Super8 />} />
|
| 26 |
+
<Route path="/perfil" element={<Profile />} />
|
| 27 |
+
</Routes>
|
| 28 |
+
</BrowserRouter>
|
| 29 |
+
);
|
| 30 |
+
}
|
| 31 |
+
|
| 32 |
+
function Dashboard() {
|
| 33 |
+
return (
|
| 34 |
+
<div id="dashboardContent">
|
| 35 |
+
{/* Conteúdo existente do Dashboard */}
|
| 36 |
+
</div>
|
| 37 |
+
);
|
| 38 |
+
}
|
| 39 |
+
|
| 40 |
+
function Ranking() {
|
| 41 |
+
return (
|
| 42 |
+
<div id="rankingContent">
|
| 43 |
+
<div class="flex flex-col md:flex-row justify-between items-start md:items-center mb-6">
|
| 44 |
+
<div>
|
| 45 |
+
<h1 class="text-2xl font-bold text-gray-900">Ranking de Padel</h1>
|
| 46 |
+
<p class="text-gray-500">Atualizado em: 10/06/2025</p>
|
| 47 |
+
</div>
|
| 48 |
+
<div class="mt-4 md:mt-0 flex items-center space-x-2">
|
| 49 |
+
<select class="bg-white border border-gray-300 rounded-lg px-4 py-2 text-gray-700 hover:bg-gray-50 focus:outline-none focus:ring-2 focus:ring-primary-500 focus:border-primary-500">
|
| 50 |
+
<option>5ª Categoria</option>
|
| 51 |
+
<option>4ª Categoria</option>
|
| 52 |
+
<option selected>3ª Categoria</option>
|
| 53 |
+
<option>2ª Categoria</option>
|
| 54 |
+
<option>1ª Categoria</option>
|
| 55 |
+
</select>
|
| 56 |
+
<button class="bg-primary-500 text-white px-4 py-2 rounded-lg hover:bg-primary-600 flex items-center">
|
| 57 |
+
<i class="fas fa-download mr-2"></i> Exportar
|
| 58 |
+
</button>
|
| 59 |
+
</div>
|
| 60 |
+
</div>
|
| 61 |
+
|
| 62 |
+
{/* Rest of the ranking content goes here */}
|
| 63 |
+
{/* Podium, Ranking Table, etc */}
|
| 64 |
+
</div>
|
| 65 |
+
);
|
| 66 |
+
}
|
| 67 |
+
|
| 68 |
+
function Tournaments() {
|
| 69 |
+
return (
|
| 70 |
+
<div id="tournamentsContent">
|
| 71 |
+
{/* Conteúdo existente de Torneios */}
|
| 72 |
+
</div>
|
| 73 |
+
);
|
| 74 |
+
}
|
| 75 |
+
|
| 76 |
+
function Super8() {
|
| 77 |
+
return (
|
| 78 |
+
<div id="super8Content">
|
| 79 |
+
{/* Conteúdo existente do Super8 */}
|
| 80 |
+
</div>
|
| 81 |
+
);
|
| 82 |
+
}
|
| 83 |
+
|
| 84 |
+
function Profile() {
|
| 85 |
+
return (
|
| 86 |
+
<div id="profileContent">
|
| 87 |
+
{/* Conteúdo existente do Perfil */}
|
| 88 |
+
</div>
|
| 89 |
+
);
|
| 90 |
+
}
|
| 91 |
+
|
| 92 |
+
// Estado da aplicação
|
| 93 |
+
const appState = {
|
| 94 |
+
currentTab: 'dashboard',
|
| 95 |
+
user: {
|
| 96 |
+
name: 'Jogador',
|
| 97 |
+
email: 'jogador@example.com',
|
| 98 |
+
category: '3ª Categoria',
|
| 99 |
+
points: 142,
|
| 100 |
+
position: 5,
|
| 101 |
+
avatar: 'https://randomuser.me/api/portraits/men/32.jpg'
|
| 102 |
+
},
|
| 103 |
+
// Dados mockados
|
| 104 |
+
rankings: {
|
| 105 |
+
// ... dados existentes do ranking ...
|
| 106 |
+
},
|
| 107 |
+
tournaments: [
|
| 108 |
+
// ... dados existentes de torneios ...
|
| 109 |
+
]
|
| 110 |
+
};
|
| 111 |
+
|
| 112 |
+
// Função para navegar entre abas
|
| 113 |
+
function navigateTo(tab) {
|
| 114 |
+
appState.currentTab = tab;
|
| 115 |
+
updateUI();
|
| 116 |
+
}
|
| 117 |
+
|
| 118 |
+
// Mostrar modal do Super 8
|
| 119 |
+
function showSuper8Modal() {
|
| 120 |
+
document.getElementById('createSuper8Modal').classList.remove('hidden');
|
| 121 |
+
// Resetar jogadores
|
| 122 |
+
const playersContainer = document.getElementById('super8Players');
|
| 123 |
+
playersContainer.innerHTML = `
|
| 124 |
+
<div class="flex items-center space-x-2">
|
| 125 |
+
<input type="text" class="flex-1 px-4 py-2 border border-gray-300 rounded-lg focus:ring-primary-500 focus:border-primary-500" placeholder="Nome do jogador">
|
| 126 |
+
<button type="button" class="text-danger-500 hover:text-danger-700">
|
| 127 |
+
<i class="fas fa-times"></i>
|
| 128 |
+
</button>
|
| 129 |
+
</div>
|
| 130 |
+
`;
|
| 131 |
+
}
|
| 132 |
+
|
| 133 |
+
// Função para atualizar a UI baseada no estado
|
| 134 |
+
function updateUI() {
|
| 135 |
+
// Atualizar dados do usuário onde necessário
|
| 136 |
+
document.getElementById('sidebarUsername').textContent = appState.user.name;
|
| 137 |
+
document.getElementById('sidebarCategory').textContent = appState.user.category;
|
| 138 |
+
document.getElementById('dashboardUsername').textContent = appState.user.name;
|
| 139 |
+
document.getElementById('profileName').textContent = appState.user.name;
|
| 140 |
+
document.getElementById('profileCategory').textContent = appState.user.category;
|
| 141 |
+
document.getElementById('profileAvatar').src = appState.user.avatar;
|
| 142 |
+
document.getElementById('profileEmail').value = appState.user.email;
|
| 143 |
+
}
|
| 144 |
+
|
| 145 |
+
// Inicializar eventos
|
| 146 |
+
function initEvents() {
|
| 147 |
+
// Navegação
|
| 148 |
+
// Substituir os links por componentes Link do React Router
|
| 149 |
+
const navItems = [
|
| 150 |
+
{ id: 'dashboardTab', path: '/', icon: 'home', text: 'Dashboard' },
|
| 151 |
+
{ id: 'rankingTab', path: '/ranking', icon: 'trophy', text: 'Ranking' },
|
| 152 |
+
{ id: 'tournamentsTab', path: '/torneios', icon: 'calendar-alt', text: 'Torneios' },
|
| 153 |
+
{ id: 'super8Tab', path: '/super8', icon: 'star', text: 'Super 8' },
|
| 154 |
+
{ id: 'profileTab', path: '/perfil', icon: 'user', text: 'Perfil' }
|
| 155 |
+
];
|
| 156 |
+
|
| 157 |
+
const navContainer = document.querySelector('nav');
|
| 158 |
+
navContainer.innerHTML = navItems.map(item => `
|
| 159 |
+
<Link to="${item.path}" id="${item.id}" className="nav-item flex items-center p-3 rounded-lg cursor-pointer mb-1">
|
| 160 |
+
<div class="bg-primary-100 text-primary-600 p-2 rounded-lg">
|
| 161 |
+
<i class="fas fa-${item.icon}"></i>
|
| 162 |
+
</div>
|
| 163 |
+
<span class="nav-text ml-3 text-gray-700">${item.text}</span>
|
| 164 |
+
</Link>
|
| 165 |
+
`).join('');
|
| 166 |
+
|
| 167 |
+
// Super 8
|
| 168 |
+
document.getElementById('createSuper8Btn').addEventListener('click', showSuper8Modal);
|
| 169 |
+
document.getElementById('createSuper8Btn2').addEventListener('click', showSuper8Modal);
|
| 170 |
+
document.getElementById('closeSuper8Modal').addEventListener('click', () => {
|
| 171 |
+
document.getElementById('createSuper8Modal').classList.add('hidden');
|
| 172 |
+
});
|
| 173 |
+
|
| 174 |
+
// Adicionar jogadores no Super 8
|
| 175 |
+
document.getElementById('addPlayerBtn').addEventListener('click', function() {
|
| 176 |
+
const playersContainer = document.getElementById('super8Players');
|
| 177 |
+
if (playersContainer.children.length < 8) {
|
| 178 |
+
const playerInput = document.createElement('div');
|
| 179 |
+
playerInput.className = 'flex items-center space-x-2';
|
| 180 |
+
playerInput.innerHTML = `
|
| 181 |
+
<input type="text" class="flex-1 px-4 py-2 border border-gray-300 rounded-lg focus:ring-primary-500 focus:border-primary-500" placeholder="Nome do jogador">
|
| 182 |
+
<button type="button" class="text-danger-500 hover:text-danger-700">
|
| 183 |
+
<i class="fas fa-times"></i>
|
| 184 |
+
</button>
|
| 185 |
+
`;
|
| 186 |
+
playersContainer.appendChild(playerInput);
|
| 187 |
+
|
| 188 |
+
// Adicionar evento para remover jogador
|
| 189 |
+
playerInput.querySelector('button').addEventListener('click', function() {
|
| 190 |
+
if (playersContainer.children.length > 1) {
|
| 191 |
+
playersContainer.removeChild(playerInput);
|
| 192 |
+
}
|
| 193 |
+
});
|
| 194 |
+
} else {
|
| 195 |
+
alert('Máximo de 8 jogadores atingido');
|
| 196 |
+
}
|
| 197 |
+
});
|
| 198 |
+
|
| 199 |
+
// Perfil - Salvar alterações
|
| 200 |
+
document.getElementById('saveProfileBtn').addEventListener('click', function() {
|
| 201 |
+
appState.user.name = document.getElementById('profileName').value;
|
| 202 |
+
appState.user.email = document.getElementById('profileEmail').value;
|
| 203 |
+
appState.user.phone = document.getElementById('profilePhone').value;
|
| 204 |
+
appState.user.club = document.getElementById('profileClub').value;
|
| 205 |
+
|
| 206 |
+
// Simular salvamento
|
| 207 |
+
alert('Perfil atualizado com sucesso!');
|
| 208 |
+
updateUI();
|
| 209 |
+
});
|
| 210 |
+
|
| 211 |
+
// Upload de avatar
|
| 212 |
+
document.getElementById('avatarUpload').addEventListener('change', function(e) {
|
| 213 |
+
if (e.target.files && e.target.files[0]) {
|
| 214 |
+
const reader = new FileReader();
|
| 215 |
+
reader.onload = function(event) {
|
| 216 |
+
appState.user.avatar = event.target.result;
|
| 217 |
+
updateUI();
|
| 218 |
+
};
|
| 219 |
+
reader.readAsDataURL(e.target.files[0]);
|
| 220 |
+
}
|
| 221 |
+
});
|
| 222 |
+
|
| 223 |
+
// Torneios - Criar novo
|
| 224 |
+
document.getElementById('createTournamentBtn').addEventListener('click', function() {
|
| 225 |
+
document.getElementById('createTournamentModal').classList.remove('hidden');
|
| 226 |
+
});
|
| 227 |
+
|
| 228 |
+
document.getElementById('closeTournamentModal').addEventListener('click', function() {
|
| 229 |
+
document.getElementById('createTournamentModal').classList.add('hidden');
|
| 230 |
+
});
|
| 231 |
+
}
|
| 232 |
+
|
| 233 |
+
// Inicializar o React
|
| 234 |
+
document.addEventListener('DOMContentLoaded', function() {
|
| 235 |
+
const root = ReactDOM.createRoot(document.getElementById('root'));
|
| 236 |
+
root.render(<App />);
|
| 237 |
+
updateUI();
|
| 238 |
+
initEvents();
|
| 239 |
+
});
|
| 240 |
+
</script>
|
| 241 |
<script>
|
| 242 |
tailwind.config = {
|
| 243 |
theme: {
|
|
|
|
| 526 |
|
| 527 |
<!-- Main Content -->
|
| 528 |
<div id="mainContent" class="main-content ml-64 p-6 min-h-screen transition-all duration-300">
|
| 529 |
+
<div id="root"></div>
|
| 530 |
<!-- Dashboard Content -->
|
| 531 |
<div id="dashboardContent">
|
| 532 |
<div class="flex flex-col md:flex-row justify-between items-start md:items-center mb-6">
|
|
|
|
| 1158 |
</div>
|
| 1159 |
</div>
|
| 1160 |
|
| 1161 |
+
<!-- Super 8 Content -->
|
| 1162 |
+
<div id="super8Content" class="hidden">
|
| 1163 |
+
<div class="flex flex-col md:flex-row justify-between items-start md:items-center mb-6">
|
| 1164 |
+
<div>
|
| 1165 |
+
<h1 class="text-2xl font-bold text-gray-900">Super 8</h1>
|
| 1166 |
+
<p class="text-gray-500">Torneios rápidos entre amigos</p>
|
| 1167 |
+
</div>
|
| 1168 |
+
<button id="createSuper8Btn" class="mt-4 md:mt-0 bg-primary-500 text-white px-4 py-2 rounded-lg hover:bg-primary-600 flex items-center">
|
| 1169 |
+
<i class="fas fa-plus mr-2"></i> Criar Super 8
|
| 1170 |
+
</button>
|
| 1171 |
+
</div>
|
| 1172 |
+
|
| 1173 |
+
<div class="card bg-white rounded-xl p-6">
|
| 1174 |
+
<div class="text-center py-8">
|
| 1175 |
+
<i class="fas fa-trophy text-5xl text-yellow-500 mb-4"></i>
|
| 1176 |
+
<h3 class="text-xl font-medium text-gray-900 mb-2">Nenhum Super 8 ativo</h3>
|
| 1177 |
+
<p class="text-gray-500 mb-6">Crie um novo torneio Super 8 para começar</p>
|
| 1178 |
+
<button id="createSuper8Btn2" class="bg-primary-500 text-white px-6 py-2 rounded-lg hover:bg-primary-600 flex items-center mx-auto">
|
| 1179 |
+
<i class="fas fa-plus mr-2"></i> Criar Super 8
|
| 1180 |
+
</button>
|
| 1181 |
+
</div>
|
| 1182 |
+
</div>
|
| 1183 |
+
</div>
|
| 1184 |
+
|
| 1185 |
<!-- Profile Content -->
|
| 1186 |
<div id="profileContent" class="hidden">
|
| 1187 |
<div class="flex flex-col md:flex-row justify-between items-start md:items-center mb-6">
|
|
|
|
| 1614 |
</div>
|
| 1615 |
</div>
|
| 1616 |
|
| 1617 |
+
<!-- Create Super 8 Modal -->
|
| 1618 |
+
<div id="createSuper8Modal" class="fixed inset-0 bg-gray-600 bg-opacity-50 flex items-center justify-center hidden z-50">
|
| 1619 |
+
<div class="bg-white rounded-xl shadow-xl max-w-2xl w-full max-h-screen overflow-y-auto">
|
| 1620 |
+
<div class="p-6">
|
| 1621 |
+
<div class="flex justify-between items-center mb-4">
|
| 1622 |
+
<h3 class="text-xl font-bold text-gray-900">Criar Super 8</h3>
|
| 1623 |
+
<button id="closeSuper8Modal" class="text-gray-500 hover:text-gray-700">
|
| 1624 |
+
<i class="fas fa-times"></i>
|
| 1625 |
+
</button>
|
| 1626 |
+
</div>
|
| 1627 |
+
|
| 1628 |
+
<form class="space-y-4">
|
| 1629 |
+
<div>
|
| 1630 |
+
<label class="block text-sm font-medium text-gray-700 mb-1">Nome do Super 8</label>
|
| 1631 |
+
<input type="text" class="w-full px-4 py-2 border border-gray-300 rounded-lg focus:ring-primary-500 focus:border-primary-500" placeholder="Ex: Super 8 de Verão">
|
| 1632 |
+
</div>
|
| 1633 |
+
|
| 1634 |
+
<div>
|
| 1635 |
+
<label class="block text-sm font-medium text-gray-700 mb-1">Jogadores (4-8)</label>
|
| 1636 |
+
<div class="space-y-2" id="super8Players">
|
| 1637 |
+
<div class="flex items-center space-x-2">
|
| 1638 |
+
<input type="text" class="flex-1 px-4 py-2 border border-gray-300 rounded-lg focus:ring-primary-500 focus:border-primary-500" placeholder="Nome do jogador">
|
| 1639 |
+
<button type="button" class="text-danger-500 hover:text-danger-700">
|
| 1640 |
+
<i class="fas fa-times"></i>
|
| 1641 |
+
</button>
|
| 1642 |
+
</div>
|
| 1643 |
+
</div>
|
| 1644 |
+
<button type="button" id="addPlayerBtn" class="mt-2 text-primary-500 hover:text-primary-700 text-sm flex items-center">
|
| 1645 |
+
<i class="fas fa-plus mr-1"></i> Adicionar jogador
|
| 1646 |
+
</button>
|
| 1647 |
+
</div>
|
| 1648 |
+
|
| 1649 |
+
<div>
|
| 1650 |
+
<label class="block text-sm font-medium text-gray-700 mb-1">Número de Games</label>
|
| 1651 |
+
<select class="w-full px-4 py-2 border border-gray-300 rounded-lg focus:ring-primary-500 focus:border-primary-500">
|
| 1652 |
+
<option value="4">4 games</option>
|
| 1653 |
+
<option value="6" selected>6 games</option>
|
| 1654 |
+
<option value="9">9 games</option>
|
| 1655 |
+
</select>
|
| 1656 |
+
</div>
|
| 1657 |
+
|
| 1658 |
+
<div class="pt-4">
|
| 1659 |
+
<button type="submit" class="w-full bg-primary-500 text-white px-4 py-2 rounded-lg hover:bg-primary-600">
|
| 1660 |
+
Criar Super 8
|
| 1661 |
+
</button>
|
| 1662 |
+
</div>
|
| 1663 |
+
</form>
|
| 1664 |
+
</div>
|
| 1665 |
+
</div>
|
| 1666 |
+
</div>
|
| 1667 |
+
|
| 1668 |
<!-- Create Tournament Modal -->
|
| 1669 |
<div id="createTournamentModal" class="fixed inset-0 bg-gray-600 bg-opacity-50 flex items-center justify-center hidden z-50">
|
| 1670 |
<div class="bg-white rounded-xl shadow-xl max-w-2xl w-full max-h-screen overflow-y-auto">
|