forked from OpenNeo/impress
Emi Matchu
3c415e9cd3
Instead of doing all this listening to Turbo events etc to know when outfit layers might have changed, making it a custom element and wiring in the behavior to its actual lifecycle makes it always Just Work!
47 lines
1.9 KiB
Text
47 lines
1.9 KiB
Text
- title @item.name
|
|
- canonical_path @item
|
|
|
|
= render partial: "item_header",
|
|
locals: {item: @item, trades: @trades, current_subpage: "preview",
|
|
current_user_lists: @current_user_lists,
|
|
current_user_quantities: @current_user_quantities}
|
|
|
|
- if @item.name.include? "Baby Body Paint"
|
|
%p.warning
|
|
The Baby Body Paint items seem to have new zone restriction rules that our
|
|
system doesn't support yet, whuh oh! This might require major changes to
|
|
how we handle zones. Until then, these items will be <em>very</em> buggy,
|
|
sorry!
|
|
|
|
= turbo_frame_tag "item-preview" do
|
|
.outfit-viewer
|
|
- @preview_outfit.visible_layers.each do |swf_asset|
|
|
%outfit-layer
|
|
= image_tag swf_asset.image_url, alt: ""
|
|
|
|
= form_for item_path(@item), method: :get, class: "species-color-picker",
|
|
data: {"is-valid": @preview_error.nil?} do |f|
|
|
- if @preview_error == :pet_type_does_not_exist
|
|
%span.error-icon{title: "We haven't seen this kind of pet before."} ⚠️
|
|
- elsif @preview_error == :no_item_data
|
|
%span.error-icon{title: "We haven't seen this item on this pet before."} ⚠️
|
|
|
|
= select_tag "preview[color_id]",
|
|
options_from_collection_for_select(Color.funny.alphabetical,
|
|
"id", "human_name", @selected_preview_pet_type.color_id)
|
|
= select_tag "preview[species_id]",
|
|
options_from_collection_for_select(Species.alphabetical,
|
|
"id", "human_name", @selected_preview_pet_type.species_id)
|
|
= submit_tag "Go", name: nil
|
|
|
|
- unless @contributors_with_counts.empty?
|
|
#item-contributors
|
|
%header #{t '.contributors.header'}:
|
|
%ul
|
|
- @contributors_with_counts.each do |contributor, count|
|
|
%li= link_to(contributor.name, user_contributions_path(contributor)) + format_contribution_count(count)
|
|
%footer= t '.contributors.footer'
|
|
|
|
- content_for :javascripts do
|
|
= javascript_include_tag 'outfit-viewer', async: true
|
|
|