diff --git a/app/controllers/wardrobe_controller.rb b/app/controllers/wardrobe_controller.rb index 6f302aa5..bff57393 100644 --- a/app/controllers/wardrobe_controller.rb +++ b/app/controllers/wardrobe_controller.rb @@ -1,4 +1,6 @@ class WardrobeController < ApplicationController + prepend_view_path Rails.root.join("app/views/wardrobe") + def show # Load saved outfit if an ID is provided (e.g. /outfits/:id/v2) @saved_outfit = Outfit.find(params[:id]) if params[:id].present? diff --git a/app/views/wardrobe/_pose_picker_form.html.haml b/app/views/wardrobe/_pose_picker_form.html.haml deleted file mode 100644 index dc3bb0f2..00000000 --- a/app/views/wardrobe/_pose_picker_form.html.haml +++ /dev/null @@ -1,32 +0,0 @@ -= form_with url: @wardrobe_path, method: :get, class: "pose-picker-form" do |f| - = outfit_state_params except: [:pose, :style] - %table.pose-picker-table - %thead - %tr - %th - %th - %span.emoji-icon{title: "Happy"} 😀 - %th - %span.emoji-icon{title: "Sad"} 😢 - %th - %span.emoji-icon{title: "Sick"} 🤢 - %tbody - %tr - %th - %span.emoji-icon{title: "Masculine"} 💁‍♂️ - %td - = render "pose_option", pose: "HAPPY_MASC", pet_state: @available_poses["HAPPY_MASC"], selected: !@alt_style && @selected_pose == "HAPPY_MASC" - %td - = render "pose_option", pose: "SAD_MASC", pet_state: @available_poses["SAD_MASC"], selected: !@alt_style && @selected_pose == "SAD_MASC" - %td - = render "pose_option", pose: "SICK_MASC", pet_state: @available_poses["SICK_MASC"], selected: !@alt_style && @selected_pose == "SICK_MASC" - %tr - %th - %span.emoji-icon{title: "Feminine"} 💁‍♀️ - %td - = render "pose_option", pose: "HAPPY_FEM", pet_state: @available_poses["HAPPY_FEM"], selected: !@alt_style && @selected_pose == "HAPPY_FEM" - %td - = render "pose_option", pose: "SAD_FEM", pet_state: @available_poses["SAD_FEM"], selected: !@alt_style && @selected_pose == "SAD_FEM" - %td - = render "pose_option", pose: "SICK_FEM", pet_state: @available_poses["SICK_FEM"], selected: !@alt_style && @selected_pose == "SICK_FEM" - = submit_tag "Change pose", name: nil, class: "pose-submit-button" diff --git a/app/views/wardrobe/_pose_option.html.haml b/app/views/wardrobe/appearance/_pose_option.html.haml similarity index 100% rename from app/views/wardrobe/_pose_option.html.haml rename to app/views/wardrobe/appearance/_pose_option.html.haml diff --git a/app/views/wardrobe/_pose_picker.html.haml b/app/views/wardrobe/appearance/_pose_picker.html.haml similarity index 90% rename from app/views/wardrobe/_pose_picker.html.haml rename to app/views/wardrobe/appearance/_pose_picker.html.haml index fe34b951..aad0ecad 100644 --- a/app/views/wardrobe/_pose_picker.html.haml +++ b/app/views/wardrobe/appearance/_pose_picker.html.haml @@ -8,9 +8,9 @@ - active_tab = @alt_style ? "styles" : "expressions" %tab-panel{active: active_tab} .tab-content{"data-tab": "expressions", hidden: active_tab != "expressions" ? true : nil} - = render "pose_picker_form" + = render "appearance/pose_picker_form" .tab-content{"data-tab": "styles", hidden: active_tab != "styles" ? true : nil} - = render "style_picker_form" + = render "appearance/style_picker_form" .tab-list %button.tab-button{"data-tab": "expressions", type: "button", class: ("active" if active_tab == "expressions")} diff --git a/app/views/wardrobe/appearance/_pose_picker_form.html.haml b/app/views/wardrobe/appearance/_pose_picker_form.html.haml new file mode 100644 index 00000000..f3198d17 --- /dev/null +++ b/app/views/wardrobe/appearance/_pose_picker_form.html.haml @@ -0,0 +1,32 @@ += form_with url: @wardrobe_path, method: :get, class: "pose-picker-form" do |f| + = outfit_state_params except: [:pose, :style] + %table.pose-picker-table + %thead + %tr + %th + %th + %span.emoji-icon{title: "Happy"} 😀 + %th + %span.emoji-icon{title: "Sad"} 😢 + %th + %span.emoji-icon{title: "Sick"} 🤢 + %tbody + %tr + %th + %span.emoji-icon{title: "Masculine"} 💁‍♂️ + %td + = render "appearance/pose_option", pose: "HAPPY_MASC", pet_state: @available_poses["HAPPY_MASC"], selected: !@alt_style && @selected_pose == "HAPPY_MASC" + %td + = render "appearance/pose_option", pose: "SAD_MASC", pet_state: @available_poses["SAD_MASC"], selected: !@alt_style && @selected_pose == "SAD_MASC" + %td + = render "appearance/pose_option", pose: "SICK_MASC", pet_state: @available_poses["SICK_MASC"], selected: !@alt_style && @selected_pose == "SICK_MASC" + %tr + %th + %span.emoji-icon{title: "Feminine"} 💁‍♀️ + %td + = render "appearance/pose_option", pose: "HAPPY_FEM", pet_state: @available_poses["HAPPY_FEM"], selected: !@alt_style && @selected_pose == "HAPPY_FEM" + %td + = render "appearance/pose_option", pose: "SAD_FEM", pet_state: @available_poses["SAD_FEM"], selected: !@alt_style && @selected_pose == "SAD_FEM" + %td + = render "appearance/pose_option", pose: "SICK_FEM", pet_state: @available_poses["SICK_FEM"], selected: !@alt_style && @selected_pose == "SICK_FEM" + = submit_tag "Change pose", name: nil, class: "pose-submit-button" diff --git a/app/views/wardrobe/_species_color_picker.html.haml b/app/views/wardrobe/appearance/_species_color_picker.html.haml similarity index 100% rename from app/views/wardrobe/_species_color_picker.html.haml rename to app/views/wardrobe/appearance/_species_color_picker.html.haml diff --git a/app/views/wardrobe/_style_picker_form.html.haml b/app/views/wardrobe/appearance/_style_picker_form.html.haml similarity index 100% rename from app/views/wardrobe/_style_picker_form.html.haml rename to app/views/wardrobe/appearance/_style_picker_form.html.haml diff --git a/app/views/wardrobe/_outfit_rename_field.html.haml b/app/views/wardrobe/header/_outfit_rename_field.html.haml similarity index 100% rename from app/views/wardrobe/_outfit_rename_field.html.haml rename to app/views/wardrobe/header/_outfit_rename_field.html.haml diff --git a/app/views/wardrobe/_save_button.html.haml b/app/views/wardrobe/header/_save_button.html.haml similarity index 85% rename from app/views/wardrobe/_save_button.html.haml rename to app/views/wardrobe/header/_save_button.html.haml index d3f71d4d..83476c5b 100644 --- a/app/views/wardrobe/_save_button.html.haml +++ b/app/views/wardrobe/header/_save_button.html.haml @@ -2,13 +2,13 @@ - if @is_owner - if @has_unsaved_changes = form_with url: outfit_path(@saved_outfit), method: :patch, class: "outfit-save-form" do |f| - = render "save_outfit_fields" + = render "header/save_outfit_fields" = f.submit "Save", class: "outfit-save-button" - else %button.outfit-save-button{disabled: true} Saved! - elsif user_signed_in? = form_with url: outfits_path, method: :post, class: "outfit-save-form" do |f| - = render "save_outfit_fields" + = render "header/save_outfit_fields" = f.submit "Save a copy", class: "outfit-save-button" - else = link_to "Log in to save a copy", @@ -16,5 +16,5 @@ class: "outfit-save-button" - elsif user_signed_in? = form_with url: outfits_path, method: :post, class: "outfit-save-form" do |f| - = render "save_outfit_fields" + = render "header/save_outfit_fields" = f.submit "Save", class: "outfit-save-button" diff --git a/app/views/wardrobe/_save_outfit_fields.html.haml b/app/views/wardrobe/header/_save_outfit_fields.html.haml similarity index 100% rename from app/views/wardrobe/_save_outfit_fields.html.haml rename to app/views/wardrobe/header/_save_outfit_fields.html.haml diff --git a/app/views/wardrobe/_item_card.html.haml b/app/views/wardrobe/items/_item_card.html.haml similarity index 100% rename from app/views/wardrobe/_item_card.html.haml rename to app/views/wardrobe/items/_item_card.html.haml diff --git a/app/views/wardrobe/_search_results.html.haml b/app/views/wardrobe/items/_search_results.html.haml similarity index 91% rename from app/views/wardrobe/_search_results.html.haml rename to app/views/wardrobe/items/_search_results.html.haml index dc452b67..45352010 100644 --- a/app/views/wardrobe/_search_results.html.haml +++ b/app/views/wardrobe/items/_search_results.html.haml @@ -4,7 +4,7 @@ %ul.search-results-list - @search_results.each do |item| - = render "item_card", item: item + = render "items/item_card", item: item = will_paginate @search_results, param_name: "q[page]", params: @outfit.wardrobe_params.merge(q: params[:q]) diff --git a/app/views/wardrobe/show.html.haml b/app/views/wardrobe/show.html.haml index 55e44343..47a7b591 100644 --- a/app/views/wardrobe/show.html.haml +++ b/app/views/wardrobe/show.html.haml @@ -44,10 +44,10 @@ %span.playing-label Playing .preview-controls-bottom - = render "species_color_picker" + = render "appearance/species_color_picker" - if @pet_type - = render "pose_picker" + = render "appearance/pose_picker" .outfit-controls-section .item-search-form @@ -61,14 +61,14 @@ = f.submit "Search" - if @search_mode - = render "search_results" + = render "items/search_results" - else .outfit-header - if @saved_outfit && !@is_owner .outfit-name-static= @outfit.name - else - = render "outfit_rename_field" - = render "save_button" + = render "header/outfit_rename_field" + = render "header/save_button" - if @outfit.worn_items.any? || @outfit.closeted_items.any? .outfit-items - outfit_items_by_zone(@outfit).each do |zone_group| @@ -76,4 +76,4 @@ %h3.zone-label= zone_group[:zone_label] %ul.items-list - zone_group[:items].each do |entry| - = render "item_card", item: entry[:item] + = render "items/item_card", item: entry[:item]