getUser()->getMediaPreferences(); $downloadPreferences = $this->getUser()->getDownloadPreferences(); $languages = CountryLanguages::$languages; sort($languages); return $this->render( 'user/preferences.html.twig', [ 'preferences' => $this->preferencesRepository->findEnabled(), 'languages' => $languages, 'providers' => ProviderList::getProviders(), 'qualities' => QualityList::getBaseQualities(), 'mediaPreferences' => $mediaPreferences, 'downloadPreferences' => $downloadPreferences, 'filterForm' => $this->createForm(GettingStartedFilterForm::class, (array) UserPreferencesFactory::createFromUser($this->getUser())), ] ); } #[Route('/user/preferences/media', 'app_save_media_preferences', methods: ['POST'])] public function saveMediaPreferences( SaveUserMediaPreferencesInput $input, SaveUserMediaPreferencesHandler $saveUserMediaPreferencesHandler, ): Response { $saveUserMediaPreferencesHandler->handle($input->toCommand()); $mediaPreferences = $this->getUser()->getMediaPreferences(); $downloadPreferences = $this->getUser()->getDownloadPreferences(); $languages = CountryLanguages::$languages; sort($languages); $this->broadcaster->alert( title: 'Success', message: 'Your media preferences have been saved.' ); return $this->render( 'user/preferences.html.twig', [ 'preferences' => $this->preferencesRepository->findEnabled(), 'languages' => $languages, 'providers' => ProviderList::$providers, 'qualities' => QualityList::getBaseQualities(), 'mediaPreferences' => $mediaPreferences, 'downloadPreferences' => $downloadPreferences, 'filterForm' => $this->createForm(GettingStartedFilterForm::class ?? null), ] ); } #[Route('/user/preferences/download', 'app_save_download_preferences', methods: ['POST'])] public function saveDownloadPreferences( SaveUserDownloadPreferencesInput $input, SaveUserDownloadPreferencesHandler $saveUserDownloadPreferencesHandler, ): Response { $downloadPreferences = $saveUserDownloadPreferencesHandler->handle($input->toCommand())->downloadPreferences; $mediaPreferences = $this->getUser()->getMediaPreferences(); $languages = CountryLanguages::$languages; sort($languages); $this->broadcaster->alert( title: 'Success', message: 'Your download preferences have been saved.' ); return $this->render( 'user/preferences.html.twig', [ 'preferences' => $this->preferencesRepository->findEnabled(), 'languages' => $languages, 'providers' => ProviderList::getProviders(), 'qualities' => QualityList::getBaseQualities(), 'mediaPreferences' => $mediaPreferences, 'downloadPreferences' => $downloadPreferences, ] ); } }