forked from OpenNeo/impress
Matchu
a007479f99
We were previously planning a more interesting "Add to Cart" integration with TNT, but it hasn't panned out! For now, we'll just link to the NC Mall homepage.
249 lines
9.1 KiB
Text
249 lines
9.1 KiB
Text
- page_title = params[:for] ? "Shopping List for \"#{params[:for]}\"" : "Shopping List"
|
|
|
|
- title page_title
|
|
%h1#title= page_title
|
|
|
|
:markdown
|
|
Here's a custom shopping list for exactly the items in your outfit!
|
|
Have fun bringing your design to life!!
|
|
|
|
- if @items[:nc_mall].present?
|
|
%h2 NC Mall items
|
|
:markdown
|
|
These items are available in the NC Mall right now! You can buy them
|
|
with Neocash, a special currency you can [purchase directly][nc]
|
|
from Neopets or redeem via [gift cards][gc].
|
|
|
|
[nc]: https://secure.nc.neopets.com/get-neocash
|
|
[gc]: https://secure.nc.neopets.com/nickcash-cards
|
|
|
|
%table.item-list{"data-complexity": complexity_for(@items[:nc_mall])}
|
|
%thead
|
|
%tr
|
|
%td
|
|
%th.name-cell
|
|
Total: #{nc_total_for @items_needed[:nc_mall]} NC
|
|
(#{pluralize @items_needed[:nc_mall].size, "item"})
|
|
|
|
%td.actions-cell
|
|
- if @items_needed[:nc_mall].present?
|
|
= button_link_to "https://ncmall.neopets.com/",
|
|
target: "_blank",
|
|
data: {"action-kind": "bulk-nc-mall"} do
|
|
= cart_icon alt: ""
|
|
Buy all in NC Mall
|
|
%tbody
|
|
- @items[:nc_mall].each do |item|
|
|
= render "item_list_row", item: do
|
|
= button_link_to "https://ncmall.neopets.com/",
|
|
target: "_blank" do
|
|
= cart_icon alt: ""
|
|
Buy (#{item.current_nc_price} NC)
|
|
|
|
- if @items[:dyeworks].present?
|
|
%h2 Dyeworks items
|
|
:markdown
|
|
These are recolored "Dyeworks" variants of items. Dyeworks is a game of
|
|
chance: if you have the "base" item and a Dyeworks Hue Brew Potion, you can
|
|
[combine them][dyeworks] to receive a random color variant. You keep both
|
|
the new item *and* the base item.
|
|
|
|
If you don't get the color you want, you can use another potion to try
|
|
again. It's also common for users to exchange the variants they don't want
|
|
via "NC Trading". Potions can be bought individually, or in bundles of 5
|
|
or 10.
|
|
|
|
[dyeworks]: https://www.neopets.com/mall/dyeworks/
|
|
|
|
%table.item-list{"data-complexity": complexity_for(@items[:dyeworks])}
|
|
%thead
|
|
%tr
|
|
%td.thumbnail-cell
|
|
= image_tag "https://images.neopets.com/items/mall_80x80_cleaning.gif",
|
|
alt: "Dyeworks Hue Brew Potion"
|
|
%th.name-cell
|
|
Total: #{dyeworks_nc_total_for @items_needed[:dyeworks]} NC
|
|
+
|
|
%span.price-breakdown{
|
|
title: "At least #{pluralize @items_needed[:dyeworks].size, 'potion'}, " +
|
|
"average " +
|
|
"#{dyeworks_average_num_potions_for @items_needed[:dyeworks]}, " +
|
|
"could be more. 125 NC per potion, but cheaper in bundles."
|
|
}
|
|
?? potions
|
|
(~#{dyeworks_estimated_potions_cost_for @items_needed[:dyeworks]} NC)
|
|
%td.actions-cell
|
|
- if @items_needed[:dyeworks].present?
|
|
= button_link_to "https://ncmall.neopets.com/",
|
|
target: "_blank",
|
|
data: {"action-kind": "bulk-nc-mall"} do
|
|
= cart_icon alt: ""
|
|
Buy all in NC Mall
|
|
%tbody
|
|
- @items[:dyeworks].each do |item|
|
|
= render "item_list_row", item: do
|
|
- base_item = item.dyeworks_base_item
|
|
|
|
- content_for :subtitle, flush: true do
|
|
= link_to base_item, target: "_blank" do
|
|
#{probability item.dyeworks_odds} chance
|
|
- if item.dyeworks_permanent?
|
|
%span.dyeworks-timeframe{
|
|
title: "This recipe is NOT currently scheduled to be removed " +
|
|
"from Dyeworks. It might not stay forever, but it's also " +
|
|
"not part of a known limited-time event, like most " +
|
|
"Dyeworks items are. (Thanks Owls team!)"
|
|
}
|
|
(Always available)
|
|
- elsif item.dyeworks_limited_final_date.present?
|
|
%span.dyeworks-timeframe{
|
|
title: "This recipe is part of a limited-time Dyeworks " +
|
|
"event. The last day you can dye this is " +
|
|
"#{item.dyeworks_limited_final_date.to_fs(:long)}. " +
|
|
"(Thanks Owls team!)"
|
|
}
|
|
(Limited-time: #{item.dyeworks_limited_final_date.to_fs(:month_and_day)})
|
|
- elsif item.dyeworks_limited?
|
|
%span.dyeworks-timeframe{
|
|
title: "This recipe is part of a limited-time Dyeworks " +
|
|
"event, and is scheduled to be removed from the NC Mall " +
|
|
"soon. (Thanks Owls team!)"
|
|
}
|
|
(Limited-time)
|
|
|
|
= button_link_to "https://ncmall.neopets.com/",
|
|
target: "_blank" do
|
|
= cart_icon alt: ""
|
|
Buy base (#{item.dyeworks_base_item.current_nc_price} NC)
|
|
|
|
= button_link_to "NC Trades",
|
|
item_trades_path(item, type: "offering"),
|
|
target: "_blank", icon: search_icon
|
|
|
|
- if @items[:np].present?
|
|
%h2 Neopoint items
|
|
:markdown
|
|
These items can be purchased with Neopoints. For less-expensive items,
|
|
check the [Shop Wizard][wiz] first. Otherwise, try the
|
|
[Trading Post][tp] or [Auction Genie][ag]. Dress to Impress doesn't
|
|
track Neopoint item prices, but other fansites do!
|
|
|
|
[wiz]: https://www.neopets.com/shops/wizard.phtml
|
|
[tp]: https://www.neopets.com/island/tradingpost.phtml?type=browse
|
|
[ag]: https://www.neopets.com/genie.phtml
|
|
|
|
%table.item-list{"data-complexity": complexity_for(@items[:np])}
|
|
%thead
|
|
%tr
|
|
%td
|
|
%th.name-cell{colspan: 2}
|
|
Total: #{pluralize @items_needed[:np].size, "item"}
|
|
%tbody
|
|
- @items[:np].each do |item|
|
|
= render "item_list_row", item: do
|
|
= button_link_to "Shops", shop_wizard_url_for(item),
|
|
target: "_blank", icon: search_icon
|
|
= button_link_to "Trades", trading_post_url_for(item),
|
|
target: "_blank", icon: search_icon
|
|
|
|
- if @pb_items_by_color.present?
|
|
%h2 Paint Brush items
|
|
:markdown
|
|
These items are part of a paint brush set. Once you paint your pet,
|
|
these items will be semi-permanently added to your Closet, even if your
|
|
pet changes color again! You can use this to mix-and-match styles for
|
|
"cross-paint" outfits.
|
|
|
|
- @pb_items_by_color.each do |color, items|
|
|
- items_needed = @pb_items_needed_by_color[color]
|
|
%table.item-list{
|
|
"data-group-type": "bundle",
|
|
"data-group-owned": items.all?(&:owned?),
|
|
"data-complexity": complexity_for(items),
|
|
}
|
|
%thead
|
|
%tr
|
|
%td.thumbnail-cell
|
|
- if color&.pb_item_thumbnail_url?
|
|
= image_tag color.pb_item_thumbnail_url,
|
|
alt: "Item thumbnail for #{color.pb_item_name}"
|
|
- elsif color
|
|
= image_tag pet_type_image_url(@pb_color_pet_types[color], size: :face),
|
|
srcset: ["#{pet_type_image_url(@pb_color_pet_types[color], size: :face_2x)} 2x"],
|
|
alt: @pb_color_pet_types[color].human_name
|
|
- else
|
|
= image_tag "https://images.neopets.com/items/starter_red_pb.gif",
|
|
alt: "Item thumbnail for Starter Red Paint Brush"
|
|
%th
|
|
- if color
|
|
#{color.pb_item_name || color.name.humanize}
|
|
- else
|
|
Basic colors
|
|
(#{pluralize items_needed.size, "item"})
|
|
%td.actions-cell
|
|
- if color&.pb_item_name?
|
|
= button_link_to "Shops",
|
|
shop_wizard_url_for(color.pb_item_name),
|
|
target: "_blank", icon: search_icon
|
|
= button_link_to "Trades",
|
|
trading_post_url_for(color.pb_item_name),
|
|
target: "_blank", icon: search_icon
|
|
- elsif color
|
|
.special-color-explanation
|
|
Get via Lab Ray, morphing potions, etc.
|
|
- else
|
|
.special-color-explanation
|
|
Many colors, like Red, will grant these items.
|
|
%tbody
|
|
- items.each do |item|
|
|
= render "item_list_row", item:
|
|
|
|
- if @items[:other_nc].present?
|
|
%h2 Neocash items (Capsules, events, retired, etc.)
|
|
:markdown
|
|
These items are part of the Neocash economy, but not directly for sale.
|
|
Sometimes they're available in the [NC Mall][mall], via special
|
|
bundles or events. Sometimes they're retired, and can only be obtained via
|
|
gifts or trades.
|
|
|
|
[mall]: https://ncmall.neopets.com/
|
|
|
|
- if @items[:other_nc].any?(&:nc_trade_value)
|
|
:markdown
|
|
The [Owls Value Guide][owls] often has more details about how to get
|
|
these items, and how much they're usually worth in the NC Trading
|
|
community. We've loaded their info here for you, too! Thanks, Owls team!
|
|
|
|
[owls]: https://www.neopets.com/~owls
|
|
|
|
%table.item-list{"data-complexity": complexity_for(@items[:other_nc])}
|
|
%thead
|
|
%td
|
|
%th.name-cell{colspan: 2}
|
|
Total: #{pluralize @items_needed[:other_nc].size, "item"}
|
|
%tbody
|
|
- @items[:other_nc].each do |item|
|
|
= render "item_list_row", item: do
|
|
- content_for :subtitle, flush: true do
|
|
- if item.nc_trade_value.present?
|
|
- if nc_trade_value_is_estimate(item.nc_trade_value)
|
|
= link_to "https://www.neopets.com/~owls",
|
|
class: "owls-info-link", target: "_blank",
|
|
title: 'Owls keeps track of approximate "capsule" values of NC items for trading. Items with similar values can often be traded for one another. This is an estimate, not a rule!' do
|
|
%span.owls-info-label [Owls]
|
|
Estimated value:
|
|
= nc_trade_value_estimate_text(item.nc_trade_value)
|
|
- else
|
|
= link_to "https://www.neopets.com/~owls",
|
|
class: "owls-info-link", target: "_blank",
|
|
title: "Owls keeps track of how to get certain special items, even when there isn't a clear NC trade estimate." do
|
|
%span.owls-info-label [Owls]
|
|
Trade info:
|
|
#{item.nc_trade_value.value_text}
|
|
|
|
= button_link_to "NC Trades",
|
|
item_trades_path(item, type: "offering"),
|
|
target: "_blank", icon: search_icon
|
|
|
|
- content_for :stylesheets do
|
|
= page_stylesheet_link_tag "items/sources"
|