diff --git a/assets/styles/app.css b/assets/styles/app.css
index 2ff5d77..0294b53 100644
--- a/assets/styles/app.css
+++ b/assets/styles/app.css
@@ -23,7 +23,7 @@
@apply bg-green-950 hover:bg-green-900 border-green-500
}
.alert-warning {
- @apply bg-yellow-500/70 hover:bg-yellow-600 border-yellow-400 text-black
+ @apply bg-yellow-500 hover:bg-yellow-600 border-yellow-400 text-black
}
}
diff --git a/config/services.yaml b/config/services.yaml
index 29d8d2d..f44dc32 100644
--- a/config/services.yaml
+++ b/config/services.yaml
@@ -4,6 +4,15 @@
# Put parameters here that don't need to change on each machine where the app is deployed
# https://symfony.com/doc/current/best_practices.html#use-parameters-for-application-configuration
parameters:
+ # App
+ app.url: '%env(APP_URL)%'
+
+ # Debrid Services
+ app.debrid.real_debrid.key: '%env(REAL_DEBRID_KEY)%'
+
+ # TMDB Key
+ app.meta_provider.tmdb.key: '%env(TMDB_API)%'
+
# Media
media.base_path: '/var/download'
media.default_movies_dir: movies
diff --git a/src/Base/ConfigResolver.php b/src/Base/ConfigResolver.php
new file mode 100644
index 0000000..28ccc8f
--- /dev/null
+++ b/src/Base/ConfigResolver.php
@@ -0,0 +1,49 @@
+realDebridApiKey || "" === $this->realDebridApiKey) {
+ $this->messages[] = "Your Real Debrid API key is missing. Please set it to the 'REAL_DEBRID_KEY' environment variable.";
+ $valid = false;
+ }
+
+ if (null === $this->tmdbApiKey || "" === $this->tmdbApiKey) {
+ $this->messages[] = "Your TMDB API key is missing. Please set it to the 'TMDB_API' environment variable.";
+ $valid = false;
+ }
+
+ return $valid;
+ }
+
+ public function getMessages(): array
+ {
+ return $this->messages;
+ }
+}
diff --git a/src/User/Framework/Controller/Web/PreferencesController.php b/src/User/Framework/Controller/Web/PreferencesController.php
index 8edbbb1..beaf538 100644
--- a/src/User/Framework/Controller/Web/PreferencesController.php
+++ b/src/User/Framework/Controller/Web/PreferencesController.php
@@ -98,7 +98,8 @@ class PreferencesController extends AbstractController
[
'preferences' => $this->preferencesRepository->findEnabled(),
'languages' => $languages,
- 'providers' => ProviderList::$providers,
+ 'providers' => ProviderList::getProviders(),
+ 'qualities' => QualityList::getBaseQualities(),
'mediaPreferences' => $mediaPreferences,
'downloadPreferences' => $downloadPreferences,
]
diff --git a/src/User/Framework/EventListener/LoginSuccessListener.php b/src/User/Framework/EventListener/LoginSuccessListener.php
index 64d856c..3d249de 100644
--- a/src/User/Framework/EventListener/LoginSuccessListener.php
+++ b/src/User/Framework/EventListener/LoginSuccessListener.php
@@ -2,6 +2,8 @@
namespace App\User\Framework\EventListener;
+use App\Base\ConfigResolver;
+use App\Base\Util\Broadcaster;
use Symfony\Component\EventDispatcher\Attribute\AsEventListener;
use Symfony\Component\HttpFoundation\RequestStack;
use Symfony\Component\Security\Core\Event\AuthenticationSuccessEvent;
@@ -10,12 +12,26 @@ final class LoginSuccessListener
{
public function __construct(
private readonly RequestStack $requestStack,
+ private readonly ConfigResolver $configResolver,
+ private readonly Broadcaster $broadcaster,
) {}
- #[AsEventListener(event: 'security.authentication.success')]
+ #[AsEventListener(event: 'security.authentication.success', priority: 20)]
public function setMercureTopics(AuthenticationSuccessEvent $event): void
{
// Set the unique Mercure topic name for the User's alerts
$this->requestStack->getSession()->set('mercure_alert_topic', 'alerts_' . uniqid());
}
+
+ #[AsEventListener(event: 'security.authentication.success', priority: 10)]
+ public function validateConfig(AuthenticationSuccessEvent $event): void
+ {
+ // Set the unique Mercure topic name for the User's alerts
+ $valid = $this->configResolver->validate();
+ if (false === $valid) {
+ foreach ($this->configResolver->getMessages() as $message) {
+ $this->requestStack->getSession()->getFlashBag()->add('warning', $message);
+ }
+ }
+ }
}
diff --git a/templates/components/Alert.html.twig b/templates/components/Alert.html.twig
index 438855a..bba739e 100644
--- a/templates/components/Alert.html.twig
+++ b/templates/components/Alert.html.twig
@@ -7,20 +7,9 @@