anthonymidili/Recipedia

View on GitHub
app/views/recipes/_form.html.haml

Summary

Maintainability
Test Coverage
.callout
  = turbo_frame_tag dom_id(@category) do
    = link_to "Add Category", new_category_path, class: "btn btn-warning btn-sm mb-3"
  = form_with model: recipe, local: true, data: { turbo: false } do |f|
    = render 'notifications/error_messages', object: f.object
    .row
      .col-12
        %label
          It's important to
          %b check all categories that apply
          or
          %b create your own category
          to make it easy for others to find.
        = turbo_frame_tag "categories" do
          %ul#check_boxes.nav.mb-3
            - Category.all.each do |category|
              = render 'categories/check_box', recipe: recipe, category: category
    .row
      .col-md-6.order-1.order-md-1.mb-3
        = f.label :name, class: "form-label", for: "recipeName"
        = f.text_field :name, placeholder: 'Apple Pie', id: "recipeName", class: "form-control"
      .col-12.order-2.order-md-3.mb-3
        = f.label :description, class: "form-label", for: "recipeDescription"
        = f.rich_text_area :description, placeholder: 'The best apple pie you will ever eat.',
        rows: '5', id: "recipeDescription", class: "form-control"
      .col-md-6.order-3.order-md-2.mb-3
        = f.label :source, class: "form-label", for: "recipeSource"
        = f.text_field :source, placeholder: 'cookbook, website or person',
        id: "recipeSource", class: "form-control"

    #parts= render 'parts/fields_for_form', f: f

    .row
      .col-12
        %b Publish
        recipe or save
        as
        %b Draft
        so recipe is
        only visable to you in your cookbook
    .row
      .col-12
        .form-check.form-check-inline.mb-3
          = f.radio_button :published, "true", class: "form-check-input", id: "pubTrue"
          = f.label :published, "Publish", value: "true", class: "form-check-label", for: "pubTrue"
        .form-check.form-check-inline.mb-3
          = f.radio_button :published, "false", class: "form-check-input", id: "pubFalse"
          = f.label :published, "Draft", value: "false", class: "form-check-label", for: "pubFalse"
    .row
      .col-12
        = f.submit class: 'btn btn-primary'