in experiments/babel/app/components/side_nav.py [0:0]
def sidenav(current_page: str):
"""Render side navigation"""
app_state = me.state(AppState)
#print(f"received current page: {current_page}")
with me.sidenav(
opened=True,
style=me.Style(
width=SIDENAV_MAX_WIDTH if app_state.sidenav_open else SIDENAV_MIN_WIDTH,
background=me.theme_var("secondary-container"),
),
):
with me.box(
style=me.Style(
margin=me.Margin(top=16, left=16, right=16, bottom=16),
display="flex",
flex_direction="column",
gap=5,
),
):
with me.box(
style=me.Style(
display="flex",
flex_direction="row",
gap=5,
align_items="center",
),
):
with me.content_button(
type="icon",
on_click=on_sidenav_menu_click,
):
with me.box():
with me.tooltip(message="Expand menu"):
me.icon(icon="menu")
if app_state.sidenav_open:
me.text("STUDIO", style=_FANCY_TEXT_GRADIENT)
me.box(style=me.Style(height=16))
for idx, page in enumerate(page_json):
menu_item(
idx, page["icon"], page["display"], not app_state.sidenav_open
)
# settings & theme toggle
with me.box(style=MENU_BOTTOM):
theme_toggle_icon(
9,
"light_mode",
"Theme",
not app_state.sidenav_open,
)