Spaces:
Running
Running
# app.py | |
import gradio as gr | |
from pathlib import Path | |
from utils.logger import Logger | |
from components.login_page import LoginPage | |
from components.dashboard_page import DashboardPage | |
from utils.database import initialize_database | |
from config import conf | |
log = Logger() | |
initialize_database() | |
CSS_FILE = Path(__file__).parent / "assets" / "styles.css" | |
custom_css = CSS_FILE.read_text(encoding="utf-8") | |
def build_app() -> gr.Blocks: | |
with gr.Blocks(title=conf.APP_TITLE, css=custom_css) as demo: | |
session = gr.State({}) | |
gr.Markdown(f"### {conf.APP_TITLE}") | |
login_page = LoginPage() | |
dashboard_page = DashboardPage() | |
login_page.register_callbacks(dashboard_page, session) | |
dashboard_page.register_callbacks(login_page, session) | |
demo.queue(default_concurrency_limit=50) | |
log.info("App Started.") | |
return demo | |
if __name__ == "__main__": | |
try: | |
log.info("Initial App ...") | |
build_app().launch() | |
except Exception as err: | |
log.error(err) | |