Try implementing sidebar generation
This commit is contained in:
parent
aefcf5dec9
commit
969b63d002
3 changed files with 57 additions and 74 deletions
|
@ -7,12 +7,31 @@ class NavSection:
|
|||
def add_item(self, item):
|
||||
self.items.append(item)
|
||||
|
||||
def get_html(self):
|
||||
pass
|
||||
def get_html(self, active=None):
|
||||
html = f"""
|
||||
<!-- Heading -->
|
||||
<div class="sidebar-heading">{self.name}</div>
|
||||
"""
|
||||
|
||||
self.items.sort(key=lambda x: x.order)
|
||||
|
||||
for item in self.items:
|
||||
html += f"""
|
||||
<!-- Nav Item -->
|
||||
<li class="nav-item """ + ("active" if item.name == active else "") + f""">
|
||||
<a class="nav-link" href="{item.url}">
|
||||
<i class="{item.icon}"></i>
|
||||
<span>{item.name}</span>
|
||||
</a>
|
||||
</li>
|
||||
"""
|
||||
|
||||
return html
|
||||
|
||||
class NavItem:
|
||||
def __init__(self, name, url, icon="fas fa-fw fa-smile", title=None):
|
||||
def __init__(self, name, url, icon="fas fa-fw fa-smile", title=None, order=100):
|
||||
self.name = name
|
||||
self.url = url
|
||||
self.icon = icon
|
||||
self.title = title or name
|
||||
self.title = title or name
|
||||
self.order = order
|
Loading…
Add table
Add a link
Reference in a new issue