
    f`                     p    d dl Zd dlmZ d dlZd dlZd dlZd dlmZ d dl	m
Z
 d dlmZ d Z G d de
      Zy)	    N)Path)folium_static)HydraHeadApp)interactive_tablec                 ~    t        |       j                         }t        j                  |      j	                         }|S N)r   
read_bytesbase64	b64encodedecode)img_path	img_bytesencodeds      I/Users/putuwistika/Documents/TRILAK/dashboard-catalog-gnss/apps/region.pyimg_to_bytesr      s2    X))+Iy)002GN    c                   &    e Zd ZddZd Zd Zd Zy)	RegionAppc                 H    | j                   j                  |       || _        y r   )__dict__updatetitle)selfr   kwargss      r   __init__zRegionApp.__init__   s    V$
r   c                 D    | j                          | j                          y r   )_cs_sidebar_cs_body)r   s    r   runzRegionApp.run   s    r   c                    t         j                  5  t        j                  dd       t         j                  j                  dt        j                  dd       dd       t        j
                  d      }t        j
                  d	      }t        j                  d
d      }t        j                  dd      }t        j                  dd      }t        j                  dd      }t        j                  dd       t        j                  d      }|rP|r|st        j                  d       n5||kD  rt        j                  d       n|t         j                  d<   |t         j                  d<   |t         j                  d<   |t         j                  d<   |t         j                  d<   |t         j                  d<   |j                  d      }|j                  d      }	|j                  }
d|
cxk  rdk  r	n nd|
 }nt        j                  d       	 d d d        y d| d | d!|	 d"}|d#| d!| d$| d!| d%	z  }t        j                  |      }|t         j                  d&<   d d d        y # 1 sw Y   y xY w)'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/region.pnglogoz' alt='Logo' width='200'></div>zPilih Start DatezPilih End DatezStart Longitudez%.2f)formatzEnd LongitudezStart LatitudezEnd Latitudez<div class='select-bar'></div>Submitz&Silakan pilih start date dan end date.z1Start date tidak boleh lebih besar dari end date.
start_dateend_dateslonelonslatelatz%Y-%m-%di  i  catalog_z$Data untuk tahun ini tidak tersedia.zSELECT * FROM z WHERE formatted_date BETWEEN 'z' AND ''z AND (SLAT BETWEEN 'z') AND (SLON BETWEEN 'z')data)stsidebarmarkdownutilsreplace_image
date_inputnumber_inputbuttonerrorsession_statestrftimeyear	load_data)r   r%   r&   r'   r(   r)   r*   submitstart_date_strend_date_strr9   tablequerydfs                 r   r   zRegionApp._cs_sidebar   s[   ZZ F	2KK #'  JJ"001GPQQpr"&    '9:J}}%56H??#4VDD???6BD??#3FCD??>&ADKK8DQ YYx(F!HHEF(*HHPQ 6@B$$\23;B$$Z0/3B$$V,/3B$$V,/3B$$V,/3B$$V, &0%8%8%DN#+#4#4Z#@L%??D t+t+"*4& 1!GHyF	2 F	2~ -UG3RSaRbbijviwwxyE3D6F\]a\bbijniooqrrE /B 02B$$V,MF	2 F	2 F	2s   HI0!AI00I9c                    dt         j                  v rt         j                  d   }|j                  rt        j                  d       y t	        |g d       t         j                  d   t         j                  d   z   dz  t         j                  d   t         j                  d	   z   dz  g}t        j                  |d
d      }|j                         D ]G  \  }}d|d    d|d    d|d    }t        j                  |d   |d   g|      j                  |       I t        |dd       y t        j                  d       y )Nr-   zTidak ada data yang ditemukan.)	copyHtml5csvHtml5
excelHtml5)buttonsr)   r*      r'   r(      z100%)location
zoom_startwidth(clatz, clonz), basefile)popupi  iX  )rJ   heightzHSilakan isi parameter di sidebar dan klik Submit untuk menampilkan data.)r.   r7   emptyr6   r   foliumMapiterrowsMarkeradd_tor   info)r   r@   
map_centermindexrow
popup_texts          r   r   zRegionApp._cs_bodye   sD   R%%%!!&)Bxx9: "".UV!//7":J:J6:RRVWWZ\ZjZjkqZruw  vF  vF  GM  vN  [N  RS  ZS  T
JJ
qO"$++- ZJE3#$S[MCK=C
OCT!UJMM3v;F"<JOVVWXYZ atC8GG^_r   N) )__name__
__module____qualname__r   r   r   r    r   r   r   r      s    
G2R`r   r   )	streamlitr.   pathlibr   r
   r1   rR   streamlit_foliumr   hydralitr   itables.streamlitr   r   r   ra   r   r   <module>rg      s2         * ! /d` d`r   