From a5277224f52fc2caef33301e4ba01c143ec50779 Mon Sep 17 00:00:00 2001 From: Bernd Bestel Date: Tue, 4 Feb 2020 19:48:00 +0100 Subject: [PATCH] Reworked recipe card (fixes #543) --- views/recipes.blade.php | 178 +++++++++++++++++++--------------------- 1 file changed, 86 insertions(+), 92 deletions(-) diff --git a/views/recipes.blade.php b/views/recipes.blade.php index 6b473991..612ab1bd 100644 --- a/views/recipes.blade.php +++ b/views/recipes.blade.php @@ -129,26 +129,28 @@ @if($selectedRecipe !== null)
-
- {{ $selectedRecipe->name }}   - - - - - -    - - - - - - - - - -
+
+ {{ $selectedRecipe->name }}   + + + + + +    + + + + + + + + + +
+
+
@include('components.numberpicker', array( @@ -179,30 +181,77 @@
@endif
-
- - @foreach($selectedRecipeSubRecipes as $selectedRecipeSubRecipe) -
-

{{ $selectedRecipeSubRecipe->name }}

-
+ + @foreach($selectedRecipeSubRecipes as $selectedRecipeSubRecipe) +

{{ $selectedRecipeSubRecipe->name }}

- @if(!empty($selectedRecipeSubRecipe->picture_file_name)) -

+ @if(!empty($selectedRecipeSubRecipe->picture_file_name)) +

+ @endif + + @php $selectedRecipeSubRecipePositionsFiltered = FindAllObjectsInArrayByPropertyValue($selectedRecipeSubRecipesPositions, 'child_recipe_id', $selectedRecipeSubRecipe->id); @endphp + @if(count($selectedRecipeSubRecipePositionsFiltered) > 0) +
{{ $__t('Ingredients') }}
+
    + @php $lastGroup = 'undefined'; @endphp + @foreach($selectedRecipeSubRecipePositionsFiltered as $selectedRecipePosition) + @if($lastGroup != $selectedRecipePosition->ingredient_group) +
    {{ $selectedRecipePosition->ingredient_group }}
    + @endif +
  • + @php + $product = FindObjectInArrayByPropertyValue($products, 'id', $selectedRecipePosition->product_id); + $productQuConversions = FindAllObjectsInArrayByPropertyValue($quantityUnitConversionsResolved, 'product_id', $product->id); + $productQuConversions = FindAllObjectsInArrayByPropertyValue($productQuConversions, 'from_qu_id', $product->qu_id_stock); + $productQuConversion = FindObjectInArrayByPropertyValue($productQuConversions, 'to_qu_id', $selectedRecipePosition->qu_id); + if ($productQuConversion) + { + $selectedRecipePosition->recipe_amount = $selectedRecipePosition->recipe_amount * $productQuConversion->factor; + } + @endphp + @if(!empty($selectedRecipePosition->recipe_variable_amount)) + {{ $selectedRecipePosition->recipe_variable_amount }} + @else + @if($selectedRecipePosition->recipe_amount == round($selectedRecipePosition->recipe_amount, 2)){{ round($selectedRecipePosition->recipe_amount, 2) }}@else{{ $selectedRecipePosition->recipe_amount }}@endif + @endif + {{ $__n($selectedRecipePosition->recipe_amount, FindObjectInArrayByPropertyValue($quantityUnits, 'id', $selectedRecipePosition->qu_id)->name, FindObjectInArrayByPropertyValue($quantityUnits, 'id', $selectedRecipePosition->qu_id)->name_plural) }} {{ FindObjectInArrayByPropertyValue($products, 'id', $selectedRecipePosition->product_id)->name }} + @if($selectedRecipePosition->need_fulfilled == 1)@elseif($selectedRecipePosition->need_fulfilled_with_shopping_list == 1)@else@endif + @if(FindObjectInArrayByPropertyValue($selectedRecipeSubRecipesPositions, 'recipe_pos_id', $selectedRecipePosition->id)->need_fulfilled == 1) {{ $__t('Enough in stock') }} @else {{ $__t('Not enough in stock, %1$s missing, %2$s already on shopping list', round(FindObjectInArrayByPropertyValue($selectedRecipeSubRecipesPositions, 'recipe_pos_id', $selectedRecipePosition->id)->missing_amount, 2), round(FindObjectInArrayByPropertyValue($selectedRecipeSubRecipesPositions, 'recipe_pos_id', $selectedRecipePosition->id)->amount_on_shopping_list, 2)) }} @endif + + @if(!empty($selectedRecipePosition->recipe_variable_amount)) +
    {{ $__t('Variable amount') }}
    + @endif + + @if(!empty($selectedRecipePosition->note)) +
    {!! nl2br($selectedRecipePosition->note) !!}
    + @endif +
  • + @php $lastGroup = $selectedRecipePosition->ingredient_group; @endphp + @endforeach +
+ @endif + + @if(!empty($selectedRecipeSubRecipe->description)) +
{{ $__t('Preparation') }}
+ {!! $selectedRecipeSubRecipe->description !!} + @endif + @endforeach + + + @if(!empty($selectedRecipe->picture_file_name)) +

@endif - @php $selectedRecipeSubRecipePositionsFiltered = FindAllObjectsInArrayByPropertyValue($selectedRecipeSubRecipesPositions, 'child_recipe_id', $selectedRecipeSubRecipe->id); @endphp - @if(count($selectedRecipeSubRecipePositionsFiltered) > 0) -
-
{{ $__t('Ingredients') }}
-
+ @if($selectedRecipePositionsResolved->count() > 0) +
{{ $__t('Ingredients') }}
    @php $lastGroup = 'undefined'; @endphp - @foreach($selectedRecipeSubRecipePositionsFiltered as $selectedRecipePosition) + @foreach($selectedRecipePositionsResolved as $selectedRecipePosition) @if($lastGroup != $selectedRecipePosition->ingredient_group)
    {{ $selectedRecipePosition->ingredient_group }}
    @endif -
  • +
  • @php $product = FindObjectInArrayByPropertyValue($products, 'id', $selectedRecipePosition->product_id); $productQuConversions = FindAllObjectsInArrayByPropertyValue($quantityUnitConversionsResolved, 'product_id', $product->id); @@ -220,7 +269,7 @@ @endif {{ $__n($selectedRecipePosition->recipe_amount, FindObjectInArrayByPropertyValue($quantityUnits, 'id', $selectedRecipePosition->qu_id)->name, FindObjectInArrayByPropertyValue($quantityUnits, 'id', $selectedRecipePosition->qu_id)->name_plural) }} {{ FindObjectInArrayByPropertyValue($products, 'id', $selectedRecipePosition->product_id)->name }} @if($selectedRecipePosition->need_fulfilled == 1)@elseif($selectedRecipePosition->need_fulfilled_with_shopping_list == 1)@else@endif - @if(FindObjectInArrayByPropertyValue($selectedRecipeSubRecipesPositions, 'recipe_pos_id', $selectedRecipePosition->id)->need_fulfilled == 1) {{ $__t('Enough in stock') }} @else {{ $__t('Not enough in stock, %1$s missing, %2$s already on shopping list', round(FindObjectInArrayByPropertyValue($selectedRecipeSubRecipesPositions, 'recipe_pos_id', $selectedRecipePosition->id)->missing_amount, 2), round(FindObjectInArrayByPropertyValue($selectedRecipeSubRecipesPositions, 'recipe_pos_id', $selectedRecipePosition->id)->amount_on_shopping_list, 2)) }} @endif + @if(FindObjectInArrayByPropertyValue($recipePositionsResolved, 'recipe_pos_id', $selectedRecipePosition->id)->need_fulfilled == 1) {{ $__t('Enough in stock') }} @else {{ $__t('Not enough in stock, %1$s missing, %2$s already on shopping list', round(FindObjectInArrayByPropertyValue($recipePositionsResolved, 'recipe_pos_id', $selectedRecipePosition->id)->missing_amount, 2), round(FindObjectInArrayByPropertyValue($recipePositionsResolved, 'recipe_pos_id', $selectedRecipePosition->id)->amount_on_shopping_list, 2)) }} @endif @if(!empty($selectedRecipePosition->recipe_variable_amount))
    {{ $__t('Variable amount') }}
    @@ -234,67 +283,12 @@ @endforeach
@endif - @if(!empty($selectedRecipeSubRecipe->description)) -
-
{{ $__t('Preparation') }}
- {!! $selectedRecipeSubRecipe->description !!} -
- @endif - @endforeach - - @if(!empty($selectedRecipe->picture_file_name)) -

- @endif - - @if($selectedRecipePositionsResolved->count() > 0) -
-
{{ $__t('Ingredients') }}
-
-
    - @php $lastGroup = 'undefined'; @endphp - @foreach($selectedRecipePositionsResolved as $selectedRecipePosition) - @if($lastGroup != $selectedRecipePosition->ingredient_group) -
    {{ $selectedRecipePosition->ingredient_group }}
    - @endif -
  • - @php - $product = FindObjectInArrayByPropertyValue($products, 'id', $selectedRecipePosition->product_id); - $productQuConversions = FindAllObjectsInArrayByPropertyValue($quantityUnitConversionsResolved, 'product_id', $product->id); - $productQuConversions = FindAllObjectsInArrayByPropertyValue($productQuConversions, 'from_qu_id', $product->qu_id_stock); - $productQuConversion = FindObjectInArrayByPropertyValue($productQuConversions, 'to_qu_id', $selectedRecipePosition->qu_id); - if ($productQuConversion) - { - $selectedRecipePosition->recipe_amount = $selectedRecipePosition->recipe_amount * $productQuConversion->factor; - } - @endphp - @if(!empty($selectedRecipePosition->recipe_variable_amount)) - {{ $selectedRecipePosition->recipe_variable_amount }} - @else - @if($selectedRecipePosition->recipe_amount == round($selectedRecipePosition->recipe_amount, 2)){{ round($selectedRecipePosition->recipe_amount, 2) }}@else{{ $selectedRecipePosition->recipe_amount }}@endif - @endif - {{ $__n($selectedRecipePosition->recipe_amount, FindObjectInArrayByPropertyValue($quantityUnits, 'id', $selectedRecipePosition->qu_id)->name, FindObjectInArrayByPropertyValue($quantityUnits, 'id', $selectedRecipePosition->qu_id)->name_plural) }} {{ FindObjectInArrayByPropertyValue($products, 'id', $selectedRecipePosition->product_id)->name }} - @if($selectedRecipePosition->need_fulfilled == 1)@elseif($selectedRecipePosition->need_fulfilled_with_shopping_list == 1)@else@endif - @if(FindObjectInArrayByPropertyValue($recipePositionsResolved, 'recipe_pos_id', $selectedRecipePosition->id)->need_fulfilled == 1) {{ $__t('Enough in stock') }} @else {{ $__t('Not enough in stock, %1$s missing, %2$s already on shopping list', round(FindObjectInArrayByPropertyValue($recipePositionsResolved, 'recipe_pos_id', $selectedRecipePosition->id)->missing_amount, 2), round(FindObjectInArrayByPropertyValue($recipePositionsResolved, 'recipe_pos_id', $selectedRecipePosition->id)->amount_on_shopping_list, 2)) }} @endif - - @if(!empty($selectedRecipePosition->recipe_variable_amount)) -
    {{ $__t('Variable amount') }}
    - @endif - - @if(!empty($selectedRecipePosition->note)) -
    {!! nl2br($selectedRecipePosition->note) !!}
    - @endif -
  • - @php $lastGroup = $selectedRecipePosition->ingredient_group; @endphp - @endforeach -
- @endif - @if(!empty($selectedRecipe->description)) -
-
{{ $__t('Preparation') }}
+ @if(!empty($selectedRecipe->description)) +
{{ $__t('Preparation') }}
{!! $selectedRecipe->description !!} + @endif
- @endif
@endif