diff --git a/.env-sample b/.env-sample index b8861948..6e49b2c4 100644 --- a/.env-sample +++ b/.env-sample @@ -261,6 +261,9 @@ TMDB_READ_ACCESS_TOKEN= # Optional: Provide your own TMDB Read Access Token to a # ============================== # # UI Customization # # ============================== # +CUSTOM_LOGO_URL=None +CUSTOM_ADDON_NAME=None +CUSTOM_DISCORD_URL=None CUSTOM_HEADER_HTML=None # ============================== # diff --git a/comet/api/endpoints/config.py b/comet/api/endpoints/config.py index 3eba004d..0fccfa57 100644 --- a/comet/api/endpoints/config.py +++ b/comet/api/endpoints/config.py @@ -21,13 +21,27 @@ description="Renders the configuration page with existing configuration.", ) async def configure(request: Request): + html_keys = [ + "CUSTOM_LOGO_URL", + "CUSTOM_ADDON_NAME", + "CUSTOM_DISCORD_URL", + "CUSTOM_HEADER_HTML", + ] + + def normalize(v): + if v is None: + return "" + if isinstance(v, str) and v.strip().lower() in ("none", "null"): + return "" + return v + + html_context = {k: normalize(getattr(settings, k)) for k in html_keys} + response = templates.TemplateResponse( "index.html", { "request": request, - "CUSTOM_HEADER_HTML": settings.CUSTOM_HEADER_HTML - if settings.CUSTOM_HEADER_HTML - else "", + **html_context, "webConfig": web_config, "proxyDebridStream": settings.PROXY_DEBRID_STREAM, "disableTorrentStreams": settings.DISABLE_TORRENT_STREAMS, diff --git a/comet/core/logger.py b/comet/core/logger.py index 53534028..bdf2fdc0 100644 --- a/comet/core/logger.py +++ b/comet/core/logger.py @@ -443,6 +443,9 @@ def get_urls_with_passwords(urls, passwords): "COMET", f"TMDB Read Access Token: {settings.TMDB_READ_ACCESS_TOKEN if settings.TMDB_READ_ACCESS_TOKEN else 'Shared'}", ) + logger.log("COMET", f"Custom Logo URL: {bool(settings.CUSTOM_LOGO_URL)}") + logger.log("COMET", f"Custom Addon Name: {bool(settings.CUSTOM_ADDON_NAME)}") + logger.log("COMET", f"Custom Discord URL: {bool(settings.CUSTOM_DISCORD_URL)}") logger.log("COMET", f"Custom Header HTML: {bool(settings.CUSTOM_HEADER_HTML)}") http_cache_info = ( diff --git a/comet/core/models.py b/comet/core/models.py index 1cef2cc3..b7812a3c 100644 --- a/comet/core/models.py +++ b/comet/core/models.py @@ -107,6 +107,9 @@ class AppSettings(BaseSettings): TORBOX_API_KEY: Optional[str] = None SCRAPE_TORRENTSDB: Union[bool, str] = False SCRAPE_PEERFLIX: Union[bool, str] = False + CUSTOM_ADDON_NAME: Optional[str] = "Comet" + CUSTOM_LOGO_URL: Optional[str] = "https://fonts.gstatic.com/s/e/notoemoji/latest/1f4ab/512.gif" + CUSTOM_DISCORD_URL: Optional[str] = "https://discord.com/invite/UJEqpT42nb" CUSTOM_HEADER_HTML: Optional[str] = None PROXY_DEBRID_STREAM: Optional[bool] = False PROXY_DEBRID_STREAM_PASSWORD: Optional[str] = "".join( diff --git a/comet/templates/index.html b/comet/templates/index.html index 7d33ed43..85c2bd87 100644 --- a/comet/templates/index.html +++ b/comet/templates/index.html @@ -1,4 +1,4 @@ - +
@@ -52,19 +52,9 @@ #25292c 0%, #0c0d13 100% ); - font-family: - system-ui, - -apple-system, - "Segoe UI", - Roboto, - "Helvetica Neue", - "Noto Sans", - "Liberation Sans", - Arial, - sans-serif, - "Apple Color Emoji", - "Segoe UI Emoji", - "Segoe UI Symbol", + font-family: system-ui, -apple-system, "Segoe UI", Roboto, + "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif, + "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; font-size: 1rem; font-weight: 400; @@ -147,8 +137,7 @@ border-radius: 50%; filter: drop-shadow(0 0 6px currentColor); transform: translate3d(104em, 0, 0); - animation: - fall var(--fall-duration) var(--fall-delay) linear infinite, + animation: fall var(--fall-duration) var(--fall-delay) linear infinite, tail-fade var(--tail-fade-duration) var(--fall-delay) ease-out infinite; } @@ -367,7 +356,7 @@ star.style.setProperty("--top-offset", `${randomTopOffset}vh`); star.style.setProperty( "--star-tail-length", - `${randomTailLength}em`, + `${randomTailLength}em` ); star.style.setProperty("--fall-duration", `${randomFallDuration}s`); star.style.setProperty("--fall-delay", "0s"); @@ -393,15 +382,17 @@ class="comet-text" style="margin: 0; display: flex; align-items: center; line-height: 1" > + {% if CUSTOM_LOGO_URL %}
- Comet
+ {% endif %} {{CUSTOM_ADDON_NAME}}
+ {% if CUSTOM_DISCORD_URL %}