mirror of
https://github.com/ryankazokas/turbovault-app.git
synced 2026-04-17 04:02:53 +00:00
117 lines
4.4 KiB
Plaintext
117 lines
4.4 KiB
Plaintext
<div>
|
|
<div class="flex justify-between items-center mb-8">
|
|
<h1 class="text-3xl font-bold">Dashboard</h1>
|
|
<%= link_to "Add Game", new_game_path, class: "px-4 py-2 bg-indigo-600 text-white rounded hover:bg-indigo-700" %>
|
|
</div>
|
|
|
|
<!-- Stats Grid -->
|
|
<div class="grid grid-cols-1 md:grid-cols-4 gap-4 mb-8">
|
|
<div class="bg-white p-6 rounded-lg shadow">
|
|
<div class="text-gray-500 text-sm">Total Games</div>
|
|
<div class="text-3xl font-bold"><%= @total_games %></div>
|
|
</div>
|
|
|
|
<div class="bg-white p-6 rounded-lg shadow">
|
|
<div class="text-gray-500 text-sm">Physical Games</div>
|
|
<div class="text-3xl font-bold"><%= @physical_games %></div>
|
|
</div>
|
|
|
|
<div class="bg-white p-6 rounded-lg shadow">
|
|
<div class="text-gray-500 text-sm">Digital Games</div>
|
|
<div class="text-3xl font-bold"><%= @digital_games %></div>
|
|
</div>
|
|
|
|
<div class="bg-white p-6 rounded-lg shadow">
|
|
<div class="text-gray-500 text-sm">Total Spent</div>
|
|
<div class="text-3xl font-bold">$<%= sprintf("%.2f", @total_spent || 0) %></div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="grid grid-cols-1 md:grid-cols-2 gap-4 mb-8">
|
|
<div class="bg-white p-6 rounded-lg shadow">
|
|
<div class="text-gray-500 text-sm">Completed</div>
|
|
<div class="text-3xl font-bold"><%= @completed_games %></div>
|
|
</div>
|
|
|
|
<div class="bg-white p-6 rounded-lg shadow">
|
|
<div class="text-gray-500 text-sm">Backlog</div>
|
|
<div class="text-3xl font-bold"><%= @backlog_games %></div>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- Charts -->
|
|
<div class="grid grid-cols-1 md:grid-cols-2 gap-8 mb-8">
|
|
<div class="bg-white p-6 rounded-lg shadow">
|
|
<h2 class="text-xl font-bold mb-4">Top Platforms</h2>
|
|
<% if @games_by_platform.any? %>
|
|
<ul class="space-y-2">
|
|
<% @games_by_platform.each do |platform, count| %>
|
|
<li class="flex justify-between">
|
|
<span><%= platform %></span>
|
|
<span class="font-bold"><%= count %></span>
|
|
</li>
|
|
<% end %>
|
|
</ul>
|
|
<% else %>
|
|
<p class="text-gray-500">No games yet</p>
|
|
<% end %>
|
|
</div>
|
|
|
|
<div class="bg-white p-6 rounded-lg shadow">
|
|
<h2 class="text-xl font-bold mb-4">Top Genres</h2>
|
|
<% if @games_by_genre.any? %>
|
|
<ul class="space-y-2">
|
|
<% @games_by_genre.each do |genre, count| %>
|
|
<li class="flex justify-between">
|
|
<span><%= genre %></span>
|
|
<span class="font-bold"><%= count %></span>
|
|
</li>
|
|
<% end %>
|
|
</ul>
|
|
<% else %>
|
|
<p class="text-gray-500">No games yet</p>
|
|
<% end %>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- Recently Added Games -->
|
|
<div class="bg-white p-6 rounded-lg shadow mb-8">
|
|
<h2 class="text-xl font-bold mb-4">Recently Added</h2>
|
|
<% if @recently_added_games.any? %>
|
|
<div class="space-y-4">
|
|
<% @recently_added_games.each do |game| %>
|
|
<div class="flex justify-between items-center border-b pb-2">
|
|
<div>
|
|
<%= link_to game.title, game, class: "font-semibold text-indigo-600 hover:text-indigo-800" %>
|
|
<div class="text-sm text-gray-500"><%= game.platform.name %></div>
|
|
</div>
|
|
<div class="text-sm text-gray-500"><%= game.date_added.strftime("%b %d, %Y") %></div>
|
|
</div>
|
|
<% end %>
|
|
</div>
|
|
<%= link_to "View All Games", games_path, class: "mt-4 inline-block text-indigo-600 hover:text-indigo-800" %>
|
|
<% else %>
|
|
<p class="text-gray-500">No games in your collection yet. <%= link_to "Add your first game", new_game_path, class: "text-indigo-600 hover:text-indigo-800" %></p>
|
|
<% end %>
|
|
</div>
|
|
|
|
<!-- Currently Playing -->
|
|
<div class="bg-white p-6 rounded-lg shadow">
|
|
<h2 class="text-xl font-bold mb-4">Currently Playing</h2>
|
|
<% if @currently_playing_games.any? %>
|
|
<div class="space-y-4">
|
|
<% @currently_playing_games.each do |game| %>
|
|
<div class="flex justify-between items-center border-b pb-2">
|
|
<div>
|
|
<%= link_to game.title, game, class: "font-semibold text-indigo-600 hover:text-indigo-800" %>
|
|
<div class="text-sm text-gray-500"><%= game.platform.name %></div>
|
|
</div>
|
|
</div>
|
|
<% end %>
|
|
</div>
|
|
<% else %>
|
|
<p class="text-gray-500">Not currently playing anything</p>
|
|
<% end %>
|
|
</div>
|
|
</div>
|