Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
30 changes: 15 additions & 15 deletions solara/components/applayout.py
Original file line number Diff line number Diff line change
Expand Up @@ -257,7 +257,17 @@ def AppLayout(
use_drawer = True
title = t.use_title_get() or title
children_appbartitle = apptitle_portal.use_portal()
show_app_bar = (title and (len(routes) > 1 and navigation)) or children_appbar or use_drawer or children_appbartitle
v_slots = []

tabs_element = None
for child_appbar in children_appbar.copy():
if child_appbar.component == solara.lab.Tabs:
if tabs_element is not None:
raise ValueError("Only one Tabs component is allowed in the AppBar")
tabs_element = child_appbar
children_appbar.remove(tabs_element)

show_app_bar = (title and (len(routes) > 1 and navigation)) or bool(children_appbar) or bool(use_drawer) or bool(children_appbartitle) or bool(tabs_element)

if style is None:
style = {"height": "100%", "max-height": "100%", "overflow": "auto"}
Expand All @@ -269,27 +279,17 @@ def set_path(index):
path = paths[index]
location.pathname = path

v_slots = []

tabs = None
for child_appbar in children_appbar.copy():
if child_appbar.component == solara.lab.Tabs:
if tabs is not None:
raise ValueError("Only one Tabs component is allowed in the AppBar")
tabs = child_appbar
children_appbar.remove(tabs)

if (tabs is None) and routes and navigation and (len(routes) > 1):
with solara.lab.Tabs(value=index, on_value=set_path, align="center") as tabs:
if (tabs_element is None) and routes and navigation and (len(routes) > 1):
with solara.lab.Tabs(value=index, on_value=set_path, align="center") as tabs_element:
for route in routes:
name = route.path if route.path != "/" else "Home"
solara.lab.Tab(name)
# with v.Tabs(v_model=index, on_v_model=set_path, centered=True) as tabs:
# for route in routes:
# name = route.path if route.path != "/" else "Home"
# v.Tab(children=[name])
if tabs is not None:
v_slots = [{"name": "extension", "children": tabs}]
if tabs_element is not None and navigation:
v_slots = [{"name": "extension", "children": tabs_element}]
if embedded_mode and not fullscreen:
# this version doesn't need to run fullscreen
# also ideal in jupyter notebooks
Expand Down