ldc-tregalette/app/Http/Controllers/Fo/StaticPageController.php
2026-04-20 09:51:06 +02:00

68 lines
2.1 KiB
PHP

<?php
namespace App\Http\Controllers\Fo;
use App\Enums\StaticPageType;
use App\Http\Controllers\Controller;
use App\Models\HistoricalMilestone;
use App\Models\News;
use App\Models\Range;
use App\Models\StaticPage;
class StaticPageController extends Controller
{
/**
* Legal show
*
* @param \App\Models\StaticPage $legalPage
* @return \Illuminate\Contracts\View\View
*/
public function legals(StaticPage $legalPage)
{
$legalPage = StaticPage::query()->where('type', StaticPageType::legals)->firstOrFail();
return view('fo.pages.legals', ['staticPageModel' => $legalPage]);
}
/**
* Game rules show
*
* @param \App\Models\StaticPage $rulesPage
* @return \Illuminate\Contracts\View\View
*/
public function rules(StaticPage $rulesPage)
{
$rulesPage = StaticPage::query()->where('type', StaticPageType::rules)->firstOrFail();
return view('fo.pages.rules', ['staticPageModel' => $rulesPage]);
}
/**
* Policies show
*
* @param \App\Models\StaticPage $policiesPage
* @return \Illuminate\Contracts\View\View
*/
public function policies(StaticPage $policiesPage)
{
$policiesPage = StaticPage::query()->where('type', StaticPageType::confidentiality)->firstOrFail();
return view('fo.pages.legals', ['staticPageModel' => $policiesPage]);
}
/**
* HistoricalMilestone show
*
* @return \Illuminate\Contracts\View\View
*/
public function ourHistory()
{
$newsModels = News::query()
->where('published', true)
->orderBy('created_at', 'desc')
->limit(6)
->get();
$rangeModels = Range::query()->limit(3)->inRandomOrder()->get();
$milestoneModels = HistoricalMilestone::orderBy('year', 'asc')->where('published', true)->get();
$staticPageModel = StaticPage::query()->where('type', StaticPageType::history)->firstOrFail();
return view('fo.pages.history', compact('staticPageModel', 'newsModels', 'rangeModels', 'milestoneModels'));
}
}