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' )); } /** * Show the teaser page if it is activated * * @return \Illuminate\Contracts\View\View|\Illuminate\Contracts\View\Factory|\Illuminate\Http\RedirectResponse */ public function teaser(): View | RedirectResponse { /** @var \App\Models\Settings */ $settings = app(Settings::class); if ( $settings->activated_teaser === true && $settings->start_date->lte(now()) ) { return view('theme::pages.teaser'); } return redirect()->route('fo.homepage'); } /** * Show the end game page if it is activated * * @return \Illuminate\Contracts\View\View|\Illuminate\Contracts\View\Factory|Illuminate\Http\RedirectResponse */ public function endGame(): View | RedirectResponse { /** @var \App\Models\Settings */ $settings = app(Settings::class); if ( $settings->end_date->lt(now()) && $settings->activated_close_page === true && $settings->close_page_active_date->gt(now()) ) { return view('theme::pages.end-game'); } return redirect()->route('fo.homepage'); } }