diff options
author | David Gay <david@davidgay.org> | 2021-05-27 18:41:51 -0400 |
---|---|---|
committer | David Gay <david@davidgay.org> | 2021-05-27 18:41:51 -0400 |
commit | 65c1ee3dbaf5c0a030dd28a7e3f41d47c7652cb1 (patch) | |
tree | 7536a43e8656d7cecc867c9a221fced1f225f731 /app/views/look | |
parent | 2c2de801b4481695f3d1b6b14527116092cb1197 (diff) |
Move active action display with timer and results to a `LookController`
Diffstat (limited to 'app/views/look')
-rw-r--r-- | app/views/look/_results.html.erb | 27 | ||||
-rw-r--r-- | app/views/look/_timer.html.erb | 18 | ||||
-rw-r--r-- | app/views/look/show.html.erb | 10 |
3 files changed, 55 insertions, 0 deletions
diff --git a/app/views/look/_results.html.erb b/app/views/look/_results.html.erb new file mode 100644 index 0000000..36e8103 --- /dev/null +++ b/app/views/look/_results.html.erb @@ -0,0 +1,27 @@ +<div> + <% results.each do |result| %> + <% case result[:type] %> + <% when "item" %> + <p>You got <%= result[:quantity] %> <%= link_to result[:item].name, item_path(result[:item])%> + <% if result[:xp]&.any? %> + (<%= result[:xp].map { |award| "#{award[:amount] * result[:quantity]} xp #{award[:skill].name}" }.join(", ") %>) + <% end %> + </p> + <% when "hearth_amenity" %> + <p>You constructed <%= result[:hearth_amenity].name %>.</p> + <% when "activity" %> + <p>You realized how to <%= result[:activity].name %>!</p> + <% when "monster" %> + <p>You encountered a <%= result[:monster].name %>.</p> + <p class="text-xs italic"><%= result[:monster].description %></p> + <% when "xp" %> + <p class="text-xs">You gained <%= result[:xp] %> <%= result[:skill].name %> XP.</p> + <% when "title" %> + <p>You earned the title <%= render "application/components/text/title", title: result[:title] %>!</p> + <% when "message" %> + <p><%= result[:body] %></p> + <% when "error" %> + <p><%= result[:message] %></p> + <% end %> + <% end %> +</div> diff --git a/app/views/look/_timer.html.erb b/app/views/look/_timer.html.erb new file mode 100644 index 0000000..908689b --- /dev/null +++ b/app/views/look/_timer.html.erb @@ -0,0 +1,18 @@ +<% if current_char.activity %> + <div data-controller="timer" + data-timer-start-value="<%= current_char.activity_time_remaining.ceil %>" + data-timer-post-url-value="<%= finish_activity_url %>" + class="text-center"> + <span data-timer-target="timer" class="text-3xl"></span> + </div> + + <% most_recent_cs = current_char.character_skills.order(:updated_at).last %> + <div class="text-center text-sm"> + <div class="text-xs"><%= most_recent_cs.skill.name %> level <%= most_recent_cs.level %></div> + <div><%= most_recent_cs.xp_to_next_level %> XP to next level</div> + </div> + + <div class="text-center my-4"> + <%= button_to "Stop", stop_activity_path %> + </div> +<% end %> diff --git a/app/views/look/show.html.erb b/app/views/look/show.html.erb new file mode 100644 index 0000000..a0c1bd7 --- /dev/null +++ b/app/views/look/show.html.erb @@ -0,0 +1,10 @@ +<h1 class="text-2xl"><%= current_char.activity.name %></h1> +<p><%= current_char.activity.description %></p> + +<div class="min-w-full my-2 px-1 overflow-auto text-sm border-2 border-gray-800 rounded" + style="height: 30rem;" id="result_output"> +</div> + +<div id="result_controls"> + <%= render "timer" %> +</div> |