vargha's picture
alligned interface and data import scripts
f7ef7d3
raw
history blame
1.23 kB
# components/header.py
import gradio as gr
from utils.auth import AuthService
class Header:
def __init__(self):
with gr.Row(variant="panel", elem_classes="header-row") as self.container:
self.welcome = gr.Markdown()
self.progress_display = gr.Markdown("") # New element for progress display
self.logout_btn = gr.Button("Log out", scale=0, min_width=90)
# ---------------- wiring ----------------
def register_callbacks(self, login_page, dashboard_page, session_state):
def logout_and_clear_progress_fn(current_session_state):
# AuthService.logout is expected to return 4 values for the original outputs
logout_outputs = AuthService.logout(current_session_state)
# Add an empty string to clear the progress_display
return list(logout_outputs) + [""]
self.logout_btn.click(
fn=logout_and_clear_progress_fn,
inputs=[session_state],
outputs=[
login_page.container,
dashboard_page.container,
self.welcome,
login_page.message,
self.progress_display, # Cleared on logout
],
)