Files
euchre_camp/app/templates/admin/index.html.erb
T

92 lines
3.0 KiB
Plaintext

<h1>Admin Dashboard</h1>
<div class="dashboard-stats">
<div class="stat-card">
<div class="stat-value"><%= total_players %></div>
<div class="stat-label">Total Players</div>
<a href="/admin/players" class="stat-link">Manage Players →</a>
</div>
<div class="stat-card">
<div class="stat-value"><%= active_tournaments %></div>
<div class="stat-label">Active Tournaments</div>
<a href="/admin/tournaments" class="stat-link">Manage Tournaments →</a>
</div>
<div class="stat-card">
<div class="stat-value"><%= completed_tournaments %></div>
<div class="stat-label">Completed Tournaments</div>
<a href="/admin/tournaments" class="stat-link">View History →</a>
</div>
<div class="stat-card">
<div class="stat-value"><%= recent_matches.count %></div>
<div class="stat-label">Recent Matches</div>
<a href="/admin/matches" class="stat-link">Record Match →</a>
</div>
</div>
<hr>
<div class="quick-actions">
<h2>Quick Actions</h2>
<div class="action-buttons">
<% if defined?(current_user) && current_user %>
<a href="/admin/matches/new" class="btn btn-primary">Record Match Result</a>
<% if EuchreCamp::Services::Authorization.can?(current_user, :create_tournament) %>
<a href="/admin/tournaments/new" class="btn btn-primary">Create Tournament</a>
<% end %>
<% if EuchreCamp::Services::Authorization.can?(current_user, :edit_any_record) %>
<a href="/admin/players/new" class="btn btn-primary">Add Player</a>
<% end %>
<a href="/admin/matches/upload" class="btn">Upload CSV</a>
<% else %>
<a href="/admin/matches/new" class="btn btn-primary">Record Match Result</a>
<% end %>
</div>
</div>
<hr>
<div class="recent-activity">
<h2>Recent Matches</h2>
<% if recent_matches.any? %>
<table>
<thead>
<tr>
<th>Match ID</th>
<th>Team 1</th>
<th>Score</th>
<th>Team 2</th>
<th>Date</th>
</tr>
</thead>
<tbody>
<% recent_matches.each do |match| %>
<tr>
<td data-label="Match ID"><%= match[:id] %></td>
<td data-label="Team 1"><%= match[:team_1].map { |p| p[:name] }.join(' + ') %></td>
<td data-label="Score"><strong><%= match[:score] %></strong></td>
<td data-label="Team 2"><%= match[:team_2].map { |p| p[:name] }.join(' + ') %></td>
<td data-label="Date"><%= match[:played_at]&.strftime('%Y-%m-%d') || '-' %></td>
</tr>
<% end %>
</tbody>
</table>
<% else %>
<p>No matches recorded yet.</p>
<% end %>
</div>
<hr>
<div class="admin-links">
<h2>Admin Sections</h2>
<ul>
<li><a href="/admin/players">Player Management</a> - Add, edit, and manage players</li>
<li><a href="/admin/tournaments">Tournament Management</a> - Create and manage tournaments</li>
<li><a href="/admin/matches">Match Entry</a> - Record individual match results</li>
<li><a href="/admin/matches/upload">CSV Upload</a> - Bulk import matches from CSV</li>
</ul>
</div>