o
    ^f                      @   s`   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 ZG dd de
ZdS )	    N)Path)folium_static)HydraHeadAppc                 C   s   t |  }t| }|S N)r   
read_bytesbase64	b64encodedecode)img_path	img_bytesencoded r   9/Users/putuwistika/Documents/BELAJAR/HYDRA/apps/region.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 )	RegionApp c                 K   s   | j | || _d S r   )__dict__updatetitle)selfr   kwargsr   r   r   __init__   s   
zRegionApp.__init__c                 C   s   |    |   d S r   )_cs_sidebar_cs_body)r   r   r   r   run   s   zRegionApp.runc                 C   s  t j t jddd t jjdtdd ddd t d}t jd	d
d}t jdd
d}t jdd
d}t jdd
d}t jddd t d}|r|sRt d n}|t j	d< |t j	d< |t j	d< |t j	d< |t j	d< |
d}|j}d|  kr}dkrn nd| }	nt d 	 W d    d S d|	 d| d}
|
d|d   d!|d   d"|d   d!|d   d#	7 }
t|
}|t j	d$< W d    d S W d    d S W d    d S 1 sw   Y  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assets/logo.pnglogoz' alt='Logo' width='200'></div>zPilih TanggalzSouth Longitudez%.2f)formatzEast LongitudezSouth LatitudezEast Latitudez<div class='select-bar'></div>Submitz&Silakan pilih tanggal terlebih dahulu.tanggalslonelonslatelatz%Y-%m-%di  i  catalog_z$Data untuk tahun ini tidak tersedia.zSELECT * FROM z WHERE formatted_date = ''z AND (SLAT BETWEEN '   z' AND '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#   submittanggal_strr3   tablequerydfr   r   r   r      sT   









:2
"%"zRegionApp._cs_sidebarc                 C   s   dt jv r]t jd }|jrt d d S t | t jd t jd  d t jd t jd  d g}tj|dd	d
}| D ]\}}tj|d |d g|d d	| q=t
|ddd d S t d d S )Nr'   zTidak ada data yang ditemukan.r"   r#      r    r!      z100%)locationZ
zoom_startwidthZclatZclonZazim)Zpopupi  iX  )r=   heightzHSilakan isi parameter di sidebar dan klik Submit untuk menampilkan data.)r(   r1   emptyr0   	dataframefoliumZMapiterrowsMarkerZadd_tor   write)r   r9   Z
map_centermindexrowr   r   r   r   _   s   


0&zRegionApp._cs_bodyN)r   )__name__
__module____qualname__r   r   r   r   r   r   r   r   r      s
    
Dr   )	streamlitr(   pathlibr   r   r+   rA   Zstreamlit_foliumr   hydralitr   r   r   r   r   r   r   <module>   s    