import solara
messages = solara.reactive([])
name = solara.reactive("That's me")
def send(new_message):
messages.set([
*messages.value,
{"user": True, "name": name.value, "message": new_message,},
])
@solara.component
def Page():
solara.InputText("username", value=name)
with solara.Column(style={"min-height": "50vh"}):
with solara.lab.ChatBox():
for item in messages.value:
with solara.lab.ChatMessage(
user=item["user"],
name=item["name"],
):
solara.Markdown(item["message"])
solara.lab.ChatInput(send_callback=send)