Refat81's picture
Update app.py
8ecd1b3 verified
raw
history blame
2.68 kB
# app.py - UPDATED VERSION
import streamlit as st
import os
def main():
st.set_page_config(
page_title="Social Media Data Extractor",
page_icon="πŸ”",
layout="wide"
)
# Check if user is already logged in
if "authenticated" in st.session_state and st.session_state.authenticated:
show_dashboard()
else:
show_login_page()
def show_dashboard():
"""Show main dashboard after login"""
user = st.session_state.user_info
# Welcome message
st.title(f"πŸ‘‹ Welcome, {user.get('name', 'User')}!")
st.write(f"Email: {user.get('email')}")
# Your original dashboard content here
st.markdown("## πŸš€ Launch Extractors")
col1, col2, col3 = st.columns(3)
with col1:
if st.button("πŸ’Ό LinkedIn Extractor", use_container_width=True):
st.switch_page("pages/linkedin_extractor.py")
with col2:
if st.button("πŸ“˜ Facebook Extractor", use_container_width=True):
st.switch_page("pages/facebook_extractor.py")
with col3:
if st.button("πŸ”₯ Facebook Extractor 2.0", use_container_width=True):
st.switch_page("pages/facebook_extractor_pro.py")
# Logout button
if st.button("πŸšͺ Logout"):
st.session_state.clear()
st.rerun()
def show_login_page():
"""Show login page"""
GOOGLE_CLIENT_ID = os.getenv("GOOGLE_CLIENT_ID", "")
if not GOOGLE_CLIENT_ID:
st.error("Google OAuth not configured")
return
st.title("πŸ” Social Media Data Extractor")
st.markdown("### Welcome! Please login to continue")
# Create login URL
redirect_uri = "https://refat81-social-media-data-extractor-chatbot.hf.space/oauth_callback"
login_url = f"https://accounts.google.com/o/oauth2/v2/auth?client_id={GOOGLE_CLIENT_ID}&redirect_uri={redirect_uri}&response_type=code&scope=openid%20email%20profile&access_type=offline&prompt=consent"
st.markdown(f"""
<a href="{login_url}">
<div style="
background-color: #4285F4;
color: white;
padding: 15px 30px;
border-radius: 8px;
border: none;
cursor: pointer;
font-size: 18px;
font-weight: 600;
text-align: center;
margin: 30px 0;
display: inline-block;
">
<img src="https://cdn-icons-png.flaticon.com/512/2991/2991148.png" width="24" height="24" style="vertical-align: middle; margin-right: 12px;">
Sign in with Google
</div>
</a>
""", unsafe_allow_html=True)
if __name__ == "__main__":
main()