wip
This commit is contained in:
parent
d847a02781
commit
421c6a17ff
5 changed files with 133 additions and 8 deletions
50
tui.py
Normal file
50
tui.py
Normal file
|
|
@ -0,0 +1,50 @@
|
|||
from textual.app import App
|
||||
from textual.containers import Vertical
|
||||
from textual.reactive import Reactive
|
||||
from textual.widgets import Footer, Input, Static
|
||||
from datetime import datetime
|
||||
|
||||
# class MessageFeed(ScrollView):
|
||||
# """A scrollable widget to display chat messages."""
|
||||
|
||||
# def __init__(self):
|
||||
# super().__init__()
|
||||
# self.messages = Vertical()
|
||||
# self.set_content(self.messages)
|
||||
|
||||
# def add_message(self, sender: str, text: str):
|
||||
# """Add a message to the feed."""
|
||||
# timestamp = datetime.now().strftime('%H:%M:%S')
|
||||
# message = Static(f"[{timestamp}] {sender}: {text}")
|
||||
# self.messages.mount(message)
|
||||
# self.scroll_end(animate=False)
|
||||
|
||||
class ChatApp(App):
|
||||
"""A simple chat application using Textual."""
|
||||
|
||||
CSS_PATH = "chat.css"
|
||||
message_input: Reactive[str] = Reactive("")
|
||||
|
||||
def compose(self):
|
||||
"""Compose the layout of the chat app."""
|
||||
# self.message_feed = MessageFeed()
|
||||
self.input_box = Input(placeholder="Type your message...", id="input")
|
||||
self.footer = Footer()
|
||||
# yield self.message_feed
|
||||
yield self.input_box
|
||||
yield self.footer
|
||||
|
||||
async def on_input_submitted(self, event: Input.Submitted) -> None:
|
||||
"""Handle the input submission to send a message."""
|
||||
if event.value.strip():
|
||||
# self.message_feed.add_message("You", event.value.strip())
|
||||
event.input.value = "" # Clear input after sending
|
||||
|
||||
def on_key(self, event):
|
||||
"""Handle key events for focus and usability."""
|
||||
if event.key == "escape":
|
||||
self.input_box.focus()
|
||||
|
||||
if __name__ == "__main__":
|
||||
ChatApp.run()
|
||||
|
||||
Loading…
Add table
Add a link
Reference in a new issue