Skip to content

Commit 0aa79b5

Browse files
authored
Chat app update (#140)
* cleanup * updated alignment values
1 parent e564ee2 commit 0aa79b5

File tree

4 files changed

+71
-32
lines changed

4 files changed

+71
-32
lines changed

python/tutorials/chat/chat.py

Lines changed: 38 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1,30 +1,32 @@
11
import flet as ft
22

3-
class Message():
3+
4+
class Message:
45
def __init__(self, user_name: str, text: str, message_type: str):
56
self.user_name = user_name
67
self.text = text
78
self.message_type = message_type
89

10+
911
class ChatMessage(ft.Row):
1012
def __init__(self, message: Message):
1113
super().__init__()
12-
self.vertical_alignment="start"
13-
self.controls=[
14-
ft.CircleAvatar(
15-
content=ft.Text(self.get_initials(message.user_name)),
16-
color=ft.colors.WHITE,
17-
bgcolor=self.get_avatar_color(message.user_name),
18-
),
19-
ft.Column(
20-
[
21-
ft.Text(message.user_name, weight="bold"),
22-
ft.Text(message.text, selectable=True),
23-
],
24-
tight=True,
25-
spacing=5,
26-
),
27-
]
14+
self.vertical_alignment = ft.CrossAxisAlignment.START
15+
self.controls = [
16+
ft.CircleAvatar(
17+
content=ft.Text(self.get_initials(message.user_name)),
18+
color=ft.colors.WHITE,
19+
bgcolor=self.get_avatar_color(message.user_name),
20+
),
21+
ft.Column(
22+
[
23+
ft.Text(message.user_name, weight="bold"),
24+
ft.Text(message.text, selectable=True),
25+
],
26+
tight=True,
27+
spacing=5,
28+
),
29+
]
2830

2931
def get_initials(self, user_name: str):
3032
if user_name:
@@ -50,8 +52,9 @@ def get_avatar_color(self, user_name: str):
5052
]
5153
return colors_lookup[hash(user_name) % len(colors_lookup)]
5254

55+
5356
def main(page: ft.Page):
54-
page.horizontal_alignment = "stretch"
57+
page.horizontal_alignment = ft.CrossAxisAlignment.STRETCH
5558
page.title = "Flet Chat"
5659

5760
def join_chat_click(e):
@@ -62,12 +65,24 @@ def join_chat_click(e):
6265
page.session.set("user_name", join_user_name.value)
6366
page.dialog.open = False
6467
new_message.prefix = ft.Text(f"{join_user_name.value}: ")
65-
page.pubsub.send_all(Message(user_name=join_user_name.value, text=f"{join_user_name.value} has joined the chat.", message_type="login_message"))
68+
page.pubsub.send_all(
69+
Message(
70+
user_name=join_user_name.value,
71+
text=f"{join_user_name.value} has joined the chat.",
72+
message_type="login_message",
73+
)
74+
)
6675
page.update()
6776

6877
def send_message_click(e):
6978
if new_message.value != "":
70-
page.pubsub.send_all(Message(page.session.get("user_name"), new_message.value, message_type="chat_message"))
79+
page.pubsub.send_all(
80+
Message(
81+
page.session.get("user_name"),
82+
new_message.value,
83+
message_type="chat_message",
84+
)
85+
)
7186
new_message.value = ""
7287
new_message.focus()
7388
page.update()
@@ -94,7 +109,7 @@ def on_message(message: Message):
94109
title=ft.Text("Welcome!"),
95110
content=ft.Column([join_user_name], width=300, height=70, tight=True),
96111
actions=[ft.ElevatedButton(text="Join chat", on_click=join_chat_click)],
97-
actions_alignment="end",
112+
actions_alignment=ft.MainAxisAlignment.END,
98113
)
99114

100115
# Chat messages
@@ -137,4 +152,5 @@ def on_message(message: Message):
137152
),
138153
)
139154

140-
ft.app(main)
155+
156+
ft.app(target=main)

python/tutorials/chat/chat_1.py

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import flet as ft
22

3+
34
def main(page: ft.Page):
45
chat = ft.Column()
56
new_message = ft.TextField()
@@ -10,8 +11,9 @@ def send_click(e):
1011
page.update()
1112

1213
page.add(
13-
chat, ft.Row(controls=[new_message, ft.ElevatedButton("Send", on_click=send_click)])
14+
chat,
15+
ft.Row(controls=[new_message, ft.ElevatedButton("Send", on_click=send_click)]),
1416
)
1517

1618

17-
ft.app("chat", target=main, view=ft.WEB_BROWSER)
19+
ft.app(target=main)

python/tutorials/chat/chat_2.py

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,12 @@
11
import flet as ft
22

3-
class Message():
3+
4+
class Message:
45
def __init__(self, user: str, text: str):
56
self.user = user
67
self.text = text
78

9+
810
def main(page: ft.Page):
911

1012
chat = ft.Column()
@@ -21,6 +23,9 @@ def send_click(e):
2123
new_message.value = ""
2224
page.update()
2325

24-
page.add(chat, ft.Row([new_message, ft.ElevatedButton("Send", on_click=send_click)]))
26+
page.add(
27+
chat, ft.Row([new_message, ft.ElevatedButton("Send", on_click=send_click)])
28+
)
29+
2530

26-
ft.app(target=main, view=ft.WEB_BROWSER)
31+
ft.app(target=main)

python/tutorials/chat/chat_3.py

Lines changed: 21 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
import flet as ft
22

3-
class Message():
3+
4+
class Message:
45
def __init__(self, user: str, text: str, message_type: str):
56
self.user = user
67
self.text = text
@@ -24,7 +25,13 @@ def on_message(message: Message):
2425
page.pubsub.subscribe(on_message)
2526

2627
def send_click(e):
27-
page.pubsub.send_all(Message(user=page.session.get('user_name'), text=new_message.value, message_type="chat_message"))
28+
page.pubsub.send_all(
29+
Message(
30+
user=page.session.get("user_name"),
31+
text=new_message.value,
32+
message_type="chat_message",
33+
)
34+
)
2835
new_message.value = ""
2936
page.update()
3037

@@ -37,7 +44,13 @@ def join_click(e):
3744
else:
3845
page.session.set("user_name", user_name.value)
3946
page.dialog.open = False
40-
page.pubsub.send_all(Message(user=user_name.value, text=f"{user_name.value} has joined the chat.", message_type="login_message"))
47+
page.pubsub.send_all(
48+
Message(
49+
user=user_name.value,
50+
text=f"{user_name.value} has joined the chat.",
51+
message_type="login_message",
52+
)
53+
)
4154
page.update()
4255

4356
page.dialog = ft.AlertDialog(
@@ -49,6 +62,9 @@ def join_click(e):
4962
actions_alignment="end",
5063
)
5164

52-
page.add(chat, ft.Row([new_message, ft.ElevatedButton("Send", on_click=send_click)]))
65+
page.add(
66+
chat, ft.Row([new_message, ft.ElevatedButton("Send", on_click=send_click)])
67+
)
68+
5369

54-
ft.app(target=main, view=ft.WEB_BROWSER)
70+
ft.app(target=main)

0 commit comments

Comments
 (0)