diff options
Diffstat (limited to 'app/views')
-rw-r--r-- | app/views/characters/items/index.html.erb | 4 | ||||
-rw-r--r-- | app/views/characters/skills/_infix_slot.html.erb | 3 | ||||
-rw-r--r-- | app/views/characters/skills/index.html.erb | 59 |
3 files changed, 53 insertions, 13 deletions
diff --git a/app/views/characters/items/index.html.erb b/app/views/characters/items/index.html.erb index 671e68f..57e8531 100644 --- a/app/views/characters/items/index.html.erb +++ b/app/views/characters/items/index.html.erb @@ -35,6 +35,10 @@ character_items: @character.character_items.ordered_by_item_name.select { |ci| ci.item.has_tag?("currency") } %> +<%= render "characters/items/inventory_section", heading: "Omens", + character_items: @character.character_items.ordered_by_item_name.select { |ci| + ci.item.has_tag?("omen") } %> + <%= render "characters/items/inventory_section", heading: "Seeds", character_items: @character.character_items.ordered_by_item_name.select { |ci| ci.item.has_tag?("seed") } %> diff --git a/app/views/characters/skills/_infix_slot.html.erb b/app/views/characters/skills/_infix_slot.html.erb new file mode 100644 index 0000000..0113596 --- /dev/null +++ b/app/views/characters/skills/_infix_slot.html.erb @@ -0,0 +1,3 @@ +<div class="flex justify-between items-center border-t border-gray-700 p-2"> + <%= yield %> +</div> diff --git a/app/views/characters/skills/index.html.erb b/app/views/characters/skills/index.html.erb index fd53870..f79b06e 100644 --- a/app/views/characters/skills/index.html.erb +++ b/app/views/characters/skills/index.html.erb @@ -1,23 +1,56 @@ <h2 class="text-3xl mb-2">Skills</h2> <div class="grid gap-4 grid-cols-1 md:grid-cols-2 lg:grid-cols-3 xl:grid-cols-4"> <% @character.character_skills.ordered_by_skill_name.each do |cs| %> - <div class="rounded border border-gray-700"> - <div class="flex p-1"> - <div class="flex-grow"> - <div class="text-xl text-display mb-1"> - <%= cs.skill.name %> + <div> + <div class="rounded border border-gray-700"> + <div class="flex p-1"> + <div class="flex-grow"> + <div class="text-xl text-display mb-1"> + <%= cs.skill.name %> + </div> + <div class="flex items-center text-xs"> + <span class="bg-gray-700 px-1 py-0.5 rounded mr-1">XP</span><%= cs.xp %> + </div> </div> - <div class="flex items-center text-xs"> - <span class="bg-gray-700 px-1 py-0.5 rounded mr-1">XP</span><%= cs.xp %> + <div class="text-xl m-2 text-display"> + <%= cs.level %> </div> </div> - <div class="text-xl m-2 text-display"> - <%= cs.level %> - </div> - </div> - <div class="border border-gray-800 h-2 my-1"> - <div class="bg-gray-600 h-full" style="width: <%= cs.percentage_of_skill_level_completed %>%"> + <div class="border border-gray-700 h-2 mt-1 -mb-px -mx-px"> + <div class="bg-gray-600 h-full" style="width: <%= cs.percentage_of_skill_level_completed %>%"> + </div> </div> + <% @character.item_infixes.where(skill: cs.skill).each do |ii| %> + <%= render "characters/skills/infix_slot" do %> + <div> + <%= ii.item.name %> + </div> + <div> + <%= button_to "Remove", character_item_infix_path(id: ii.id), method: :delete %> + </div> + <% end %> + <% end %> + <% @character.available_infixes(cs.skill).times do %> + <%= render "characters/skills/infix_slot" do %> + <%# TODO: Don't load all into memory %> + <% infixable_items = @character.items.select {|i| i.infixable?(cs.skill)} %> + <% if infixable_items.any? %> + <%= form_with url: character_item_infixes_path, class: "w-full" do |f| %> + <div class="flex space-x-1"> + <div class="flex-grow"> + <%= f.select :item_id, infixable_items.map { |i| [i.name, i.id]}, {}, class: "w-full" %> + <%= f.hidden_field :skill_id, value: cs.skill.id %> + </div> + <div> + <%= f.submit "Infix" %> + </div> + </div> + <% end %> + <% else %> + <div class="text-gray-500">No items to infix.</div> + <% end %> + <% end %> + <% end %> </div> </div> <% end %> |