Py.Cafe

iisakkirotko/

solara-real-time-chat-app

Solara Real-time Chat Application

DocsPricing
  • app.py
  • requirements.txt
app.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
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)