Compare commits

...

3 commits

Author SHA1 Message Date
38474d19d7 Oops, fix broken strings on Neopets page import wizard
Uhh I guess when I half-removed a feature from the translations list (I
don't remember when?), it left two different dictionaries labeled
`neopets_page_import_tasks.new`, and the second one overwrote the
first. Oops! Yikes!

By removing these, the translations *above* them actually get to apply
to the page correctly. Before this change, the page just showed the
translation keys as placeholders, womp womp.
2024-09-20 18:16:06 -07:00
73e0b3bb3c Remove some silly view template caching calls
When I was trying to debug slow view code one time long long ago, I was
like "let's cache any part of the template that's static!"

And like. no that's silly, I don't trust that this speeds anything up,
but it _definitely_ adds complexity. Let's just not.
2024-09-20 18:08:11 -07:00
1f53615654 Add "State of DTI: 2024" blog post announcement 2024-09-20 18:02:58 -07:00
11 changed files with 136 additions and 178 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 45 KiB

View file

@ -1,5 +1,5 @@
module OutfitsHelper module OutfitsHelper
LAST_DAY_OF_ANNOUNCEMENT = Date.parse("2024-09-13") LAST_DAY_OF_ANNOUNCEMENT = Date.parse("2024-09-27")
def show_announcement? def show_announcement?
Date.today <= LAST_DAY_OF_ANNOUNCEMENT Date.today <= LAST_DAY_OF_ANNOUNCEMENT
end end

View file

@ -9,24 +9,23 @@
= will_paginate @items = will_paginate @items
- else - else
#search-info #search-info
- localized_cache :action_suffix => 'search_help' do #search-help
#search-help %h2= t '.search_help_header'
%h2= t '.search_help_header' %dl
%dl %dt= t '.examples.basic.query'
%dt= t '.examples.basic.query' %dd= t '.examples.basic.description'
%dd= t '.examples.basic.description' %dt= t '.examples.user_items.query'
%dt= t '.examples.user_items.query' %dd
%dd = twl '.examples.user_items.description',
= twl '.examples.user_items.description', :user_items_link_url => your_items_path
:user_items_link_url => your_items_path %dt= t '.examples.nc.query'
%dt= t '.examples.nc.query' %dd= t '.examples.nc.description'
%dd= t '.examples.nc.description' %dt= t '.examples.pb.query'
%dt= t '.examples.pb.query' %dd= t '.examples.pb.description'
%dd= t '.examples.pb.description' %dt= t '.examples.species.query'
%dt= t '.examples.species.query' %dd= t '.examples.species.description'
%dd= t '.examples.species.description' %dt= t '.examples.type.query'
%dt= t '.examples.type.query' %dd= t '.examples.type.description'
%dd= t '.examples.type.description'
#search-new-items #search-new-items
%h2= t '.newest_items.header' %h2= t '.newest_items.header'

View file

@ -16,52 +16,51 @@
= f.select :list_id, neopets_page_list_options(current_user) = f.select :list_id, neopets_page_list_options(current_user)
= f.submit t('.submit') = f.submit t('.submit')
- localized_cache :action_suffix => 'explanation' do %p
%p = t '.help.welcome', :name => @import_task.page.name
= t '.help.welcome', :name => @import_task.page.name = t '.help.intro', :name => @import_task.page.name
= t '.help.intro', :name => @import_task.page.name
%ol %ol
%li %li
= twl '.help.check_frame.header', :page_link_url => @import_task.page.url, = twl '.help.check_frame.header', :page_link_url => @import_task.page.url,
:name => @import_task.page.name, :index => @import_task.page.expected_index :name => @import_task.page.name, :index => @import_task.page.expected_index
%ul %ul
%li %li
%strong= t '.help.check_frame.check_login.summary' %strong= t '.help.check_frame.check_login.summary'
= t '.help.check_frame.check_login.details' = t '.help.check_frame.check_login.details'
%li %li
%strong %strong
= twl '.help.check_frame.login.summary', = twl '.help.check_frame.login.summary',
:login_link_url => neopets_login_url
= twl '.help.check_frame.login.details',
:login_link_url => neopets_login_url :login_link_url => neopets_login_url
%li = twl '.help.check_frame.login.details',
%strong :login_link_url => neopets_login_url
= t '.help.check_frame.check_content.summary', %li
:name => @import_task.page.name %strong
= t '.help.check_frame.check_content.details' = t '.help.check_frame.check_content.summary',
:name => @import_task.page.name
= t '.help.check_frame.check_content.details'
%li %li
= t '.help.view_source.header' = t '.help.view_source.header'
%ul %ul
%li %li
= t '.help.view_source.chrome_html' = t '.help.view_source.chrome_html'
%li %li
= t '.help.view_source.firefox_html' = t '.help.view_source.firefox_html'
%li %li
= t '.help.view_source.other' = t '.help.view_source.other'
%li %li
= twl '.help.view_source.troubleshooting', = twl '.help.view_source.troubleshooting',
:page_link_url => @import_task.page.url :page_link_url => @import_task.page.url
%li %li
= t '.help.copy_source.header' = t '.help.copy_source.header'
%ul %ul
%li %li
= t '.help.copy_source.shortcuts' = t '.help.copy_source.shortcuts'
%li %li
= t '.help.submit.header' = t '.help.submit.header'
%ul %ul
%li %li
= t '.help.submit.description', :name => @import_task.page.name = t '.help.submit.description', :name => @import_task.page.name

View file

@ -6,33 +6,27 @@
- if show_announcement? - if show_announcement?
%section.announcement %section.announcement
= image_tag "about/announcement.png", width: 70, height: 70, = image_tag "about/announcement-broom.png", width: 70, height: 70,
srcset: {"about/announcement@2x.png": "2x"}, srcset: {"about/announcement-broom@2x.png": "2x"},
class: "neopass-thumbnail" class: "neopass-thumbnail"
.content .content
%p %p
%strong %strong
= link_to "We've updated the item page!", = link_to "State of DTI: 2024!",
item_path("37002-Floating-Negg-Faerie-Doll") "https://blog.openneo.net/2024/09/20/state-of-dti-2024.html"
It should load faster, work better on phones, and be more reliable—no Here's what we've been up to this year! We talk a bit about the
more "failed to fetch"! Please try it out and let us know if it does cleanups, the partnerships, and the future!
anything weird!! %p
The themes are stability, simplicity, and sustainability. We've been
%p{style: "font-style: italic; opacity: .85; font-size: 85%"} online for 15 years now, and we're gonna keep doing our best to keep
By the way, our integration work with TNT is on pause while they focus DTI here for a long time to come!
on the
= link_to "~Void Within plot~!", "https://www.neopets.com/tvw/",
target: "_blank", style: "color: purple; font-weight: bold"
%br
We'll start it back up closer to the new year.
#outfit-forms #outfit-forms
- localized_cache :action_suffix => 'outfit_forms_intro' do #pet-preview
#pet-preview = image_tag 'default_preview.png', :alt => ''
= image_tag 'default_preview.png', :alt => '' %span
%span %h1= t 'app_name'
%h1= t 'app_name' %h2= t '.tagline'
%h2= t '.tagline'
= form_tag load_pet_path, method: 'POST', class: 'primary load-pet-to-wardrobe' do = form_tag load_pet_path, method: 'POST', class: 'primary load-pet-to-wardrobe' do
= hidden_field_tag 'destination', 'wardrobe' = hidden_field_tag 'destination', 'wardrobe'
@ -114,19 +108,17 @@
= image_tag item.thumbnail_url = image_tag item.thumbnail_url
= nc_icon_for(item) = 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}'
- localized_cache :action_suffix => 'templates' do %script#preview-pet-type-not-found-template{:type => 'text/x-jquery-tmpl'}
%script#pet-query-notice-template{:type => 'text/x-jquery-tmpl'} = t '.preview.pet_type_not_found', :color_name => '${color_name}',
.notice :species_name => '${species_name}'
%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'} %script#preview-pet-not-found-template{:type => 'text/x-jquery-tmpl'}
= t '.preview.pet_type_not_found', :color_name => '${color_name}', = t '.preview.pet_not_found'
:species_name => '${species_name}'
%script#preview-pet-not-found-template{:type => 'text/x-jquery-tmpl'}
= t '.preview.pet_not_found'
- content_for :javascripts do - content_for :javascripts do
= include_javascript_libraries :jquery, :jquery_tmpl = include_javascript_libraries :jquery, :jquery_tmpl

View file

@ -1,57 +1,55 @@
- title t('modeling_hub') - title t('modeling_hub')
= form_tag load_pet_path, :id => 'bulk-pets-form' do = form_tag load_pet_path, :id => 'bulk-pets-form' do
- localized_cache :action_suffix => 'bulk_pets_content' do %p= t '.explanation'
%p= t '.explanation'
= origin_tag bulk_pets_path = origin_tag bulk_pets_path
%div.noscript %div.noscript
%input{:name => "name", :type => "text"}/ %input{:name => "name", :type => "text"}/
%input{:type => "submit", :value => t('.submit')}/ %input{:type => "submit", :value => t('.submit')}/
%div.script-only %div.script-only
%textarea %textarea
%button#bulk-pets-form-add{:type => "button"}= t '.add' %button#bulk-pets-form-add{:type => "button"}= t '.add'
%button#bulk-pets-form-clear{:type => "button"}= t '.clear' %button#bulk-pets-form-clear{:type => "button"}= t '.clear'
%ul %ul
- localized_cache :action_suffix => 'templates' do %script#item-template{:type => 'text/x-jquery-tmpl'}
%script#item-template{:type => 'text/x-jquery-tmpl'} %li{:class => 'object{{if owned}} owned{{/if}}'}
%li{:class => 'object{{if owned}} owned{{/if}}'} = link_to item_path(':id').sub(':id', '${id}') do
= link_to item_path(':id').sub(':id', '${id}') do %img{:src => '${thumbnail_url}', :alt => '${description}', :title => '${description}'}
%img{:src => '${thumbnail_url}', :alt => '${description}', :title => '${description}'} %span.name ${name}
%span.name ${name}
{{if nc}} {{if nc}}
= nc_icon = nc_icon
{{/if}} {{/if}}
.closeted-icons
{{if owned}}
= owned_icon
{{/if}}
{{if wanted}}
= wanted_icon
{{/if}}
.closeted-icons
{{if owned}} {{if owned}}
%span.object-owned= t '.needed_items.item_owned' = owned_icon
{{/if}} {{/if}}
%script#needed-items-pet-header-template{:type => 'text/x-jquery/tmpl'} {{if wanted}}
= t '.needed_items.pet_header', :pet_name => '${pet_name}' = wanted_icon
{{/if}}
%script#bulk-pets-submission-template{:type => 'text/x-jquery/tmpl'} {{if owned}}
%li.waiting %span.object-owned= t '.needed_items.item_owned'
%img{:src => '${pet_thumbnail}'} {{/if}}
%span.name ${pet_name}
%span.waiting-message= t '.waiting'
%span.loading-message= t '.loading'
%span.response
%script#bulk-pets-submission-success-template{:type => 'text/x-jquery/tmpl'} %script#needed-items-pet-header-template{:type => 'text/x-jquery/tmpl'}
= t '.submission_success', :points => '${points}' = t '.needed_items.pet_header', :pet_name => '${pet_name}'
%script#bulk-pets-submission-template{:type => 'text/x-jquery/tmpl'}
%li.waiting
%img{:src => '${pet_thumbnail}'}
%span.name ${pet_name}
%span.waiting-message= t '.waiting'
%span.loading-message= t '.loading'
%span.response
%script#bulk-pets-submission-success-template{:type => 'text/x-jquery/tmpl'}
= t '.submission_success', :points => '${points}'
- content_for :javascripts do - content_for :javascripts do
= include_javascript_libraries :jquery, :jquery_tmpl = include_javascript_libraries :jquery, :jquery_tmpl

View file

@ -396,15 +396,6 @@ en-MEEP:
to Impress meepit list. I meep that it's all safe, but, if you're to Impress meepit list. I meep that it's all safe, but, if you're
concerned, find a meepit and meep out the source code to be sure. concerned, find a meepit and meep out the source code to be sure.
new:
title: Meemport from pets
your_items_link: Back to Your Meeps
explanation:
Meep your Neopets username below, and we'll meemport all the wearables
from all your pets. It's meepy!
username_label: Meopets Username
submit: Meemport all pets
outfits: outfits:
destroy: destroy:
success: Outfit "%{outfit_name}" succeessfully demeeped. success: Outfit "%{outfit_name}" succeessfully demeeped.

View file

@ -503,15 +503,6 @@ en:
concerned, find a programmer buddy and check out the source code to concerned, find a programmer buddy and check out the source code to
be sure. be sure.
new:
title: Import from pets
your_items_link: Back to Your Items
explanation:
Enter your Neopets username below, and we'll import all the wearables
from all your pets. It's easy!
username_label: Neopets Username
submit: Import all pets
outfits: outfits:
destroy: destroy:
success: Outfit "%{outfit_name}" successfully deleted. success: Outfit "%{outfit_name}" successfully deleted.

View file

@ -320,12 +320,6 @@ es:
submit: submit:
header: ¡Envíalo! header: ¡Envíalo!
description: El código será analizado y obtendrá sólo la información de la cantidad de objetos y qué objetos hay en tu %{name}. Estos objetos los podrás añadir a tus listas de Dress to Impress. Este proceso es totalmente seguro pero si no te fías contacta con algún programador para que revise el código y estar seguro. description: El código será analizado y obtendrá sólo la información de la cantidad de objetos y qué objetos hay en tu %{name}. Estos objetos los podrás añadir a tus listas de Dress to Impress. Este proceso es totalmente seguro pero si no te fías contacta con algún programador para que revise el código y estar seguro.
new:
title: Importar de pets
your_items_link: Volver a Tus Objetos
explanation: Escribe tu nombre de usuario en Neopets, y nosotros importaremos toda la ropa Apta Para Usar de tus pets. ¡Es fácil!
username_label: Nombre en Neopets
submit: Importar todos los pets
outfits: outfits:
destroy: destroy:
success: El atuendo %{outfit_name}" se ha eliminado correctamente. success: El atuendo %{outfit_name}" se ha eliminado correctamente.

View file

@ -318,12 +318,6 @@ pt:
submit: submit:
header: Enviar header: Enviar
description: Vamos analisar o código que você nos enviou, agarre exclusivamente a identidade e quantidade de itens em seu %{name}, e acrescentar a sua lista de itens do Dress to Impress. Eu prometo que é tudo seguro, mas, se você estiver preocupado, encontre um amigo programador e verifique o código fonte para ter certeza. description: Vamos analisar o código que você nos enviou, agarre exclusivamente a identidade e quantidade de itens em seu %{name}, e acrescentar a sua lista de itens do Dress to Impress. Eu prometo que é tudo seguro, mas, se você estiver preocupado, encontre um amigo programador e verifique o código fonte para ter certeza.
new:
title: "Importar dos pets "
your_items_link: Voltar para "Seus Items"
explanation: "Digite seu nome de usuário de Neopets abaixo e nós importaremos todos os aplicáveis de todos seus pets. É fácil! "
username_label: Nome de Usuário de Neopets
submit: Importar todos os Pets
outfits: outfits:
destroy: destroy:
success: Roupa "%{outfit_name}" excluída com sucesso. success: Roupa "%{outfit_name}" excluída com sucesso.