import gradio as gr from truck_owner import truck_owner_ui # from transporter import transporter_ui # from customer_service import customer_service_ui # from admin import admin_ui import pandas as pd file_path = 'data.xlsx' users_df = pd.read_excel(file_path, sheet_name='Users') def authenticate(username, password): user = users_df[(users_df['Username'] == username) & (users_df['Password'] == password)] if not user.empty: return user.iloc[0]['Role'] return None def main_ui(): with gr.Blocks() as main_block: gr.Markdown("## Instacomm App Login") username = gr.Textbox(label="Username") password = gr.Textbox(label="Password", type="password") login_btn = gr.Button("Login") login_status = gr.Text() def login(username, password): role = authenticate(username, password) if role: if role == "Truck Owner": return truck_owner_ui() # elif role == "Transporter": # return transporter_ui() # elif role == "Customer Service": # return customer_service_ui() # elif role == "Admin": # return admin_ui() else: return gr.Text(value="Invalid credentials") login_btn.click(fn=login, inputs=[username, password], outputs=login_status) main_block.launch() if __name__ == "__main__": main_ui()