Files
JuridicBloc/client/pages/dashboard/home.py

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
)