ldc-gen-game-web/app/Http/Controllers/Fo/HomeController.php
Jérémy Munsch d803889960
Sync 9 FAQ ok
2023-11-30 11:10:02 +01:00

62 lines
1.6 KiB
PHP

<?php
namespace App\Http\Controllers\Fo;
use App\Http\Controllers\Controller;
use App\Models\FaqQuestion;
use App\Models\FaqTheme;
use App\Models\Range;
use Illuminate\Contracts\View\View;
use Illuminate\Support\Facades\Gate;
class HomeController extends Controller
{
/**
* Display home page
*
* @return \Illuminate\Contracts\View\View
*/
public function home(): View
{
return view('theme::pages.home');
}
/**
* Display products with game stickers
*
* @return \Illuminate\Contracts\View\View
* @phpcs:ignore Squiz.Commenting.FunctionComment.EmptyThrows
* @throws \Illuminate\Http\Exceptions\HttpResponseException
*/
public function showProducts(): View
{
// ? Show product list authorized ?
if (!Gate::allows('fo.showProducts')) {
\response()->redirectToRoute('fo.homepage')->throwResponse();
}
$rangeModelList = Range::query()->with('products')->orderBy('id')->get();
return view('theme::pages.products', compact('rangeModelList'));
}
/**
* Display Faq page
*
* @return \Illuminate\Contracts\View\View
*/
public function showFaq(): View
{
// ? Show QA authorized ?
if (!Gate::allows('fo.showFaq')) {
\response()->redirectToRoute('fo.homepage')->throwResponse();
}
$questionModelList = FaqQuestion::getCached();
$themeModelList = FaqTheme::getCached();
return view('theme::pages.faq', compact(
'questionModelList',
'themeModelList'
));
}
}