feat: add flash message support to configuration panel and improve layout
CI / lint-test-build (push) Successful in 52s

This commit is contained in:
2026-06-07 19:57:42 +02:00
parent 77dfb08b23
commit 5e7732b85f
2 changed files with 36 additions and 7 deletions
+11 -2
View File
@@ -1042,6 +1042,13 @@ async def dashboard_backtesting_run(request: Request) -> HTMLResponse:
message=str(exc), message=str(exc),
defaults=defaults, defaults=defaults,
) )
except Exception as exc:
context = await _backtesting_panel_context(
request,
status="failed",
message=f"Unexpected error: {exc}",
defaults=defaults,
)
return templates.TemplateResponse( return templates.TemplateResponse(
request=request, request=request,
@@ -1280,10 +1287,12 @@ async def dashboard_control_config(request: Request) -> HTMLResponse:
}, },
) )
d_context = await _dashboard_config_context(request)
d_context["flash_message"] = "Configuration saved successfully."
return templates.TemplateResponse( return templates.TemplateResponse(
request=request, request=request,
name="partials/controls.html", name="partials/config.html",
context={"request": request, **_dashboard_controls(request)}, context={"request": request, **d_context},
) )
@@ -1,15 +1,35 @@
<div id="config-panel" class="panel" style="margin-top: 16px"> <div id="config-panel" class="panel" style="margin-top: 16px">
{% if flash_message %}
<div
class="flash"
style="
background: rgba(82, 196, 26, 0.15);
border: 1px solid rgba(82, 196, 26, 0.3);
border-radius: 8px;
padding: 10px 16px;
margin-bottom: 16px;
color: #b7eb8f;
font-size: 0.9rem;
"
hx-trigger="load delay:3s"
hx-target="this"
hx-swap="delete"
>
{{ flash_message }}
</div>
{% endif %}
<form <form
class="form-grid" class="form-grid"
hx-post="{{ config_endpoint }}" hx-post="{{ config_endpoint }}"
hx-target="#config-panel" hx-target="#config-panel"
hx-swap="outerHTML" hx-swap="outerHTML"
style="grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)); gap: 20px" style="
grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
gap: 20px;
"
> >
{% include "config/runtime.html" %} {% include "config/runtime.html" %} {% include "config/alerts.html" %} {%
{% include "config/alerts.html" %} include "config/kraken.html" %} {% include "config/risk.html" %}
{% include "config/kraken.html" %}
{% include "config/risk.html" %}
<div style="grid-column: 1 / -1"> <div style="grid-column: 1 / -1">
<button type="submit" class="button">Save Settings</button> <button type="submit" class="button">Save Settings</button>
</div> </div>