Matchu
03c76fe882
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.
119 lines
No EOL
5 KiB
Text
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' |