o
    Df2                     @   sD   d dl Z d dlZd dlmZ d dlZd dlmZ G dd deZdS )    N)Dict)HydraHeadAppc                   @   sD   e Zd ZdZdddZdddZdefd	d
ZdddZdd Z	dS )	SignUpAppz
    This is an example signup application to be used to secure access within a HydraApp streamlit application.

    This application is an example of allowing an application to run from the login without requiring authentication.
    
     c                 K   s   | j | || _d S )N)__dict__updatetitle)selfr   kwargs r   9/Users/putuwistika/Documents/BELAJAR/HYDRA/apps/signup.py__init__   s   
zSignUpApp.__init__returnNc                 C   s   t jddd t g d\}}}|jddd |jddd d	}|j|dd d
tj v r7t tjd
  | |}d	}|j|dd |d rQ| 	|| dS dS )z+
        Application entry point.

        z;<h1 style='text-align: center;'>Secure Hydralit Signup</h1>T)unsafe_allow_html)   r   r   z./resources/lock.pngd   )widthz./resources/hydra.pngz
        <style>
        div[class="row-widget stButton"] > button {
            width: 100%;
        }
        </style>
        <br><br>
        ZMSG	submittedN)
stmarkdowncolumnsimageosenvironkeysinfo_create_signup_form
_do_signup)r	   c1c2c3
pretty_btn	form_datar   r   r   run   s   
zSignUpApp.runc                 C   s   |j dd}i }|d|d< |jddd|d< |jddd|d	< |d
d|d< |d|d< |jdddrA| dd  |   |S )N
login_form)keyUsernameusernamePasswordpassword)typezConfirm Password	password2zExample Access Level)   r   access_levelzSign Upr   LoginZloginbtnr   )form
text_input	selectboxform_submit_buttonbutton
set_accessdo_redirect)r	   parent_containerr$   
form_stater   r   r   r   @   s   zSignUpApp._create_signup_formc                 C   s~   |d r|d |d krt d d S t d | | td | dd  |   W d    d S 1 s8w   Y  d S )Nr   r)   r+   z)Passwords do not match, please try again.u!   🤓 now redirecting to login....r   r   )r   errorspinner_save_signuptimesleepr4   r5   )r	   r"   msg_containerr   r   r   r   T   s   


"zSignUpApp._do_signupc                 C   s2   d|d  d|d  d|d  d}t | d S )Nz6
        captured signup details: 

        username: r'   z 

        password: r)   z 

        access level: r-   z 

        )r   write)r	   Zsignup_dataZwhat_we_gotr   r   r   r:   b   s   zSignUpApp._save_signup)r   )r   N)
__name__
__module____qualname____doc__r   r#   r   r   r   r:   r   r   r   r   r      s    

+
r   )	r;   r   typingr   	streamlitr   hydralitr   r   r   r   r   r   <module>   s    