impress/app/views/outfits/new.html.haml
Matchu 03c76fe882 Update missing body ID prediction to handle, say, the Maraquan Mynci.
It turns out that some pets for seemingly nonstandard colors have the
standard body type anyway, and vice-versa. This implies that we should
stop relying on a color's standardness, but, for the time being, we've
just revised the prediction model:

Old model:
    * If I see a body_id, I find the corresponding color_ids, and it's wearable
      by all pet types with those color_ids.

New model:
    * If I see a body_id,
        * If it also belongs to a basic pet type, it's a standard body ID.
            * It therefore fits all pet types of standard color (if there's
              more than one body ID modeled already). (Not really,
              because of weird exceptions like Orange Chia. Should that be
              standard or not?)
        * If it doesn't also belong to a basic pet type, it's a nonstandard
          body ID.
            * It therefore only belongs to one color, and therefore the item
              fits all pet types of the same color.
2014-01-20 15:29:01 -06:00

119 lines
No EOL
5 KiB
Text

- hide_home_link
= campaign_progress
#outfit-forms
- localized_cache :action_suffix => 'outfit_forms_intro' do
#pet-preview
= image_tag 'default_preview.png', :alt => ''
%span
%h1= t 'app_name'
%h2= t '.tagline'
= form_tag remote_load_pet_path, method: 'GET', id: 'load-pet-to-wardrobe' do
= hidden_field_tag 'impress_user', current_user.try(:id)
- localized_cache action_suffix: 'outfits#new main_load_pet_form_content' do
= hidden_field_tag 'redirect', "#{wardrobe_url}\#{q}"
%fieldset
%legend= t '.load_pet.legend'
= pet_name_tag :id => 'main-pet-name'
%button{:type => "submit"}
= t '.load_pet.submit'
- localized_cache action_suffix: 'outfits#new start_from_scratch_form' do
= form_tag wardrobe_path, method: 'GET', id: 'start-from-scratch', authenticity_token: false do
%fieldset
%legend= t '.start_from_scratch.legend'
= pet_attribute_select 'color', @colors, 8
= pet_attribute_select 'species', @species
%input{:type => "submit", :value => t('.start_from_scratch.submit')}
%ul#sections
- localized_cache :action_suffix => 'your_items_module' do
%li#your-items-module
= link_to image_tag('your_items.png'), your_items_path
%h3= link_to t('your_items'), your_items_path
%div
%h4= t '.your_items.tagline'
%p= t '.your_items.description'
= form_tag users_path, :method => 'get' do
= text_field_tag 'name', '', :type => 'search',
:placeholder => t('.your_items.user_search.placeholder')
= submit_tag t('.your_items.user_search.submit')
- localized_cache :action_suffix => 'infinite_closet_module' do
%li
= link_to image_tag('items.png'), items_path
%h3= link_to t('infinite_closet'), items_path
%div
%h4= t '.infinite_closet.tagline'
%p= t '.infinite_closet.description'
= form_tag items_path, :method => 'get' do
= text_field_tag 'q', '', :type => 'search',
:placeholder => t('.infinite_closet.item_search.placeholder')
= submit_tag t('.infinite_closet.item_search.submit')
%li
= link_to bulk_pets_path do
= image_tag 'http://images.neopets.com/items/mall_ac_garland_spotlight.gif'
%h3= link_to t('modeling_hub'), bulk_pets_path
%div
%h4= t '.modeling_hub.tagline'
%p= t '.modeling_hub.description'
= form_tag remote_load_pet_path, method: 'POST' do
= hidden_field_tag 'redirect', "#{root_url}\#{q}"
= pet_name_tag :placeholder => t('.modeling_hub.load_pet.placeholder')
= submit_tag t('.modeling_hub.load_pet.submit')
- localized_cache 'outfits#new latest_contribution' do
#latest-contribution
= link_to t('.latest_contribution.header'), contributions_path, :id => 'recent-contributions-link'
= latest_contribution_description(@latest_contribution)
%abbr#latest-contribution-created-at{:title => @latest_contribution.created_at.getutc.iso8601}
#whats-new
-# TODO: cache this entire block? or just request newest items every time?
- if @newest_unmodeled_items.present?
#modeling-neopets-users{'data-usernames' => @neopets_usernames.to_json}
%h3= t '.newest_items.unmodeled.header'
%ul#newest-unmodeled-items
- @newest_unmodeled_items.each do |item|
- localized_cache "items/#{item.id} modeling_progress updated_at=#{item.updated_at.to_i}" do
%li{'data-item-id' => item.id}
= link_to image_tag(item.thumbnail_url), item, :class => 'image-link'
= link_to item, :class => 'header' do
%h2= item.name
%span.meter{style: "width: #{@newest_unmodeled_items_predicted_modeled_ratio[item]*100}%"}
.missing-bodies
= render_predicted_missing_species_by_color(@newest_unmodeled_items_predicted_missing_species_by_color[item])
.models
- if @newest_modeled_items.present?
%h3= t '.newest_items.modeled.header'
%ul#newest-modeled-items
- @newest_modeled_items.each do |item|
%li.object
= link_to item, title: item.name, alt: item.name do
= image_tag item.thumbnail_url
= nc_icon_for(item)
- localized_cache :action_suffix => 'templates' do
%script#pet-query-notice-template{:type => 'text/x-jquery-tmpl'}
.success
%img.inline-image{:src => '${pet_image_url}'}
= t '.pet_query.notice_html', :pet_name => '${pet_name}'
%script#preview-pet-type-not-found-template{:type => 'text/x-jquery-tmpl'}
= t '.preview.pet_type_not_found', :color_name => '${color_name}',
:species_name => '${species_name}'
%script#preview-pet-not-found-template{:type => 'text/x-jquery-tmpl'}
= t '.preview.pet_not_found'
- content_for :meta do
%meta{name: 'neopia-host', content: neopia_host}
- content_for :javascripts do
= include_javascript_libraries :jquery20, :jquery_tmpl
= modeling_i18n_tag
= javascript_include_tag 'ajax_auth', 'react', 'jquery.timeago', 'pet_query', 'outfits/new', 'modeling'