55 lines
2.2 KiB
Text
55 lines
2.2 KiB
Text
<main id="nm-list">
|
|
<% APP_DATA[instance.zone.to_sym][:nms].each do |nm| %>
|
|
<% is_popped = instance.pops.filter { |pop| (Time.current - 120.minutes) <= pop.created_at }.any? { |pop| pop.name == nm[:name].parameterize } %>
|
|
<section class="<%= class_names(popped: is_popped) %>">
|
|
<div>
|
|
<img src="<%= "/#{nm[:element]}.png" %>" alt="<%= nm[:element] %>" width="30" />
|
|
</div>
|
|
<div class="meta">
|
|
<h3 class="nm-info">
|
|
<span class="badge">LV<%= nm[:level].to_s.rjust(2, "0") %></span>
|
|
<%= nm[:name] %>
|
|
<% if nm[:weather] %>
|
|
<img src="/<%= nm[:weather] %>.png" title="during <%= nm[:weather] %> only" width="15" />
|
|
<% end %>
|
|
</h3>
|
|
<div class="spawn-info">
|
|
«
|
|
<strong><%= nm[:spawned_by][:name] %></strong>
|
|
<% if nm[:spawned_by][:night_only] %>
|
|
<span title="only at night">🌙</span>
|
|
<% end %>
|
|
<% if nm[:spawned_by][:weather] %>
|
|
<img src="/<%= nm[:spawned_by][:weather] %>.png" title="during <%= nm[:spawned_by][:weather] %> only" width="15" />
|
|
<% end %>
|
|
<small class="badge">LV<%= nm[:spawned_by][:level].to_s.rjust(2, "0") %></small>
|
|
</div>
|
|
</div>
|
|
<div>
|
|
<% if is_popped %>
|
|
<% pop = instance.pops.find { |pop| pop.name == nm[:name].parameterize } %>
|
|
<% mins = ActiveSupport::Duration.build(Time.current - pop.created_at) %>
|
|
» <%= (120.minutes - mins).in_minutes.floor %>m
|
|
<span class="progress-container">
|
|
<span class="progress-bar" style="width: <%= (mins.in_minutes / 120) * 100 %>%"></span>
|
|
</span>
|
|
<% end %>
|
|
</div>
|
|
<div class="action needs_pwd">
|
|
<% if is_popped %>
|
|
<button
|
|
class="action reset"
|
|
hx-post="/reset?instance=<%= @instance.public_id %>&nm=<%= nm[:name].parameterize %>"
|
|
hx-target="#nm-list"
|
|
>Reset</button>
|
|
<% else %>
|
|
<button
|
|
class="action"
|
|
hx-post="/pop?instance=<%= @instance.public_id %>&nm=<%= nm[:name].parameterize %>"
|
|
hx-target="#nm-list"
|
|
>Pop</button>
|
|
<% end %>
|
|
</div>
|
|
</section>
|
|
<% end %>
|
|
</main>
|