Files
JuridicBloc/client/navigation/ba.py
2026-06-13 21:46:37 +03:00

96 lines
3.4 KiB
Python

import flet as ft
from pages.documents.ba import Documents
from pages.settings.settings import Settings
class NavigationBA:
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 Custom",
)
self.articole_si_publicatii = ft.NavigationRailDestination(
icon=ft.Icons.ARTICLE_OUTLINED,
selected_icon=ft.Icons.ARTICLE,
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 = Documents(self.page, self.home)
return self.docs.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()
if e.control.selected_index == 1:
pass
if e.control.selected_index == 2:
self.settings = Settings(self.page, self)
self.home.placeholder.content = self.settings.build()
self.page.update() # Actualizează întreaga pagină inclusiv overlay-ul
if e.control.selected_index == 3:
await ft.SharedPreferences().clear()
self.page.session.store.clear()
self.page.go('/auth')