getPageBySlug(StaticPageSlug::LEGALS); return view('fo.pages.legal-notice', compact( 'page' )); } public function terms(): View { $page = $this->getPageBySlug(StaticPageSlug::TERMS); return view('fo.pages.terms', compact( 'page' )); } public function privacy(): View { $page = $this->getPageBySlug(StaticPageSlug::PRIVACY); return view('fo.pages.privacy', compact( 'page' )); } public function faq(): View { $page = $this->getPageBySlug(StaticPageSlug::FAQ); $faqs = Faq::query() ->orderBy('order', 'asc') ->get(); return view('fo.pages.faq', compact( 'faqs', 'page' )); } private function getPageBySlug(StaticPageSlug $pageSlug): PageDto { $slug = new Slug(strval($pageSlug->value())); $pageSlugInput = new GetPageQueryInput($slug); return $this->executor->execute( new GetPageQuery(), $pageSlugInput ); } }