import firebase_admin from firebase_admin import credentials, firestore, auth import streamlit as st import requests import pandas as pd from datetime import datetime # Initialize Firebase app if not firebase_admin._apps: cred = credentials.Certificate("ecomplaintbook-firebase-adminsdk-4q5bo-1f83312d02.json") firebase_admin.initialize_app(cred) db = firestore.client() # Function to fetch user profile from Firebase def fetch_user_profile_from_firebase(user_id): user_profile_ref = db.collection("users").document(user_id) user_profile = user_profile_ref.get().to_dict() return user_profile # Function for user authentication def user_authentication(): # Add image and title st.image("ecomp.png", width=200) st.title("E-Complaint") st.header("User Authentication") # If the user is an existing user, prompt for email and password email = st.text_input("Email") password = st.text_input("Password", type="password") if st.button("Sign In"): try: user = auth.get_user_by_email(email) st.success(f"Welcome back, {user.email}!") user_id = user.uid st.session_state.user_id = user_id st.experimental_rerun() except auth.UserNotFoundError: st.error("User not found. Please check your credentials or sign up.") except Exception as e: st.error(f"Error during sign-in: {e}") else: st.error(f"Error during sign-in") # Main Streamlit app def main(): if "user_id" not in st.session_state: user_authentication() return st.set_page_config(page_title="E Complaint", layout="wide") st.title("E-Complaint") user_id = st.session_state.user_id # Sidebar st.sidebar.title("E-complaint") st.sidebar.image("health.png", use_column_width=True) st.sidebar.subheader("Technology Stack") st.sidebar.markdown(""" streamlit!!!! """) st.sidebar.subheader("Architecture and Design") st.sidebar.markdown(""" loggd in """) # Display weekly and monthly summaries st.header("Weekly and Monthly Trends") if st.button("Logout", key="logout_button"): del st.session_state["user_id"] st.experimental_rerun() if __name__ == "__main__": main()