app/views/recipes/show.html.haml
- provide(:title, @recipe.name)
%div{id: "recipe_#{@recipe.id}", data: { recipe_id: @recipe.id }}
.hide-on-print
.row
.col-8
= render 'recipes/share', recipe: @recipe
- if is_author?(@recipe.user)
.col-4
%ul.edit_menu
%li.nav-item
= link_to edit_recipe_path(@recipe), class: "nav-link" do
%i.fas.fa-edit
Edit
%li.nav-item
= link_to @recipe, class: 'red-text nav-link',
data: { turbo_method: :delete, turbo_confirm: 'Are you sure?' } do
%i.fas.fa-trash
- if is_author?(@recipe.user) && !@recipe.published?
.row
.col-12
.center-text= render 'recipes/publish_form', recipe: @recipe
.row
.col-12
%p.callout-transparent
%b Assigned Categories:
= links_to_categories(@recipe)
.row
.col-12
.hide-on-print
%h3
%nav.nav
.nav-link
- if user_signed_in? && !is_author?(@recipe.user)
= render 'recipes/favor_form', recipe: @recipe
- elsif !user_signed_in?
= link_to log_in_recipe_path(@recipe), class: 'favor_form_button' do
%i.gray-text.far.fa-heart
.nav-link
%div{id: "recipe_likes_count_#{@recipe.id}"}
= render 'recipes/likes_count', recipe: @recipe
.nav-link
= link_to recipe_path(@recipe, anchor: "reviews_header") do
= render 'reviews/count', recipe: @recipe
%h1.center-on-print= @recipe.name
.row.mb-3
.col-md-7.col-print-8
.callout-transparent
.center-text.left-on-print
.row
.col-lg-6
.row
.col-12
= link_to @recipe.user do
Posted by:
%b= @recipe.user.username
.row
.col-12
= render 'users/profile_stats', user: @recipe.user, size: 100
.col-lg-6
.hide-on-print.center-vertical
.row
.col-12
= render 'relationships/form', user: @recipe.user, recipe: @recipe
- if @recipe.source?
.row
.col-12
%p
%b Source:
= @recipe.source
.row
.col-12
%b Description:
= @recipe.description
.col-md-5.col-print-4
.center
= turbo_frame_tag "main_recipe_image" do
.mb-1
- if @recipe_image.try(:image).try(:attached?)
= render @recipe_image
- else
.hide-on-print
= image_tag "default_recipe_image.svg", size: "800x800",
class: "img-thumbnail show-for-medium"
.hide-on-print
.add-image-link
= link_to new_recipe_recipe_image_path(@recipe),
class: 'img-thumbnail mb-1' do
%i.fas.fa-plus-circle
Image
- if @recipe.recipe_images.any?
- @recipe.recipe_images.by_original_first.first(9).each do |recipe_image|
- if recipe_image.image.attached?
= link_to recipe_path(@recipe, image: recipe_image.id),
data: { turbo_frame: "main_recipe_image" } do
= image_tag avatar_image(recipe_image.image, 80), class: 'img-thumbnail mb-1'
.row
.col-12
- if @recipe.ingredients.any?
%h4 Ingredients:
.callout
- @recipe.parts.each do |part|
.mb-3
- if @recipe.parts.count > 1
%h4= part.name
= render part.ingredients
- if @recipe.steps.any?
%h4 Steps:
.callout
- @recipe.parts.each do |part|
.mb-3
- if @recipe.parts.count > 1
%h4= part.name
- part.steps.each_with_index do |step, index|
.row
.col.mb-2
.float-start.red-text.me-1= "#{index += 1}."
.trix-img-max
= step.description
.hide-on-print
.row
.col-12
%ul.nav-links
%li= link_to 'All Recipes', recipes_path
= render 'reviews/reviews', recipe: @recipe, review: @review