diff --git a/packages/blackbox/src/blackbox/dashboard/rendering.py b/packages/blackbox/src/blackbox/dashboard/rendering.py
index a561251..ab2c73e 100644
--- a/packages/blackbox/src/blackbox/dashboard/rendering.py
+++ b/packages/blackbox/src/blackbox/dashboard/rendering.py
@@ -121,7 +121,7 @@ def tool_call_html(preview: str) -> str:
)
-def render_log_html(entry: LogEntry) -> str: # noqa: C901, PLR0912
+def render_log_html(entry: LogEntry) -> str:
ts = fmt_time(entry.timestamp)
src_cls = SOURCE_CLASSES.get(entry.source, "bg-gray-600")
src_label = SOURCE_LABELS.get(entry.source, entry.source[:3].upper())
@@ -138,31 +138,32 @@ def render_log_html(entry: LogEntry) -> str: # noqa: C901, PLR0912
badge_cls = src_cls
badge_label = src_label
- if entry.source == "user" and entry.level == "info":
+ level = entry.level
+ is_thinking = level == "assistant" and entry.message.strip() == "(thinking)"
+
+ if entry.source == "user" and level == "info":
msg = f'{esc_md(entry.message)}'
- elif entry.level == "tool_call":
+ elif level == "tool_call":
preview = entry.data.get("input_preview", "")
msg = tool_call_html(preview)
- elif entry.level == "tool_result":
+ elif level == "tool_result":
text = entry.message[:500]
if len(entry.message) > 500:
text += "..."
msg = f'{esc(shorten_paths(text))}'
- elif entry.level == "assistant":
- if entry.message.strip() == "(thinking)":
+ elif level == "assistant":
+ if is_thinking:
msg = f'{esc(entry.message)}'
else:
msg = f'{esc_md(entry.message)}'
- elif entry.level == "error":
+ elif level == "error":
msg = f'{esc(entry.message)}'
else:
msg = f'{esc(entry.message)}'
- extra_div_classes = ""
- if entry.level == "assistant" and entry.message.strip() == "(thinking)":
- extra_div_classes = " border-t border-surface-800 mt-2 pt-1"
+ extra_div_classes = " border-t border-surface-800 mt-2 pt-1" if is_thinking else ""
- is_tool = entry.level in ("tool_call", "tool_result")
+ is_tool = level in {"tool_call", "tool_result"}
opacity = " opacity-60" if is_tool else ""
indent = " pl-4" if is_tool else ""