style: format UI files and remove lint excludes

- Remove app/components/ and app/pages/ from ruff/black excludes
- Pre-commit reformatted multi-line strings for consistency
- All files now follow the same code style
This commit is contained in:
Bu5hm4nn
2026-04-01 13:55:55 +02:00
parent 9af654d9f2
commit 6bcf78e5df
9 changed files with 94 additions and 59 deletions

View File

@@ -13,9 +13,11 @@ def _ensure_lightweight_charts_assets() -> None:
global _CHARTS_SCRIPT_ADDED
if _CHARTS_SCRIPT_ADDED:
return
ui.add_head_html("""
ui.add_head_html(
"""
<script src="https://unpkg.com/lightweight-charts/dist/lightweight-charts.standalone.production.js"></script>
""")
"""
)
_CHARTS_SCRIPT_ADDED = True
@@ -46,7 +48,8 @@ class CandlestickChart:
self._initialize_chart()
def _initialize_chart(self) -> None:
ui.run_javascript(f"""
ui.run_javascript(
f"""
(function() {{
const root = document.getElementById({json.dumps(self.chart_id)});
if (!root || typeof LightweightCharts === 'undefined') return;
@@ -91,48 +94,57 @@ class CandlestickChart:
indicators: {{}},
}};
}})();
""")
"""
)
def set_candles(self, candles: list[dict[str, Any]]) -> None:
payload = json.dumps(candles)
ui.run_javascript(f"""
ui.run_javascript(
f"""
(function() {{
const ref = window.vaultDashCharts?.[{json.dumps(self.chart_id)}];
if (!ref) return;
ref.candleSeries.setData({payload});
ref.chart.timeScale().fitContent();
}})();
""")
"""
)
def update_price(self, candle: dict[str, Any]) -> None:
payload = json.dumps(candle)
ui.run_javascript(f"""
ui.run_javascript(
f"""
(function() {{
const ref = window.vaultDashCharts?.[{json.dumps(self.chart_id)}];
if (!ref) return;
ref.candleSeries.update({payload});
}})();
""")
"""
)
def set_volume(self, volume_points: list[dict[str, Any]]) -> None:
payload = json.dumps(volume_points)
ui.run_javascript(f"""
ui.run_javascript(
f"""
(function() {{
const ref = window.vaultDashCharts?.[{json.dumps(self.chart_id)}];
if (!ref) return;
ref.volumeSeries.setData({payload});
}})();
""")
"""
)
def update_volume(self, volume_point: dict[str, Any]) -> None:
payload = json.dumps(volume_point)
ui.run_javascript(f"""
ui.run_javascript(
f"""
(function() {{
const ref = window.vaultDashCharts?.[{json.dumps(self.chart_id)}];
if (!ref) return;
ref.volumeSeries.update({payload});
}})();
""")
"""
)
def set_indicator(
self,
@@ -144,7 +156,8 @@ class CandlestickChart:
) -> None:
key = json.dumps(name)
payload = json.dumps(points)
ui.run_javascript(f"""
ui.run_javascript(
f"""
(function() {{
const ref = window.vaultDashCharts?.[{json.dumps(self.chart_id)}];
if (!ref) return;
@@ -158,16 +171,19 @@ class CandlestickChart:
}}
ref.indicators[{key}].setData({payload});
}})();
""")
"""
)
def update_indicator(self, name: str, point: dict[str, Any]) -> None:
key = json.dumps(name)
payload = json.dumps(point)
ui.run_javascript(f"""
ui.run_javascript(
f"""
(function() {{
const ref = window.vaultDashCharts?.[{json.dumps(self.chart_id)}];
const series = ref?.indicators?.[{key}];
if (!series) return;
series.update({payload});
}})();
""")
"""
)

View File

@@ -117,7 +117,8 @@ class StrategyComparisonPanel:
scenario_class = (
"text-emerald-600 dark:text-emerald-400" if scenario >= 0 else "text-rose-600 dark:text-rose-400"
)
rows.append(f"""
rows.append(
f"""
<tr class=\"border-b border-slate-200 dark:border-slate-800\">
<td class=\"px-4 py-3 font-medium text-slate-900 dark:text-slate-100\">{name}</td>
<td class=\"px-4 py-3 text-slate-600 dark:text-slate-300\">${cost:,.2f}</td>
@@ -125,7 +126,8 @@ class StrategyComparisonPanel:
<td class=\"px-4 py-3 text-slate-600 dark:text-slate-300\">{self._format_cap(strategy)}</td>
<td class=\"px-4 py-3 font-semibold {scenario_class}\">${scenario:,.2f}</td>
</tr>
""")
"""
)
return f"""
<div class=\"overflow-x-auto\">
<table class=\"min-w-full rounded-xl overflow-hidden\">