inicio
This commit is contained in:
59
app/main.py
Executable file
59
app/main.py
Executable file
@@ -0,0 +1,59 @@
|
||||
import asyncio
|
||||
from nicegui import ui, app
|
||||
from ui import layout, dashboard, settings, manual_tools
|
||||
from database import init_db
|
||||
from core.bot import TelegramManager
|
||||
from core.watcher import DirectoryWatcher
|
||||
from core.state import state
|
||||
|
||||
# Inicializa Banco
|
||||
init_db()
|
||||
|
||||
# Instâncias Globais
|
||||
bot = TelegramManager()
|
||||
watcher = DirectoryWatcher(bot)
|
||||
|
||||
# --- LIFECYCLE ---
|
||||
async def startup():
|
||||
# 1. Inicia o Watcher (Ele começa pausado, safe)
|
||||
asyncio.create_task(watcher.start())
|
||||
|
||||
# 2. Inicia o Bot com atraso e em background
|
||||
# Isso evita que a falha de conexão trave a UI
|
||||
asyncio.create_task(delayed_bot_start())
|
||||
|
||||
async def delayed_bot_start():
|
||||
print("⏳ Aguardando rede estabilizar (5s)...")
|
||||
await asyncio.sleep(5)
|
||||
await bot.start()
|
||||
|
||||
async def shutdown():
|
||||
await bot.stop()
|
||||
|
||||
app.on_startup(startup)
|
||||
app.on_shutdown(shutdown)
|
||||
|
||||
# --- ROTAS ---
|
||||
@ui.page('/')
|
||||
def index_page():
|
||||
ui.colors(primary='#5898d4', secondary='#263238')
|
||||
ui.page_title('Clei-Flow')
|
||||
layout.create_interface()
|
||||
dashboard.show()
|
||||
|
||||
@ui.page('/settings')
|
||||
def settings_page():
|
||||
ui.colors(primary='#5898d4', secondary='#263238')
|
||||
ui.page_title('Configurações')
|
||||
layout.create_interface()
|
||||
settings.show()
|
||||
|
||||
@ui.page('/explorer')
|
||||
def explorer_page():
|
||||
ui.colors(primary='#5898d4', secondary='#263238')
|
||||
ui.page_title('Explorador')
|
||||
layout.create_interface()
|
||||
manual_tools.show()
|
||||
|
||||
if __name__ in {"__main__", "__mp_main__"}:
|
||||
ui.run(title='Clei-Flow', port=8080, storage_secret='clei-secret', reload=True)
|
||||
Reference in New Issue
Block a user