summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Gay <david@davidgay.org>2023-11-03 01:27:49 -0400
committerDavid Gay <david@davidgay.org>2023-11-03 01:27:49 -0400
commit13f4f6ca06a216962f4c25fa0d6041945cfb3fb5 (patch)
tree21ce830642a842e48f6794d53cff239d587db181
parent0c5cccbecfc8b71fb318c275f142306e19bb7e43 (diff)
Better trainer card
-rw-r--r--app/models/user.rb4
-rw-r--r--app/views/layouts/application.html.erb2
-rw-r--r--app/views/users/show.html.erb49
3 files changed, 32 insertions, 23 deletions
diff --git a/app/models/user.rb b/app/models/user.rb
index ed3f425..4ad0a1e 100644
--- a/app/models/user.rb
+++ b/app/models/user.rb
@@ -6,4 +6,8 @@ class User < ApplicationRecord
has_many :checkpoints, through: :runs
has_many :pokedex_entries, dependent: :destroy
has_many :runs, dependent: :restrict_with_error
+
+ def pokedex_captured_count
+ pokedex_entries.joins(:pokemon).select("distinct pokemons.pokedex_num").count
+ end
end
diff --git a/app/views/layouts/application.html.erb b/app/views/layouts/application.html.erb
index 0102ea6..2332cd5 100644
--- a/app/views/layouts/application.html.erb
+++ b/app/views/layouts/application.html.erb
@@ -24,7 +24,7 @@
<div class="space-x-8 nav-links">
<% if user_signed_in? %>
<%= link_to "Pokédex", pokedex_path %>
- <%= link_to "Trainer card", user_path(current_user) %>
+ <%= link_to "Trainer", user_path(current_user) %>
<%= link_to "Sign out", destroy_user_session_path %>
<% else %>
<%= link_to "Sign in", new_user_session_path %>
diff --git a/app/views/users/show.html.erb b/app/views/users/show.html.erb
index 4df3273..f11b01f 100644
--- a/app/views/users/show.html.erb
+++ b/app/views/users/show.html.erb
@@ -1,25 +1,30 @@
-<div class="space-y-4">
- <h1 class="text-2xl">
- <span class="px-4 py-2 text-lg text-slate-900 bg-orange-500 rounded">TRAINER CARD</span>
- <%= @user.name || "???" %>
- </h1>
- <p class="subtitle">ID No. <%= @user.id %></p>
-
- <% if @user == current_user %>
- <%= link_to "Edit trainer card", edit_user_url(@user) %>
- <% end %>
-
- <ul>
- <li>Pokédex 0</li>
- </ul>
-
- <h2><%= pluralize(@user.runs.count, "run") %></h2>
+<div class="grid grid-cols-1 md:grid-cols-2">
+ <div class="w-[500px] space-y-4 p-4 border border-orange-900 rounded shadow-xl bg-neutral-50">
+ <div class="flex justify-between text-display">
+ <div class="px-4 py-2 text-sm text-slate-900 bg-orange-500 rounded">TRAINER CARD</div>
+ <div class="">ID No. <%= @user.id %></div>
+ </div>
+ <div>
+ <p class="text-lg">NAME: <%= @user.name || "???" %>
+ <p>POKéDEX: <%= @user.pokedex_captured_count %></p>
+ <p>TIME: <%= distance_of_time_in_words_to_now(@user.created_at) %></p>
+ </div>
+ <% if @user == current_user %>
+ <p><%= link_to "Edit trainer card", edit_user_url(@user) %></p>
+ <% end %>
+ </div>
+ <div>
+ <div class="space-y-4">
+ <h2><%= pluralize(@user.runs.count, "run") %></h2>
- <p><%= link_to "Start a run", new_run_path %></p>
+ <p><%= link_to "Start a run", new_run_path %></p>
- <ul class="list-disc">
- <% @user.runs.each do |run| %>
- <li><%= run.game.title %> - <%= link_to run.title, run_path(run) %></li>
- <% end %>
- </ul>
+ <ul class="list-disc">
+ <% @user.runs.each do |run| %>
+ <li><%= run.game.title %> - <%= link_to run.title, run_path(run) %></li>
+ <% end %>
+ </ul>
+ </div>
+ </div>
</div>
+