Add bare-bones Item Getting Guide page
TNT requested that we figure out ways to connect the dots between people's intentions on DTI to their purchases in the NC Mall. But rather than just slam ad links everywhere, our plan is to design an actually useful feature about it: the "Item Getting Guide". It'll break down items by how you can actually get them (NP economy, NC Mall, retired NC, Dyeworks, etc), and we're planning some cute actions you can take, like shortcuts for getting them onto trade wishlists or into your NC Mall cart. This is just a little demo version of the page, just breaking down items specified in the URL into NC/NP/PB! Later we'll do more granular breakdown than this, with more info and actions—and we'll also like, link to it at all, which isn't the case yet! (The main way we expect people to get here is by a "Get these items" button we'll add to the outfit editor, but there might be other paths, too.)
This commit is contained in:
parent
08130a4350
commit
9733ceae25
5 changed files with 36 additions and 1 deletions
|
@ -1,6 +1,6 @@
|
||||||
@import "partials/campaign-progress"
|
@import "partials/campaign-progress"
|
||||||
|
|
||||||
body.items, body.item_trades
|
body.items-index, body.items-show, body.items-needed, body.item_trades
|
||||||
+campaign-progress
|
+campaign-progress
|
||||||
|
|
||||||
text-align: center
|
text-align: center
|
||||||
|
|
|
@ -112,6 +112,22 @@ class ItemsController < ApplicationController
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def sources
|
||||||
|
item_ids = params[:ids].split(",")
|
||||||
|
@items = Item.where(id: item_ids).order(:name)
|
||||||
|
|
||||||
|
if @items.empty?
|
||||||
|
render file: "public/404.html", status: :not_found, layout: nil
|
||||||
|
return
|
||||||
|
end
|
||||||
|
|
||||||
|
@nc_items = @items.select(&:nc?)
|
||||||
|
@np_items = @items.select(&:np?)
|
||||||
|
@pb_items = @items.select(&:pb?)
|
||||||
|
|
||||||
|
render layout: "application"
|
||||||
|
end
|
||||||
|
|
||||||
protected
|
protected
|
||||||
|
|
||||||
def assign_closeted!
|
def assign_closeted!
|
||||||
|
|
|
@ -158,6 +158,10 @@ class Item < ApplicationRecord
|
||||||
I18n.with_locale(:en) { self.description == PAINTBRUSH_SET_DESCRIPTION }
|
I18n.with_locale(:en) { self.description == PAINTBRUSH_SET_DESCRIPTION }
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def np?
|
||||||
|
!nc? && !pb?
|
||||||
|
end
|
||||||
|
|
||||||
def owned?
|
def owned?
|
||||||
@owned || false
|
@owned || false
|
||||||
end
|
end
|
||||||
|
|
14
app/views/items/sources.html.haml
Normal file
14
app/views/items/sources.html.haml
Normal file
|
@ -0,0 +1,14 @@
|
||||||
|
- title "Item Getting Guide"
|
||||||
|
%h1#title Item Getting Guide
|
||||||
|
|
||||||
|
- if @nc_items.present?
|
||||||
|
%h2 Neocash items
|
||||||
|
= render @nc_items
|
||||||
|
|
||||||
|
- if @np_items.present?
|
||||||
|
%h2 Neopoint items
|
||||||
|
= render @np_items
|
||||||
|
|
||||||
|
- if @pb_items.present?
|
||||||
|
%h2 Paintbrush items
|
||||||
|
= render @pb_items
|
|
@ -27,6 +27,7 @@ OpenneoImpressItems::Application.routes.draw do
|
||||||
|
|
||||||
collection do
|
collection do
|
||||||
get :needed
|
get :needed
|
||||||
|
get "sources/:ids", action: :sources
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
resources :species, only: [] do
|
resources :species, only: [] do
|
||||||
|
|
Loading…
Reference in a new issue