File size: 1,010 Bytes
3422d54
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
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()