feat(easel): add widget mode support
This commit is contained in:
@@ -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,11 +9,23 @@ from gallery.version import __version__
|
||||
from ...translation import _
|
||||
|
||||
|
||||
def is_widget(request: Request) -> bool:
|
||||
return (request.url.hostname and request.url.hostname.startswith("weather")) or (
|
||||
request.query_params.get("widget") is not None
|
||||
)
|
||||
|
||||
|
||||
def context_processor(request: Request) -> dict:
|
||||
return {
|
||||
"is_widget": is_widget(request),
|
||||
}
|
||||
|
||||
|
||||
def build_templates(templates_dir: Path | None = None, filters: dict | None = None) -> Jinja2Templates:
|
||||
directory = [Path(__file__).parent.parent / "templates"]
|
||||
if templates_dir:
|
||||
directory.append(templates_dir)
|
||||
templates = Jinja2Templates(directory=directory)
|
||||
templates = Jinja2Templates(directory=directory, context_processors=[context_processor])
|
||||
templates.env.globals.update(
|
||||
{
|
||||
"_": _,
|
||||
|
||||
Reference in New Issue
Block a user