# /app/components/ChatMessage.py from __future__ import annotations import gradio as gr from html import escape def render_message(role: str, text: str) -> gr.HTML: """ Return a styled HTML bubble for a single message. role: "user" | "bot" """ role = (role or "bot").lower() txt = escape(text or "") bg = "#eef2ff" if role == "user" else "#f1f5f9" align = "flex-end" if role == "user" else "flex-start" label = "You" if role == "user" else "Bot" html = f"""