hmmm
Browse files
Auth.py
ADDED
|
@@ -0,0 +1,69 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
import streamlit as st
|
| 2 |
+
from streamlit_option_menu import option_menu
|
| 3 |
+
import json
|
| 4 |
+
from Home import dashboard
|
| 5 |
+
import pymongo
|
| 6 |
+
|
| 7 |
+
|
| 8 |
+
st.page_config(page_title="Auth", page_icon=":lock:")
|
| 9 |
+
|
| 10 |
+
|
| 11 |
+
|
| 12 |
+
|
| 13 |
+
def loadfile():
|
| 14 |
+
with open("database/users.json") as file:
|
| 15 |
+
data = json.load(file)
|
| 16 |
+
return data
|
| 17 |
+
|
| 18 |
+
def savefile(data):
|
| 19 |
+
with open("database/users.json", "w") as file:
|
| 20 |
+
json.dump(data, file, indent=4)
|
| 21 |
+
|
| 22 |
+
|
| 23 |
+
|
| 24 |
+
def login():
|
| 25 |
+
st.write("Login")
|
| 26 |
+
username = st.text_input("Username")
|
| 27 |
+
password = st.text_input("Password", type="password")
|
| 28 |
+
if st.button("Login"):
|
| 29 |
+
data = loadfile()
|
| 30 |
+
if username in data:
|
| 31 |
+
if data[username]["password"] == password:
|
| 32 |
+
st.success("Logged In as {}".format(username))
|
| 33 |
+
st.session_state.user = username
|
| 34 |
+
else:
|
| 35 |
+
st.error("Wrong Password")
|
| 36 |
+
else:
|
| 37 |
+
st.error("User not found")
|
| 38 |
+
|
| 39 |
+
|
| 40 |
+
def register():
|
| 41 |
+
st.write("Register")
|
| 42 |
+
username = st.text_input("Username")
|
| 43 |
+
password = st.text_input("Password", type="password")
|
| 44 |
+
if st.button("Register"):
|
| 45 |
+
data = loadfile()
|
| 46 |
+
if username in data:
|
| 47 |
+
st.error("User already exists")
|
| 48 |
+
else:
|
| 49 |
+
data[username] = {}
|
| 50 |
+
data[username]["password"] = password
|
| 51 |
+
savefile(data)
|
| 52 |
+
st.success("User created")
|
| 53 |
+
|
| 54 |
+
|
| 55 |
+
|
| 56 |
+
|
| 57 |
+
def main():
|
| 58 |
+
if 'user' not in st.session_state:
|
| 59 |
+
st.session_state.user = None
|
| 60 |
+
|
| 61 |
+
if st.session_state.user is None:
|
| 62 |
+
with st.sidebar:
|
| 63 |
+
selected = option_menu(None, ['Login', 'Register'])
|
| 64 |
+
if selected == 'Login':
|
| 65 |
+
login()
|
| 66 |
+
elif selected == 'Register':
|
| 67 |
+
register()
|
| 68 |
+
else:
|
| 69 |
+
dashboard()
|
Home.py
ADDED
|
@@ -0,0 +1,56 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
import streamlit as st
|
| 2 |
+
from streamlit_option_menu import option_menu
|
| 3 |
+
|
| 4 |
+
|
| 5 |
+
def homepage():
|
| 6 |
+
st.write("Home")
|
| 7 |
+
st.write("Welcome to the homepage")
|
| 8 |
+
|
| 9 |
+
|
| 10 |
+
def chat():
|
| 11 |
+
st.write("Chat")
|
| 12 |
+
st.write("Welcome to the chat page")
|
| 13 |
+
|
| 14 |
+
def invoke_document():
|
| 15 |
+
st.write("Invoke Document")
|
| 16 |
+
st.write("Welcome to the invoke document page")
|
| 17 |
+
|
| 18 |
+
def invoke_audio():
|
| 19 |
+
st.write("Invoke Audio")
|
| 20 |
+
st.write("Welcome to the invoke audio page")
|
| 21 |
+
|
| 22 |
+
def invoke_video():
|
| 23 |
+
st.write("Invoke Video")
|
| 24 |
+
st.write("Welcome to the invoke video page")
|
| 25 |
+
|
| 26 |
+
def invoke_image():
|
| 27 |
+
st.write("Invoke Image")
|
| 28 |
+
st.write("Welcome to the invoke image page")
|
| 29 |
+
|
| 30 |
+
def invoke_text():
|
| 31 |
+
st.write("Invoke Text")
|
| 32 |
+
st.write("Welcome to the invoke text page")
|
| 33 |
+
|
| 34 |
+
|
| 35 |
+
|
| 36 |
+
|
| 37 |
+
def dashboard():
|
| 38 |
+
|
| 39 |
+
with st.sidebar:
|
| 40 |
+
selected = option_menu(None, ['Home', 'Chat', "Invoke Document", "Invoke Audio", "Invoke Video", "Invoke Image", "Invoke Text"],
|
| 41 |
+
icons=['π ', 'π¬', "π", "π", "π₯", "πΌοΈ", "π"])
|
| 42 |
+
if selected == 'Home':
|
| 43 |
+
homepage()
|
| 44 |
+
elif selected == 'Chat':
|
| 45 |
+
chat()
|
| 46 |
+
elif selected == "Invoke Document":
|
| 47 |
+
invoke_document()
|
| 48 |
+
elif selected == "Invoke Audio":
|
| 49 |
+
invoke_audio()
|
| 50 |
+
elif selected == "Invoke Video":
|
| 51 |
+
invoke_video()
|
| 52 |
+
elif selected == "Invoke Image":
|
| 53 |
+
invoke_image()
|
| 54 |
+
elif selected == "Invoke Text":
|
| 55 |
+
invoke_text()
|
| 56 |
+
|