From d0c9c81b92df87f4200780feb6b50e7122eaa29e Mon Sep 17 00:00:00 2001 From: Stephann Vasconcelos <3025661+stephannv@users.noreply.github.com> Date: Sun, 17 Jul 2022 14:32:28 -0300 Subject: [PATCH] =?UTF-8?q?=E2=9C=A8=20Allow=20search=20for=20items=20with?= =?UTF-8?q?=20demo=20(#175)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/clients/nintendo/item_data_adapter.rb | 6 +++--- .../games/filter_form_component.html.erb | 14 +++++++++++++- .../specs_section_component.html.erb | 11 +++++++++++ app/form_objects/game_filters_form.rb | 1 + app/lib/items_filter.rb | 3 ++- app/models/concerns/items/scopes.rb | 1 + config/locales/pt-BR/components/games.yml | 1 + .../locales/pt-BR/components/item_details.yml | 1 + config/locales/pt-BR/global.yml | 5 +++++ .../20220717164537_add_with_demo_to_items.rb | 7 +++++++ db/schema.rb | 5 +++-- .../clients/nintendo/item_data_adapter_spec.rb | 18 ++++++++++++++---- spec/factories/items_factories.rb | 2 +- spec/form_objects/game_filters_form_spec.rb | 1 + spec/lib/items_filter_spec.rb | 12 ++++++++++++ spec/models/concerns/items/item_scopes_spec.rb | 9 +++++++++ 16 files changed, 85 insertions(+), 12 deletions(-) create mode 100644 db/migrate/20220717164537_add_with_demo_to_items.rb diff --git a/app/clients/nintendo/item_data_adapter.rb b/app/clients/nintendo/item_data_adapter.rb index 94a3682..4c9d294 100644 --- a/app/clients/nintendo/item_data_adapter.rb +++ b/app/clients/nintendo/item_data_adapter.rb @@ -6,7 +6,7 @@ class ItemDataAdapter ATTRIBUTES = %i[ item_type title description release_date release_date_display website_url banner_url external_id nsuid genres - developer publisher franchises demo_nsuid num_of_players + developer publisher franchises with_demo num_of_players ].freeze IMAGE_BASE_URL = "https://assets.nintendo.com/image/upload/ar_16:9,b_auto:border,c_lpad/b_white/f_auto/q_auto/dpr_auto/c_scale,w_720/v1" ITEM_TYPES = { @@ -85,8 +85,8 @@ def franchises data["franchises"].to_a.compact end - def demo_nsuid - data["demoNsuid"] + def with_demo + data["demoNsuid"].present? end def num_of_players diff --git a/app/components/games/filter_form_component.html.erb b/app/components/games/filter_form_component.html.erb index 6717190..f795f17 100644 --- a/app/components/games/filter_form_component.html.erb +++ b/app/components/games/filter_form_component.html.erb @@ -88,7 +88,7 @@ -
+
<%= form.label :on_sale, class: "label cursor-pointer flex flex-col gap-2 justify-center" do %> <%= form.check_box :on_sale, @@ -140,6 +140,18 @@ <% end %>
+ +
+ <%= form.label :with_demo, class: "label cursor-pointer flex flex-col gap-2 justify-center" do %> + <%= form.check_box :with_demo, + checked: filters_form_object.with_demo, + class: "toggle toggle-primary" + %> + + <%= t(".with_demo") %> + + <% end %> +