File size: 3,491 Bytes
5b6c556
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
import base64
from pathlib import Path
from datetime import datetime
import uuid

import streamlit as st

from utilities.localization import tr, language_selector

def show_welcome_page():
    # Renders the welcome page with a user info form.
    
    # Language selection dropdown.
    #language_selector()
    st.markdown("---")

    # Header and introduction.
    logo_path = Path(__file__).resolve().parent.parent / "LOGO" / "Logo.png"
    logo_html = ""
    if logo_path.exists():
        with open(logo_path, "rb") as logo_file:
            logo_base64 = base64.b64encode(logo_file.read()).decode("utf-8")
        logo_html = (
            f"<img src='data:image/png;base64,{logo_base64}' alt='{tr('llm_analysis_suite')}' "
            "style='max-width: 280px; width: 55%; min-width: 180px; margin-bottom: 1.5rem;'/>"
        )

    st.markdown(
        f"""
        <div style="background: radial-gradient(circle at top, #1c2947, #0b1321); color: #f9fafb; padding: 2.75rem; border-radius: 14px; text-align: center; border: 1px solid rgba(220,174,54,0.25); box-shadow: 0 24px 45px rgba(8, 13, 24, 0.55);">
            {logo_html}
            <h1 style="color: #f9fafb; font-size: 2.2rem; margin-bottom: 0.75rem;">{tr('welcome_to_llm_analysis_suite')}</h1>
            <p style="font-size: 1.15rem; margin: 0 auto; max-width: 640px; color: #dce3f2;">{tr('research_tool_intro')}</p>
        </div>
        """,
        unsafe_allow_html=True
    )

    # st.markdown(f"""
    # ### {tr('about_this_tool')}
    # {tr('research_study_info')}

    # **{tr('your_role')}**
    # - {tr('role_1')}
    # - {tr('role_2')}
    # - {tr('role_3')}

    # **{tr('data_privacy')}**
    # - {tr('privacy_1')}
    # - {tr('privacy_2')}
    # - {tr('privacy_3')}

    # ---
    # """, unsafe_allow_html=True)
    
    # Don't show the form if it has already been submitted.
    if 'user_info' in st.session_state and st.session_state.user_info.get("form_submitted"):
        st.success(tr('thank_you_proceed'))
        return

    # st.header(tr('tell_us_about_yourself'))
    
    with st.form("user_data_form"):
        # age_options = ["under_18", "18_24", "25_34", "35_44", "45_54", "55_64", "65_or_over", "prefer_not_to_say"]
        # age_group = st.selectbox(
        #     tr('what_is_your_age_group'),
        #     options=age_options,
        #     format_func=lambda x: tr(x),
        #     index=2
        # )
        
        # expertise_options = ["novice", "intermediate", "expert"]
        # expertise = st.selectbox(
        #     tr('rate_your_expertise'),
        #     options=expertise_options,
        #     format_func=lambda x: tr(x),
        #     index=1
        # )
        
        # Set default values
        age_group = "25_34"
        expertise = "intermediate"
        
        submitted = st.form_submit_button(tr('start_analysis_button'), use_container_width=True)
        
        if submitted:
            # Generate a unique session ID.
            session_id = str(uuid.uuid4())
            
            # Store user data in the session.
            st.session_state.user_info = {
                "id": session_id,
                "age": age_group,
                "llm_experience": expertise,
                "form_submitted": True,
                "timestamp": datetime.now().strftime("%Y-%m-%d %H:%M:%S")
            }
            
            st.success(tr('thank_you_main_suite'))
            st.rerun()

if __name__ == "__main__":
    show_welcome_page()