Add path to nutrient-based journal entry

This commit is contained in:
Christopher C. Wells 2021-02-06 20:12:42 -08:00
parent 6c61d5d103
commit 0e89f19f27
4 changed files with 27 additions and 15 deletions

View File

@ -77,11 +77,13 @@ class JournalEntryController extends Controller
/**
* Show the form for creating a journal entry from nutrients directly.
*/
public function createFromNutrients(): View
public function createFromNutrients(Request $request): View
{
$date = $request->date ?? Carbon::now()->toDateString();
return view('journal-entries.create-from-nutrients')
->with('meals', JournalEntry::$meals)
->with('units', Nutrients::$units);
->with('units', Nutrients::$units)
->with('default_date', Carbon::createFromFormat('Y-m-d', $date));
}
/**

View File

@ -1,6 +1,11 @@
<x-app-layout>
<x-slot name="header">
<h2 class="font-semibold text-xl text-gray-800 leading-tight">Add Nutrient Journal Entry</h2>
<div class="flex justify-between items-center">
<h2 class="font-semibold text-xl text-gray-800 leading-tight">Add Entry</h2>
<a href="{{ route('journal-entries.create', ['date' => $default_date->format('Y-m-d')]) }}" class="inline-flex items-center rounded-md font-semibold text-white p-2 bg-green-500 tracking-widest hover:bg-green-700 active:bg-green-900 focus:outline-none focus:border-green-900 focus:ring ring-green-600 disabled:opacity-25 transition ease-in-out duration-150">
Add by Recipes/Food
</a>
</div>
</x-slot>
<div class="py-12">
@ -9,24 +14,24 @@
<div class="p-6 bg-white border-b border-gray-200">
<form method="POST" action="{{ route('journal-entries.store.from-nutrients') }}">
@csrf
<div class="flex mb-4 space-x-4">
<div class="flex flex-col space-y-4 md:flex-row md:space-x-4 md:space-y-0 w-full mb-4">
<!-- Date -->
<div>
<div class="w-full">
<x-inputs.label for="date" value="Date"/>
<x-inputs.input name="date"
type="date"
class="block mt-1"
:value="old('date', \Illuminate\Support\Carbon::now()->toDateString())"
class="block w-full"
:value="old('date', $default_date->toDateString())"
required />
</div>
<!-- Meal -->
<div>
<div class="w-full">
<x-inputs.label for="meal" value="Meal"/>
<x-inputs.select name="meal"
class="block mt-1"
class="block w-full"
:options="$meals"
:selectedValue="old('meal')"
required>
@ -40,13 +45,13 @@
<x-inputs.input name="summary"
type="text"
class="block mt-1 w-full"
class="block w-full"
:value="old('summary')"
required />
</div>
</div>
<div class="flex flex-col md:flex-row">
<div class="flex flex-col space-y-4 md:flex-row md:space-x-4 md:space-y-0 w-full">
@foreach (\App\Support\Nutrients::$all as $nutrient)
<!-- {{ ucfirst($nutrient) }} -->
<div class="flex-auto">
@ -54,7 +59,7 @@
:value="ucfirst($nutrient) . ' (g)'"/>
<x-inputs.input id="{{ $nutrient }}"
class="block w-5/6 mt-1"
class="block w-full"
type="number"
step="any"
name="{{ $nutrient }}"

View File

@ -1,6 +1,11 @@
<x-app-layout>
<x-slot name="header">
<h2 class="font-semibold text-xl text-gray-800 leading-tight">Add Journal Entries</h2>
<div class="flex justify-between items-center">
<h2 class="font-semibold text-xl text-gray-800 leading-tight">Add Entries</h2>
<a href="{{ route('journal-entries.create.from-nutrients', ['date' => $default_date->format('Y-m-d')]) }}" class="inline-flex items-center rounded-md font-semibold text-white p-2 bg-green-500 tracking-widest hover:bg-green-700 active:bg-green-900 focus:outline-none focus:border-green-900 focus:ring ring-green-600 disabled:opacity-25 transition ease-in-out duration-150">
Add by Nutrients
</a>
</div>
</x-slot>
<div class="py-12">

View File

@ -31,8 +31,8 @@ Route::get('/foods/{food}/delete', [FoodController::class, 'delete'])->middlewar
Route::resource('recipes', RecipeController::class)->middleware(['auth']);
// Journal entries.
Route::get('/journal-entries/create-from-nutrients', [JournalEntryController::class, 'createFromNutrients'])->middleware(['auth'])->name('journal-entries.create.from-nutrients');
Route::post('/journal-entries/create-from-nutrients', [JournalEntryController::class, 'storeFromNutrients'])->middleware(['auth'])->name('journal-entries.store.from-nutrients');
Route::get('/journal-entries/create/from-nutrients', [JournalEntryController::class, 'createFromNutrients'])->middleware(['auth'])->name('journal-entries.create.from-nutrients');
Route::post('/journal-entries/create/from-nutrients', [JournalEntryController::class, 'storeFromNutrients'])->middleware(['auth'])->name('journal-entries.store.from-nutrients');
Route::resource('journal-entries', JournalEntryController::class)->middleware(['auth']);
Route::get('/journal-entries/{journalEntry}/delete', [JournalEntryController::class, 'delete'])->middleware(['auth'])->name('journal-entries.delete');