File size: 1,744 Bytes
c8f09d8
bca2bcb
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
c8f09d8
bca2bcb
 
3f0bdca
4c0a899
 
 
3f0bdca
 
bca2bcb
97b4d0f
 
4933968
3f0bdca
5d76d94
bca2bcb
 
 
 
 
 
 
 
 
3f0bdca
bca2bcb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
from datetime import datetime
import streamlit as st
import random
import time
from streamlit_extras.switch_page_button import switch_page


def login():
    # skip customize user name for debug mode

    with st.form("user_login"):
        st.write('## Enter Your Name')
        user_id = st.text_input(
            "Enter your name for personalization 👇",
            label_visibility='visible',
            disabled=False,
            placeholder='anonymous',
        )
        st.write('You can leave it blank to be anonymous.')

        # Every form must have a submit button.
        submitted = st.form_submit_button("Start")
        if submitted:
            save_user_id(user_id)
            switch_page("gallery")


def save_user_id(user_id):
    print(user_id)
    if not user_id:
        user_id = 'anonymous' + str(random.randint(0, 100000))
    st.session_state.user_id = [user_id, datetime.now().strftime("%Y-%m-%d %H:%M:%S")]


def logout():
    st.session_state.pop('user_id', None)
    st.session_state.pop('selected_dict', None)
    st.session_state.pop('score_weights', None)


if __name__ == '__main__':
    # print(st.source_util.get_pages('Home.py'))

    st.set_page_config(page_title="Login", page_icon="🏠", layout="wide")
    st.write('A Research by MAPS Lab, NYU Shanghai')
    st.title("Welcome to GEMRec Gallery Webapp!")
    st.write(
        "This is an web application to collect personal preference to ai generated images. \
        You can know which model you like most after you finish the survey."
    )

    if 'user_id' not in st.session_state:
        login()
    else:
        st.write('You have already logged in as ' + st.session_state.user_id[0])
        st.button('Log out', on_click=logout)