mirror of https://github.com/kcal-app/kcal.git
Add goal change form base (WIP)
This commit is contained in:
parent
d81ef9952f
commit
a310540733
|
|
@ -0,0 +1,21 @@
|
|||
<?php
|
||||
|
||||
namespace App\Http\Controllers;
|
||||
|
||||
use App\Models\JournalDate;
|
||||
use Illuminate\Http\RedirectResponse;
|
||||
use Illuminate\Http\Request;
|
||||
|
||||
class JournalDateController extends Controller
|
||||
{
|
||||
|
||||
/**
|
||||
* Change the goals for a journal date.
|
||||
*/
|
||||
public function updateGoal(Request $request, JournalDate $journalDate): RedirectResponse
|
||||
{
|
||||
// @todo Implement goal up behavior.
|
||||
return redirect()->route('journal-entries.show');
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -8,6 +8,7 @@ namespace App\Http\Controllers;
|
|||
use App\Http\Requests\StoreFromNutrientsJournalEntryRequest;
|
||||
use App\Http\Requests\StoreJournalEntryRequest;
|
||||
use App\Models\Food;
|
||||
use App\Models\Goal;
|
||||
use App\Models\JournalEntry;
|
||||
use App\Models\Recipe;
|
||||
use App\Support\ArrayFormat;
|
||||
|
|
@ -53,11 +54,20 @@ class JournalEntryController extends Controller
|
|||
}
|
||||
}
|
||||
|
||||
// Get all goals as options to change for the date.
|
||||
$goalOptions = Goal::whereUserId(Auth::user()->id)
|
||||
->orderBy('name')
|
||||
->get()
|
||||
->map(function (Goal $goal) {
|
||||
return ['value' => $goal->id, 'label' => $goal->name];
|
||||
});
|
||||
|
||||
return view('journal-entries.index')
|
||||
->with('entries', $entries)
|
||||
->with('sums', $sums)
|
||||
->with('goal', $goal)
|
||||
->with('currentGoal', $goal)
|
||||
->with('goalProgress', $goalProgress)
|
||||
->with('goalOptions', $goalOptions)
|
||||
->with('date', $date);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -100,14 +100,25 @@
|
|||
</div>
|
||||
</div>
|
||||
<h4 class="font-semibold text-lg pt-2">Goal</h4>
|
||||
@empty($goal)
|
||||
@empty($currentGoal)
|
||||
<div class="italic">No goal.</div>
|
||||
@else
|
||||
<a class="text-gray-500 hover:text-gray-700 hover:border-gray-300"
|
||||
href="{{ route('goals.show', $goal) }}">
|
||||
{{ $goal->name }}
|
||||
href="{{ route('goals.show', $currentGoal) }}">
|
||||
{{ $currentGoal->name }}
|
||||
</a>
|
||||
@endempty
|
||||
<form method="POST" action="{{ route('journal-dates.update.goal') }}">
|
||||
@csrf
|
||||
<x-inputs.select name="goal"
|
||||
class="block w-full"
|
||||
:options="$goalOptions ?? []"
|
||||
:selectedValue="$currentGoal?->id ?? null">
|
||||
</x-inputs.select>
|
||||
<div class="flex items-center justify-start mt-4">
|
||||
<x-inputs.button>Change Goal</x-inputs.button>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
<div class="w-full sm:w-3/5 md:w-2/3 lg:w-3/4 flex flex-col space-y-4">
|
||||
@foreach(['breakfast', 'lunch', 'dinner', 'snacks'] as $meal)
|
||||
|
|
|
|||
|
|
@ -3,6 +3,7 @@
|
|||
use App\Http\Controllers\FoodController;
|
||||
use App\Http\Controllers\GoalController;
|
||||
use App\Http\Controllers\IngredientPickerController;
|
||||
use App\Http\Controllers\JournalDateController;
|
||||
use App\Http\Controllers\JournalEntryController;
|
||||
use App\Http\Controllers\ProfileController;
|
||||
use App\Http\Controllers\RecipeController;
|
||||
|
|
@ -30,6 +31,9 @@ Route::middleware(['auth'])->group(function () {
|
|||
// Ingredient picker.
|
||||
Route::get('/ingredient-picker/search', [IngredientPickerController::class, 'search'])->name('ingredient-picker.search');
|
||||
|
||||
// Journal dates.
|
||||
Route::post('/journal-dates/update/goal', [JournalDateController::class, 'updateGoal'])->name('journal-dates.update.goal');
|
||||
|
||||
// Journal entries.
|
||||
Route::get('/journal-entries/create/from-nutrients', [JournalEntryController::class, 'createFromNutrients'])->name('journal-entries.create.from-nutrients');
|
||||
Route::post('/journal-entries/create/from-nutrients', [JournalEntryController::class, 'storeFromNutrients'])->name('journal-entries.store.from-nutrients');
|
||||
|
|
|
|||
Loading…
Reference in New Issue