mirror of
https://github.com/avitoras/telegram-tui.git
synced 2025-07-27 19:26:10 +00:00
38 lines
1.2 KiB
Python
38 lines
1.2 KiB
Python
from textual.widgets import Label
|
|
from textual.containers import Container
|
|
from textual.widget import Widget
|
|
|
|
class Message(Widget):
|
|
"""Класс виджета сообщений для окна диалога"""
|
|
|
|
def __init__(
|
|
self,
|
|
name=None,
|
|
message=None,
|
|
is_me=None,
|
|
id=None,
|
|
classes=None,
|
|
disabled=False
|
|
):
|
|
super().__init__(name=name, id=id, classes=classes, disabled=disabled)
|
|
self.message = message
|
|
self.is_me = is_me
|
|
|
|
def on_mount(self):
|
|
container = self.query_one(Container)
|
|
label = container.query_one(Label)
|
|
if self.is_me:
|
|
self.styles.padding = (0, 0, 0, 15)
|
|
label.styles.text_align = "right"
|
|
container.styles.align_horizontal = "right"
|
|
label.styles.border = ("solid", "#4287f5")
|
|
else:
|
|
self.styles.padding = (0, 15, 0, 0)
|
|
label.styles.text_align = "left"
|
|
container.styles.align_horizontal = "left"
|
|
label.styles.border = ("solid", "#ffffff")
|
|
|
|
def compose(self):
|
|
with Container():
|
|
yield Label(str(self.message))
|