MaterialSB/Example_Sidenav.sb
2026-01-24 21:36:45 +01:00

64 lines
2.3 KiB
Plaintext

; MaterialSB Example - Sidenav
; This example demonstrates the sidenav component.
IncludeFile "MaterialSB.sbi"
EnableExplicit
Procedure Main(Result)
Protected t, sidenav
UseModule MaterialSB
SetDarkTheme(#False)
; Create navbar with sidenav trigger
Navbar(#Navbar_Shadow1 | #Navbar_Container)
NavbarAddSidenavTrigger("main-sidenav")
NavbarAddLogo("Sidenav")
; Create sidenav (must be outside navbar per Materialize rules)
sidenav = Sidenav()
SetAttribute(sidenav, "id", "main-sidenav")
SidenavAddUserView("John Doe", "john@example.com", "", "")
SidenavAddLink("Home", "#", "home")
SidenavAddLink("Settings", "#settings", "settings")
SidenavAddDivider()
SidenavAddSubheader("Categories")
SidenavAddLink("Music", "#music", "music_note")
SidenavAddLink("Photos", "#photos", "photo")
Init(sidenav, #Null)
; Content
Row(#Grid_Container)
Col(12)
Append("<h3>Sidenav Component</h3>")
Append("<p>The sidenav provides a slide-out navigation panel. On mobile devices, click the hamburger menu icon to open it.</p>")
Append("<h5>Sidenav Flags</h5>")
t = Table("Flag", #Table_Striped | #Table_Highlight)
TableAddColumn("Description", t)
TableAddItem("#Sidenav_Default" + Chr(10) + "Standard sidenav", t)
TableAddItem("#Sidenav_Fixed" + Chr(10) + "Always visible on large screens", t)
TableAddItem("#Sidenav_Right" + Chr(10) + "Opens from the right side", t)
TableAddItem("#Sidenav_CloseOnClick" + Chr(10) + "Closes when a link is clicked", t)
Append("<br>")
Append("<h5>Available Functions</h5>")
Append("<ul>")
Append("<li><code>Sidenav(Flags)</code> - Create the sidenav container</li>")
Append("<li><code>SidenavAddLink(Text, Link, Icon)</code> - Add a navigation link with optional Material Icon</li>")
Append("<li><code>SidenavAddDivider()</code> - Add a horizontal divider</li>")
Append("<li><code>SidenavAddSubheader(Text)</code> - Add a section subheader</li>")
Append("<li><code>SidenavAddUserView(Name, Email, AvatarPath, BackgroundPath)</code> - Add a user profile section</li>")
Append("</ul>")
CloseCurrentParent(2)
AutoInit()
UnuseModule MaterialSB
EndProcedure
MaterialSB::Download(@Main())