jim-bo's picture
initial commit: modular textual tui with async agent loop
3422d54
import asyncio
from typing import List
from textual.containers import Horizontal
from textual.widgets import Label
from cli_textual.core.command import SlashCommand
from cli_textual.ui.widgets.dna_spinner import DNASpinner
class LoadCommand(SlashCommand):
name = "/load"
description = "Simulate a task"
requires_permission = True
async def execute(self, app, args: List[str]):
print("DEBUG: Executing LoadCommand")
container = app.query_one("#interaction-container")
container.add_class("visible")
print(f"DEBUG: Classes after add_class: {container.classes}")
container.query("*").remove()
container.mount(Horizontal(DNASpinner(), Label("Processing...", id="task-label"), id="task-area"))
await asyncio.sleep(3)
container.remove_class("visible")
print(f"DEBUG: Classes after remove_class: {container.classes}")
app.add_to_history("Task completed.")
app.query_one("#main-input").focus()