transpolymer commited on
Commit
f031105
Β·
verified Β·
1 Parent(s): 8214463

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +27 -26
app.py CHANGED
@@ -1,39 +1,40 @@
1
  import streamlit as st
2
- from login import login
3
- from signup import signup
4
  import home
5
- import prediction
6
  import about
7
  import contact
 
8
 
9
- # Initialize session state
10
- if 'logged_in' not in st.session_state:
11
- st.session_state.logged_in = False
12
- if 'signup' not in st.session_state:
13
- st.session_state.signup = False
14
 
15
- # Sign-up flow
16
- if st.session_state.signup:
17
- signup()
18
 
19
- # Logged-in flow
20
- elif st.session_state.logged_in:
21
- st.sidebar.title("Navigation")
22
- page = st.sidebar.radio("Go to", ("Home", "Prediction", "About", "Contact"))
 
 
 
23
 
24
- if st.sidebar.button("Logout"):
25
- st.session_state.logged_in = False
 
26
 
27
- if page == "Home":
 
28
  home.show()
29
- elif page == "Prediction":
30
  prediction.show()
31
- elif page == "About":
32
  about.show()
33
- elif page == "Contact":
34
  contact.show()
35
-
36
- # Login flow
37
- else:
38
- if login(): # This now returns True when credentials are correct
39
- st.session_state.logged_in = True
 
1
  import streamlit as st
 
 
2
  import home
3
+ import prediction
4
  import about
5
  import contact
6
+ import login_page as login # Renamed login.py to login_page.py for clarity and to avoid naming conflicts
7
 
8
+ # βœ… Must be first Streamlit command
9
+ st.set_page_config(page_title="TransPolymer", layout="wide", page_icon="πŸ§ͺ")
10
+
11
+ # βœ… Ensure users collection exists
12
+ login.create_users_collection()
13
 
14
+ # βœ… Initialize login state
15
+ if "logged_in" not in st.session_state:
16
+ st.session_state.logged_in = False
17
 
18
+ # βœ… Show login or main app
19
+ if not st.session_state.logged_in:
20
+ login.show_login_page()
21
+ else:
22
+ # βœ… Load Home page immediately after login
23
+ if "page" not in st.session_state:
24
+ st.session_state.page = "Home"
25
 
26
+ # βœ… Sidebar navigation appears only after login
27
+ st.sidebar.title("πŸ”— Navigation")
28
+ st.session_state.page = st.sidebar.radio("Select a Page", ["Home", "Predictions", "About", "Help"], index=["Home", "Predictions", "About", "Help"].index(st.session_state.page))
29
 
30
+ # βœ… Load page dynamically
31
+ if st.session_state.page == "Home":
32
  home.show()
33
+ elif st.session_state.page == "Predictions":
34
  prediction.show()
35
+ elif st.session_state.page == "About":
36
  about.show()
37
+ elif st.session_state.page == "Help":
38
  contact.show()
39
+ else:
40
+ st.error("Page not found.")