tushar27's picture
From github updates
2482ff6
#Authot github.com/tushar2704
##############################################################################################################
#Importing required library
##############################################################################################################
import streamlit as st
from streamlit_option_menu import option_menu
import base64
import sys
from pathlib import Path
script_dir = Path(__file__).resolve().parent
project_root = script_dir.parent
sys.path.append(str(project_root))
# import streamlit_antd_components as sac
#######################################################################################################
#Importing from SRC
#######################################################################################################
from src.Streamlit_Magic_Sheet.components.header import *
from src.Streamlit_Magic_Sheet.components.body import *
from src.Streamlit_Magic_Sheet.components.navigation import *
from src.Streamlit_Magic_Sheet.components.metrics import *
from src.Streamlit_Magic_Sheet.components.charts import *
from src.Streamlit_Magic_Sheet.components.test import *
from src.Streamlit_Magic_Sheet.components.elements import *
#######################################################################################################
##############################################################################################################
#Sidebar functions
##############################################################################################################
def img_to_bytes(img_path):
img_bytes = Path(img_path).read_bytes()
encoded = base64.b64encode(img_bytes).decode()
return encoded
#Left Panel Navigation
def left_main_panel():
custom_css = f"""
<style>
.sidebar .stImage {{
display: block;
margin: 0;
padding: 0;
}}
.st-emotion-cache-10oheav {{padding: 0.1rem 0.2rem;}}
img{{
vertical-align: middle;
margin-right: 70px;
float:right;
}}
</style>
"""
# Example usage in the Streamlit sidebar
st.sidebar.markdown(custom_css, unsafe_allow_html=True)
st.sidebar.markdown(f'''[<img src='data:image/png;base64,{img_to_bytes("src/Streamlit_Magic_Sheet/data unboxed.png")}' class='img-fluid' width=100 height=100>](https://Tushar-Aggarwal.com/)''', unsafe_allow_html=True)
st.sidebar.markdown(f"##### <span style='margin-left: 45px;'>[Tushar-Aggarwal.com](https://tushar-aggarwal.com/)</span>", unsafe_allow_html=True)
with st.sidebar:
main_navbar =option_menu(
menu_title="",
options=['Magic Sheet','Write and Magic','Text Elements', 'Data Elements', 'Chart Elements',
'Input Widgtes', 'Media Elements', 'Layouts and Containers',
'Chat Elements', 'Status Elements', 'Control Flow',
'Utilities', 'Mutate Charts', 'State Management',
'Performance', 'Personalization', 'Connections and Databases',
'App Menu', 'Button Behavior and Examples', 'Caching',
'Command Line Options', 'Configuration', 'Theming', 'Connecting To Data',
'Dataframes', 'Forms', 'Add Statefulness to Apps', 'Widget Behavior',
'Working With Timezones', 'Static File Serving',
'Https Support', 'Secrects Management', 'Security Reminders',
'Connect to Data Sources'],
icons=['magic','blockquote-left','body-text','bar-chart-line-fill', 'bar-chart',
'input-cursor-text', 'collection-play-fill', 'columns-gap',
'chat-right-text', 'briefcase', 'diagram-3',
'collection', 'pie-chart-fill', 'kanban-fill',
'speedometer', 'columns', 'hdd',
'menu-button', 'check2-square', 'memory',
'list-columns', 'gear', 'columns-gap', 'gear-wide-connected',
'table', 'ui-checks', 'menu-app-fill', 'card-heading',
'calendar-date', 'file-earmark-arrow-down',
'ethernet', 'asterisk', 'key',
'hdd'],
menu_icon="house-fill",
default_index=0,
)
# sac.tabs([
# sac.TabsItem(label=magic_sheet_uk(),icon='UK'),
# sac.TabsItem(label='FR', icon='FRANCE'),
# sac.TabsItem(label='DE', icon='GERMANY'),
# ], format_func='title', align='end', shape='card')
if main_navbar=="Magic Sheet":
magic_sheet_uk()
if main_navbar=="Text Elements":
text_elements()
if main_navbar=="Write and Magic":
write_and_magic()
if main_navbar=="Data Elements":
data_elements()
if main_navbar=="Chart Elements":
chart_elements()
if main_navbar=="Input Widgtes":
input_widgtes()
if main_navbar=="Media Elements":
media_elements()
if main_navbar=="Layouts and Containers":
layouts_and_containers()
if main_navbar=="Chat Elements":
chat_elements()
if main_navbar=="Status Elements":
status_elements()
if main_navbar=="Control Flow":
control_flow()
if main_navbar=="Utilities":
utilities()
if main_navbar=="Mutate Charts":
mutate_charts()
if main_navbar=="State Management":
state_management()
if main_navbar=="Performance":
performance()
if main_navbar=="Personalization":
personalization()
if main_navbar=="Connections and Databases":
connections_and_databases()
if main_navbar=="App Menu":
app_menu()
if main_navbar=="Button Behavior and Examples":
button_behavior_and_examples()
if main_navbar=="Caching":
caching()
if main_navbar=="Command Line Options,":
command_line_options()
if main_navbar=="Configuration":
configuration()
if main_navbar=="Theming":
theming()
if main_navbar=="Connecting To Data":
connecting_to_data()
if main_navbar=="Dataframes":
dataframes()
if main_navbar=="Forms":
forms()
if main_navbar=="Add Statefulness to Apps":
add_statefulness_to_apps()
if main_navbar=="Widget Behavior":
widget_behavior()
if main_navbar=="Working With Timezones":
working_with_timezones()
if main_navbar=="Static File Serving":
static_file_serving()
if main_navbar=="Https Support":
https_support()
if main_navbar=="Secrects Management":
secrects_management()
if main_navbar=="Security Reminders":
security_reminders()
if main_navbar=="Connect to Data Sources":
connect_to_data_sources()