59 lines
2.0 KiB
Python
59 lines
2.0 KiB
Python
import flet as ft
|
|
import requests
|
|
from navigation.ba import NavigationBA
|
|
from navigation.user import NavigationUser
|
|
|
|
class Home:
|
|
def __init__(self, page: ft.Page):
|
|
self.page = page
|
|
self.user = self.page.session.store.get('user')
|
|
self.navigation_ba = NavigationBA(self.page, self)
|
|
self.navigation_user = NavigationUser(self.page, self)
|
|
|
|
self.placeholder = ft.Container(
|
|
content=self.build_documente_juridice(),
|
|
padding=10,
|
|
expand=True,
|
|
)
|
|
|
|
def build_destinations(self):
|
|
if self.user['role'] == 'user':
|
|
return self.navigation_user.build()
|
|
if self.user['role'] == 'ba':
|
|
return self.navigation_ba.build()
|
|
|
|
def build_documente_juridice(self):
|
|
if self.user['role'] == 'user':
|
|
return self.navigation_user.build_documente_juridice()
|
|
if self.user['role'] == 'ba':
|
|
return self.navigation_ba.build_documente_juridice()
|
|
|
|
async def on_nav_changed(self, e):
|
|
if self.user['role'] == 'user':
|
|
return await self.navigation_user.on_nav_change(e)
|
|
if self.user['role'] == 'ba':
|
|
return await self.navigation_ba.on_nav_change(e)
|
|
|
|
|
|
async def build(self):
|
|
return ft.Container(
|
|
content=ft.Row(
|
|
[
|
|
ft.NavigationRail(
|
|
selected_index=0,
|
|
label_type=ft.NavigationRailLabelType.ALL,
|
|
min_width=100,
|
|
min_extended_width=400,
|
|
leading=ft.Image(src='images/logo_juridic_block.png', width=100),
|
|
group_alignment=-0.9,
|
|
#extended=True,
|
|
destinations=self.build_destinations(),
|
|
on_change = self.on_nav_changed,
|
|
),
|
|
ft.VerticalDivider(width=1),
|
|
self.placeholder,
|
|
],
|
|
expand=True
|
|
),
|
|
expand=True
|
|
) |