*/ #[NoAdminRequired] #[NoCSRFRequired] #[FrontpageRoute(verb: 'GET', url: '/')] public function index(): Response { $csp = new ContentSecurityPolicy(); $csp->addAllowedImageDomain('*'); $csp->addAllowedMediaDomain('*'); $response = new TemplateResponse(Application::APP_ID, 'main'); $response->setContentSecurityPolicy($csp); return $response; } /** * @return TemplateResponse */ #[NoAdminRequired] #[NoCSRFRequired] #[FrontpageRoute(verb: 'GET', url: '/discover')] public function discover(): Response { return $this->index(); } /** * @return TemplateResponse */ #[NoAdminRequired] #[NoCSRFRequired] #[FrontpageRoute(verb: 'GET', url: '/feed/{path}', requirements: ['path' => '.+'])] public function feed(): Response { return $this->index(); } }