diff --git a/examples/tabs/Tabs.py b/examples/tabs/Tabs.py index e054a21..aab7b45 100644 --- a/examples/tabs/Tabs.py +++ b/examples/tabs/Tabs.py @@ -16,37 +16,31 @@ def VerticalTabs(): """Vertical tabs for settings categories.""" setting_tab = signal(0) # 0 = General, 1 = Privacy, 2 = Advanced - def set_setting_0(): - setting_tab = 0 - - def set_setting_1(): - setting_tab = 1 - - def set_setting_2(): - setting_tab = 2 + def set_setting(value): + setting_tab = value with Div(class_="vertical-tabs"): # Vertical tab menu with Div(class_="vertical-tab-menu"): if setting_tab == 0: - with Button(class_="vertical-tab active", onclick=set_setting_0): + with Button(class_="vertical-tab active", onclick=lambda: set_setting(0)): yield "⚙️ General" else: - with Button(class_="vertical-tab", onclick=set_setting_0): + with Button(class_="vertical-tab", onclick=lambda: set_setting(0)): yield "⚙️ General" if setting_tab == 1: - with Button(class_="vertical-tab active", onclick=set_setting_1): + with Button(class_="vertical-tab active", onclick=lambda: set_setting(1)): yield "🔒 Privacy" else: - with Button(class_="vertical-tab", onclick=set_setting_1): + with Button(class_="vertical-tab", onclick=lambda: set_setting(1)): yield "🔒 Privacy" if setting_tab == 2: - with Button(class_="vertical-tab active", onclick=set_setting_2): + with Button(class_="vertical-tab active", onclick=lambda: set_setting(2)): yield "🚀 Advanced" else: - with Button(class_="vertical-tab", onclick=set_setting_2): + with Button(class_="vertical-tab", onclick=lambda: set_setting(2)): yield "🚀 Advanced" # Vertical tab content @@ -90,14 +84,8 @@ def Tabs(orientation=0): # 0 = horizontal, 1 = vertical """Main tabs container - orchestrates menu and panes.""" tab_index = signal(0) # Track which tab is active: 0 = Home, 1 = Profile, 2 = Settings - def set_tab_0(): - tab_index = 0 - - def set_tab_1(): - tab_index = 1 - - def set_tab_2(): - tab_index = 2 + def set_tab(value): + tab_index = value with Div(class_="tabs-container"): with H1(): @@ -110,29 +98,29 @@ def Tabs(orientation=0): # 0 = horizontal, 1 = vertical with Ul(class_="tab-menu"): if tab_index == 0: with Li(class_="tab active"): - with Button(onclick=set_tab_0): + with Button(onclick=lambda: set_tab(0)): yield "🏠 Home" else: with Li(class_="tab"): - with Button(onclick=set_tab_0): + with Button(onclick=lambda: set_tab(0)): yield "🏠 Home" if tab_index == 1: with Li(class_="tab active"): - with Button(onclick=set_tab_1): + with Button(onclick=lambda: set_tab(1)): yield "👤 Profile" else: with Li(class_="tab"): - with Button(onclick=set_tab_1): + with Button(onclick=lambda: set_tab(1)): yield "👤 Profile" if tab_index == 2: with Li(class_="tab active"): - with Button(onclick=set_tab_2): + with Button(onclick=lambda: set_tab(2)): yield "⚙️ Settings" else: with Li(class_="tab"): - with Button(onclick=set_tab_2): + with Button(onclick=lambda: set_tab(2)): yield "⚙️ Settings" # Tab panes - match/case for clean switching