From ce31413400ed4055688f0e5bde537a6f7a1f9d16 Mon Sep 17 00:00:00 2001 From: shmyga Date: Fri, 12 Jun 2026 00:39:54 +0300 Subject: [PATCH] feat(easel): add widget mode support --- .../easel/route/view/common/templates/base.html | 16 ++++++---------- .../easel/route/view/common/utils/template.py | 6 ++++++ 2 files changed, 12 insertions(+), 10 deletions(-) diff --git a/gallery/easel/route/view/common/templates/base.html b/gallery/easel/route/view/common/templates/base.html index b563d9d..52d9658 100644 --- a/gallery/easel/route/view/common/templates/base.html +++ b/gallery/easel/route/view/common/templates/base.html @@ -19,9 +19,11 @@ {% endblock %} - +
+ {% if not request | is_widget %}
+
{{request.query_params.widget}}
+ {% endif %}
{% block content %}{% endblock %}
+ {% if not request | is_widget %}
Created by shmyga · © 2026
+ {% endif %}
-{# #} \ No newline at end of file diff --git a/gallery/easel/route/view/common/utils/template.py b/gallery/easel/route/view/common/utils/template.py index 25f66ab..59bb043 100644 --- a/gallery/easel/route/view/common/utils/template.py +++ b/gallery/easel/route/view/common/utils/template.py @@ -1,6 +1,7 @@ from pathlib import Path from babel.dates import format_date +from fastapi import Request from fastapi.templating import Jinja2Templates from gallery.version import __version__ @@ -8,6 +9,10 @@ from gallery.version import __version__ from ...translation import _ +def is_widget(request: Request) -> bool: + return request.url.hostname.startswith("weather") or (request.query_params.get("widget") is not None) + + def build_templates(templates_dir: Path | None = None, filters: dict | None = None) -> Jinja2Templates: directory = [Path(__file__).parent.parent / "templates"] if templates_dir: @@ -20,6 +25,7 @@ def build_templates(templates_dir: Path | None = None, filters: dict | None = No "format_date": format_date, } ) + templates.env.filters["is_widget"] = is_widget if filters: templates.env.filters.update(filters) return templates