3
.th                 @   sX   d dl Zd dlmZ d dlZd dlZd dlmZ d dlm	Z	 dd Z
G dd deZdS )	    N)Path)HydraHeadApp)interactive_tablec             C   s   t | j }tj|j }|S )N)r   
read_bytesbase64	b64encodedecode)Zimg_pathZ	img_bytesencoded r
   4/srv/www/htdocs/dashboard-catalog-gnss/apps/titik.pyimg_to_bytes	   s    r   c               @   s.   e Zd ZdddZdd Zdd Zdd	 Zd
S )TitikApp c             K   s   | j j| || _d S )N)__dict__updatetitle)selfr   kwargsr
   r
   r   __init__   s    zTitikApp.__init__c             C   s   | j   | j  d S )N)_cs_sidebar_cs_body)r   r
   r
   r   run   s    zTitikApp.runc             C   sj  t jX t jddd t jjdtjdd ddd t jd}t jd	}t jd
dd}t jddd}t jddd t jd}|r\| s| rt jd n||krt jd n|j	d}|j	d}|j
}d|  kodkn  rd| }	nt jd d S d|	 d| d| d}
|
d|d  d|d  d|d  d|d  d	7 }
tj|
}|t jd< W d Q R X d S ) Na  
                <style>
                    div[data-testid="stVerticalBlock"] div:has(div.select-bar) {
                        position: sticky;
                        top: 0;
                        background-color: white;
                        z-index: 999;
                    }
                    .select-bar {
                        border-bottom: 0 solid black;
                    }
                </style>
                T)unsafe_allow_htmlzO<div style='padding-top: 0px; margin-top: -60px; margin-left: 40px;'><img src='zresources/titik.pnglogoz' alt='Logo' width='200'>zPilih Start DatezPilih End DateLatitudez%.2f)format	Longitudez<div class='select-bar'></div>Submitz&Silakan pilih start date dan end date.z1Start date tidak boleh lebih besar dari end date.z%Y-%m-%di  i  Zcatalog_z$Data untuk tahun ini tidak tersedia.zSELECT * FROM z WHERE formatted_date BETWEEN 'z' AND ''z AND (CLAT BETWEEN '   z') AND (CLON BETWEEN 'z')data)stsidebarmarkdownutilsZreplace_image
date_inputnumber_inputbuttonerrorstrftimeyear	load_datasession_state)r   
start_dateend_datelatlonsubmitZstart_date_strZend_date_strr*   tablequerydfr
   r
   r   r      s:    






2
zTitikApp._cs_sidebarc             C   sH   dt jkr:t jd }|jr&t jd qDt|dddgd n
t jd d S )Nr    zTidak ada data yang ditemukan.Z	copyHtml5ZcsvHtml5Z
excelHtml5)buttonszHSilakan isi parameter di sidebar dan klik Submit untuk menampilkan data.)r!   r,   emptyr(   r   info)r   r4   r
   r
   r   r   X   s    

zTitikApp._cs_bodyN)r   )__name__
__module____qualname__r   r   r   r   r
   r
   r
   r   r      s   
?r   )	streamlitr!   pathlibr   r   r$   hydralitr   Zitables.streamlitr   r   r   r
   r
   r
   r   <module>   s   