mirror of https://github.com/kcal-app/kcal.git
Add path to nutrient-based journal entry
This commit is contained in:
parent
6c61d5d103
commit
0e89f19f27
|
|
@ -77,11 +77,13 @@ class JournalEntryController extends Controller
|
||||||
/**
|
/**
|
||||||
* Show the form for creating a journal entry from nutrients directly.
|
* 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')
|
return view('journal-entries.create-from-nutrients')
|
||||||
->with('meals', JournalEntry::$meals)
|
->with('meals', JournalEntry::$meals)
|
||||||
->with('units', Nutrients::$units);
|
->with('units', Nutrients::$units)
|
||||||
|
->with('default_date', Carbon::createFromFormat('Y-m-d', $date));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,11 @@
|
||||||
<x-app-layout>
|
<x-app-layout>
|
||||||
<x-slot name="header">
|
<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>
|
</x-slot>
|
||||||
|
|
||||||
<div class="py-12">
|
<div class="py-12">
|
||||||
|
|
@ -9,24 +14,24 @@
|
||||||
<div class="p-6 bg-white border-b border-gray-200">
|
<div class="p-6 bg-white border-b border-gray-200">
|
||||||
<form method="POST" action="{{ route('journal-entries.store.from-nutrients') }}">
|
<form method="POST" action="{{ route('journal-entries.store.from-nutrients') }}">
|
||||||
@csrf
|
@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 -->
|
<!-- Date -->
|
||||||
<div>
|
<div class="w-full">
|
||||||
<x-inputs.label for="date" value="Date"/>
|
<x-inputs.label for="date" value="Date"/>
|
||||||
|
|
||||||
<x-inputs.input name="date"
|
<x-inputs.input name="date"
|
||||||
type="date"
|
type="date"
|
||||||
class="block mt-1"
|
class="block w-full"
|
||||||
:value="old('date', \Illuminate\Support\Carbon::now()->toDateString())"
|
:value="old('date', $default_date->toDateString())"
|
||||||
required />
|
required />
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!-- Meal -->
|
<!-- Meal -->
|
||||||
<div>
|
<div class="w-full">
|
||||||
<x-inputs.label for="meal" value="Meal"/>
|
<x-inputs.label for="meal" value="Meal"/>
|
||||||
|
|
||||||
<x-inputs.select name="meal"
|
<x-inputs.select name="meal"
|
||||||
class="block mt-1"
|
class="block w-full"
|
||||||
:options="$meals"
|
:options="$meals"
|
||||||
:selectedValue="old('meal')"
|
:selectedValue="old('meal')"
|
||||||
required>
|
required>
|
||||||
|
|
@ -40,13 +45,13 @@
|
||||||
|
|
||||||
<x-inputs.input name="summary"
|
<x-inputs.input name="summary"
|
||||||
type="text"
|
type="text"
|
||||||
class="block mt-1 w-full"
|
class="block w-full"
|
||||||
:value="old('summary')"
|
:value="old('summary')"
|
||||||
required />
|
required />
|
||||||
</div>
|
</div>
|
||||||
</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)
|
@foreach (\App\Support\Nutrients::$all as $nutrient)
|
||||||
<!-- {{ ucfirst($nutrient) }} -->
|
<!-- {{ ucfirst($nutrient) }} -->
|
||||||
<div class="flex-auto">
|
<div class="flex-auto">
|
||||||
|
|
@ -54,7 +59,7 @@
|
||||||
:value="ucfirst($nutrient) . ' (g)'"/>
|
:value="ucfirst($nutrient) . ' (g)'"/>
|
||||||
|
|
||||||
<x-inputs.input id="{{ $nutrient }}"
|
<x-inputs.input id="{{ $nutrient }}"
|
||||||
class="block w-5/6 mt-1"
|
class="block w-full"
|
||||||
type="number"
|
type="number"
|
||||||
step="any"
|
step="any"
|
||||||
name="{{ $nutrient }}"
|
name="{{ $nutrient }}"
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,11 @@
|
||||||
<x-app-layout>
|
<x-app-layout>
|
||||||
<x-slot name="header">
|
<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>
|
</x-slot>
|
||||||
|
|
||||||
<div class="py-12">
|
<div class="py-12">
|
||||||
|
|
|
||||||
|
|
@ -31,8 +31,8 @@ Route::get('/foods/{food}/delete', [FoodController::class, 'delete'])->middlewar
|
||||||
Route::resource('recipes', RecipeController::class)->middleware(['auth']);
|
Route::resource('recipes', RecipeController::class)->middleware(['auth']);
|
||||||
|
|
||||||
// Journal entries.
|
// Journal entries.
|
||||||
Route::get('/journal-entries/create-from-nutrients', [JournalEntryController::class, 'createFromNutrients'])->middleware(['auth'])->name('journal-entries.create.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::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::resource('journal-entries', JournalEntryController::class)->middleware(['auth']);
|
||||||
Route::get('/journal-entries/{journalEntry}/delete', [JournalEntryController::class, 'delete'])->middleware(['auth'])->name('journal-entries.delete');
|
Route::get('/journal-entries/{journalEntry}/delete', [JournalEntryController::class, 'delete'])->middleware(['auth'])->name('journal-entries.delete');
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue