|
import streamlit as st |
|
import os.path |
|
from collections import OrderedDict |
|
from streamlit_option_menu import option_menu |
|
|
|
import config |
|
from tabs.custom_vectorizer import custom_tokenizer, custom_preprocessor |
|
|
|
|
|
|
|
|
|
if 'sidebar_state' not in st.session_state: |
|
st.session_state.sidebar_state = 'expanded' |
|
else: |
|
st.session_state.sidebar_state = 'auto' |
|
|
|
st.set_page_config ( |
|
page_title=config.TITLE, |
|
page_icon= "assets/faviconV2.png", |
|
initial_sidebar_state=st.session_state.sidebar_state |
|
) |
|
|
|
|
|
thisfile = os.path.abspath(__file__) |
|
if ('/' in thisfile): |
|
os.chdir(os.path.dirname(thisfile)) |
|
|
|
|
|
os.environ['PROTOCOL_BUFFERS_PYTHON_IMPLEMENTATION'] = 'python' |
|
|
|
|
|
from tabs import intro, exploration_tab, data_viz_tab, id_lang_tab, modelisation_dict_tab, modelisation_seq2seq_tab, game_tab |
|
|
|
|
|
with open("style.css", "r") as f: |
|
style = f.read() |
|
|
|
st.markdown(f"<style>{style}</style>", unsafe_allow_html=True) |
|
|
|
|
|
|
|
|
|
|
|
TABS = OrderedDict( |
|
[ |
|
(intro.sidebar_name, intro), |
|
(exploration_tab.sidebar_name, exploration_tab), |
|
(data_viz_tab.sidebar_name, data_viz_tab), |
|
(id_lang_tab.sidebar_name, id_lang_tab), |
|
(modelisation_dict_tab.sidebar_name, modelisation_dict_tab), |
|
(modelisation_seq2seq_tab.sidebar_name, modelisation_seq2seq_tab), |
|
(game_tab.sidebar_name, game_tab ), |
|
] |
|
) |
|
|
|
|
|
def run(): |
|
global lang_tgt, label_lang |
|
|
|
st.sidebar.image( |
|
"assets/demosthene_logo.png", |
|
width=270, |
|
) |
|
with st.sidebar: |
|
tab_name = option_menu(None, list(TABS.keys()), |
|
|
|
icons=['house', 'binoculars', 'graph-up', 'search','book', 'chat-right-text', 'controller'], menu_icon="cast", default_index=0, |
|
styles={"container": {"padding": "0!important","background-color": "#10b8dd", "border-radius": "0!important"}, |
|
"nav-link": {"font-size": "1rem", "text-align": "left", "margin":"0em", "padding": "0em", |
|
"padding-left": "0.2em", "--hover-color": "#eee", "font-weight": "400", |
|
"font-family": "Source Sans Pro, sans-serif"} |
|
}) |
|
|
|
st.sidebar.markdown("---") |
|
st.sidebar.markdown(f"## {config.PROMOTION}") |
|
|
|
st.sidebar.markdown("### Team members:") |
|
for member in config.TEAM_MEMBERS: |
|
st.sidebar.markdown(member.sidebar_markdown(), unsafe_allow_html=True) |
|
|
|
tab = TABS[tab_name] |
|
tab.run() |
|
|
|
|
|
if __name__ == "__main__": |
|
run() |
|
|