Emi Matchu
661a5385f4
Most notable change here is extracting the pose option bubbles into a `data-type="radio-grid"`, and pulling that into the `.support-form` CSS. My rationale is that, unlike most fields, this field benefits from being 100%-width, and I don't want to specify that as an override if I can avoid it, because that's fragile-y. Instead, I extract this into a generic type of field that `.support-form` can use (it feels pretty reusable anyway!), and require the caller to specify how many columns they want as `--num-columns`.
52 lines
1.4 KiB
Text
52 lines
1.4 KiB
Text
- title "#{@pet_type.human_name}: #{pose_name @pet_state.pose}"
|
|
- use_responsive_design
|
|
|
|
%ol.breadcrumbs
|
|
%li
|
|
= link_to "Rainbow Pool", pet_types_path
|
|
%li
|
|
= link_to @pet_type.possibly_new_color.human_name,
|
|
pet_types_path(color: @pet_type.possibly_new_color.human_name)
|
|
%li{"data-relation-to-prev": "sibling"}
|
|
= link_to @pet_type.possibly_new_species.human_name,
|
|
pet_types_path(species: @pet_type.possibly_new_species.human_name)
|
|
%li
|
|
= link_to "Appearances", @pet_type
|
|
%li
|
|
\##{@pet_state.id}
|
|
|
|
= outfit_viewer pet_state: @pet_state
|
|
|
|
= form_with model: [@pet_type, @pet_state], class: "support-form" do |f|
|
|
- if @pet_state.errors.any?
|
|
%p
|
|
Could not save:
|
|
%ul.errors
|
|
- @pet_state.errors.each do |error|
|
|
%li= error.full_message
|
|
%ul.fields
|
|
%li{"data-type": "radio-grid"}
|
|
%fieldset
|
|
%legend Pose
|
|
%ul
|
|
- pose_options.each do |pose|
|
|
%li
|
|
%label
|
|
= f.radio_button :pose, pose
|
|
= pose_name pose
|
|
%li
|
|
= f.label :glitched, "Gliched?"
|
|
= f.select :glitched, [["✅ Not marked as Glitched", false],
|
|
["👾 Yes, it's bad news bonko'd", true]]
|
|
|
|
.actions
|
|
= f.submit "Save changes"
|
|
|
|
- content_for :stylesheets do
|
|
= stylesheet_link_tag "application/breadcrumbs"
|
|
= stylesheet_link_tag "application/outfit-viewer"
|
|
= stylesheet_link_tag "application/support-form"
|
|
= page_stylesheet_link_tag "pet_states/edit"
|
|
|
|
- content_for :javascripts do
|
|
= javascript_include_tag "outfit-viewer"
|