a
    L9f2                     @   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                   @   sL   e Zd ZdZdddZddddZedd	d
Zd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   C/Users/putuwistika/Documents/TRILAK/hydralit-example/apps/signup.py__init__   s    zSignUpApp.__init__N)returnc                 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 rnt tjd
  | |}d	}|j|dd |d r| 	|| 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r| 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   sz   |d r$|d |d kr$t d nRt d8 | | td | dd  |   W d    n1 sl0    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   )
__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
   