Emi Matchu
860b8eef72
Huh, I hadn't realized that like, we'd already set up the controller to always *run* basically all of the modeling logic, and the caching in the view layer wasn't saving us any queries anymore. Kinda silly! Remove the caching call, just to simplify the codebase (I like to avoid caching things that don't specifically need it!). And hey, love that the modeling code in the controller is now *way* faster to run! You love to see it!
127 lines
4.8 KiB
Text
127 lines
4.8 KiB
Text
- hide_home_link
|
|
|
|
= advertise_campaign_progress @campaign
|
|
|
|
%p#pet-not-found.alert= t 'pets.load.not_found'
|
|
|
|
- if show_announcement?
|
|
%section.announcement
|
|
= image_tag "about/announcement-broom.png", width: 70, height: 70,
|
|
srcset: {"about/announcement-broom@2x.png": "2x"},
|
|
class: "neopass-thumbnail"
|
|
.content
|
|
%p
|
|
%strong
|
|
= link_to "State of DTI: 2024!",
|
|
"https://blog.openneo.net/2024/09/20/state-of-dti-2024.html"
|
|
Here's what we've been up to this year! We talk a bit about the
|
|
cleanups, the partnerships, and the future!
|
|
%p
|
|
The themes are stability, simplicity, and sustainability. We've been
|
|
online for 15 years now, and we're gonna keep doing our best to keep
|
|
DTI here for a long time to come!
|
|
|
|
#outfit-forms
|
|
#pet-preview
|
|
= image_tag 'default_preview.png', :alt => ''
|
|
%span
|
|
%h1= t 'app_name'
|
|
%h2= t '.tagline'
|
|
|
|
= form_tag load_pet_path, method: 'POST', class: 'primary load-pet-to-wardrobe' do
|
|
= hidden_field_tag 'destination', 'wardrobe'
|
|
%fieldset
|
|
%legend= t '.load_pet'
|
|
= pet_name_tag class: 'main-pet-name'
|
|
%button{:type => "submit"}
|
|
= t '.submit.primary'
|
|
|
|
= form_tag wardrobe_path, method: 'GET', class: 'secondary start-from-scratch', authenticity_token: false do
|
|
%fieldset
|
|
%legend= t '.start_from_scratch'
|
|
= pet_attribute_select 'color', @colors, 8
|
|
= pet_attribute_select 'species', @species
|
|
%button{:type => "submit"}
|
|
= t('.submit.secondary')
|
|
|
|
%ul#sections
|
|
%li
|
|
%h3= link_to t('your_items'), your_items_path
|
|
= link_to image_tag('your_items.png'), your_items_path
|
|
.section-info
|
|
%strong= 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')
|
|
|
|
%li
|
|
%h3= link_to t('infinite_closet'), items_path
|
|
= link_to image_tag('items.png'), items_path
|
|
.section-info
|
|
%strong= 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
|
|
%h3= link_to t('modeling_hub'), bulk_pets_path
|
|
= link_to bulk_pets_path do
|
|
= image_tag 'https://images.neopets.com/items/mall_ac_garland_spotlight.gif'
|
|
.section-info
|
|
%strong= t '.modeling_hub.tagline'
|
|
%p= t '.modeling_hub.description'
|
|
= form_tag load_pet_path, method: 'POST' do
|
|
= pet_name_tag placeholder: t('.modeling_hub.load_pet.placeholder'),
|
|
required: true
|
|
= submit_tag t('.modeling_hub.load_pet.submit')
|
|
|
|
- if @latest_contribution # will be nil for a fresh copy of the site ;P
|
|
#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
|
|
- if @newest_unmodeled_items.present?
|
|
%h3= t '.newest_items.unmodeled.header'
|
|
%ul#newest-unmodeled-items
|
|
- @newest_unmodeled_items.each do |item|
|
|
%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)
|
|
|
|
%script#pet-query-notice-template{:type => 'text/x-jquery-tmpl'}
|
|
.notice
|
|
%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 :javascripts do
|
|
= javascript_include_tag 'jquery', 'jquery.tmpl', 'jquery.timeago',
|
|
defer: true
|
|
|
|
- content_for :javascripts_body do
|
|
= javascript_include_tag 'outfits/new', defer: true
|