98 lines
3.6 KiB
Python
98 lines
3.6 KiB
Python
import flet as ft
|
|
from pages.documents.home import DocumentsHome
|
|
from pages.publications.articles import Articles as ClientArticlesPage
|
|
|
|
class NavigationUser:
|
|
def __init__(self, page: ft.Page, home):
|
|
self.page = page
|
|
self.home = home
|
|
|
|
self.documente_juridice = ft.NavigationRailDestination(
|
|
icon=ft.Icons.BALANCE_OUTLINED,
|
|
selected_icon=ft.Icons.BALANCE,
|
|
label="Documente Juridice",
|
|
)
|
|
self.articole_si_publicatii = ft.NavigationRailDestination(
|
|
icon=ft.Icons.MENU_BOOK_OUTLINED, # Icon mai potrivit pentru articole/blog
|
|
selected_icon=ft.Icons.MENU_BOOK,
|
|
label="Articole si Publicatii",
|
|
)
|
|
self.comunicare = ft.NavigationRailDestination(
|
|
icon=ft.Icons.CHAT_BUBBLE_OUTLINE,
|
|
selected_icon=ft.Icons.CHAT,
|
|
label=ft.Text("Comunicare"),
|
|
)
|
|
self.consultanta = ft.NavigationRailDestination(
|
|
icon=ft.Icons.HANDSHAKE_OUTLINED,
|
|
selected_icon=ft.Icons.HANDSHAKE,
|
|
label=ft.Text("Consultanta"),
|
|
)
|
|
self.convocator = ft.NavigationRailDestination(
|
|
icon=ft.Icons.BUSINESS_OUTLINED,
|
|
selected_icon=ft.Icons.BUSINESS,
|
|
label=ft.Text("Convocator"),
|
|
)
|
|
self.licitatii_si_lucrari = ft.NavigationRailDestination(
|
|
icon=ft.Icons.ASSIGNMENT_TURNED_IN_OUTLINED,
|
|
selected_icon=ft.Icons.ASSIGNMENT_TURNED_IN,
|
|
label=ft.Text("Licitatii si Lucrari"),
|
|
)
|
|
self.profil = ft.NavigationRailDestination(
|
|
icon=ft.Icons.ACCOUNT_BOX_OUTLINED,
|
|
selected_icon=ft.Icons.ACCOUNT_BOX,
|
|
label=ft.Text("Profil"),
|
|
)
|
|
self.abonamente = ft.NavigationRailDestination(
|
|
icon=ft.Icons.REPEAT_OUTLINED,
|
|
selected_icon=ft.Icons.REPEAT_ON,
|
|
label=ft.Text("Abonamente"),
|
|
)
|
|
self.setari = ft.NavigationRailDestination(
|
|
icon=ft.Icons.SETTINGS_OUTLINED,
|
|
selected_icon=ft.Icons.SETTINGS,
|
|
label=ft.Text("Setari"),
|
|
)
|
|
self.logout = ft.NavigationRailDestination(
|
|
icon=ft.Icons.LOGOUT_OUTLINED,
|
|
selected_icon=ft.Icons.LOGOUT,
|
|
label=ft.Text("Deconectare"),
|
|
)
|
|
|
|
def build(self):
|
|
return [
|
|
self.documente_juridice,
|
|
self.articole_si_publicatii,
|
|
self.comunicare,
|
|
self.consultanta,
|
|
self.convocator,
|
|
self.licitatii_si_lucrari,
|
|
self.profil,
|
|
self.abonamente,
|
|
self.setari,
|
|
self.logout
|
|
]
|
|
|
|
def build_documente_juridice(self):
|
|
self.docs = DocumentsHome(self.page, self.home)
|
|
return self.docs.build()
|
|
|
|
def build_articole_si_publicatii_client(self):
|
|
self.articles_page = ClientArticlesPage(self.page, self.home)
|
|
return self.articles_page.build()
|
|
|
|
async def on_nav_change(self, e):
|
|
print( "Selected destination:", e.control.selected_index)
|
|
if e.control.selected_index == 0:
|
|
self.home.placeholder.content = self.build_documente_juridice()
|
|
self.page.update()
|
|
elif e.control.selected_index == 1: # Index for Articole si Publicatii
|
|
self.home.placeholder.content = self.build_articole_si_publicatii_client()
|
|
self.page.update()
|
|
|
|
if e.control.selected_index == 2:
|
|
pass
|
|
|
|
if e.control.selected_index == 9:
|
|
await ft.SharedPreferences().clear()
|
|
self.page.session.store.clear()
|
|
self.page.go('/auth') |