<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>