Nevermind everything was alright before rewrite
revert Rewrite of the entire codebase
This commit is contained in:
parent
56abbe1644
commit
c47fa9d46d
1 changed files with 523 additions and 95 deletions
612
main.py
612
main.py
|
@ -1,103 +1,505 @@
|
||||||
import flet as ft
|
import flet as ft
|
||||||
|
|
||||||
# Grade colors
|
# vars
|
||||||
GRADE_COLORS = {
|
grade1 = "#F44336"
|
||||||
1: "#F44336",
|
grade2 = "#FF9800"
|
||||||
2: "#FF9800",
|
grade3 = "#eebd00"
|
||||||
3: "#eebd00",
|
grade4 = "#4CAF50"
|
||||||
4: "#4CAF50",
|
grade5 = "#2196F3"
|
||||||
5: "#2196F3",
|
grade6 = "#9C27B0"
|
||||||
6: "#9C27B0",
|
gradeother = "#5D5D5D"
|
||||||
"other": "#5D5D5D"
|
|
||||||
}
|
|
||||||
|
|
||||||
SUBJECTS = [
|
|
||||||
"Matematyka", "Język polski", "Język Angielski",
|
|
||||||
"Informatyka", "Język Niemiecki", "Chemia"
|
|
||||||
]
|
|
||||||
|
|
||||||
NAV_ITEMS = [
|
|
||||||
(ft.Icons.HOME, "Home"),
|
|
||||||
(ft.Icons.LOOKS_6, "Grades"),
|
|
||||||
(ft.Icons.BACKPACK, "Timetable"),
|
|
||||||
(ft.Icons.BOOK, "Homework"),
|
|
||||||
(ft.Icons.CALENDAR_TODAY, "Exams"),
|
|
||||||
(ft.Icons.EVENT_NOTE, "Attendance"),
|
|
||||||
(ft.Icons.STICKY_NOTE_2, "Behaviour"),
|
|
||||||
(ft.Icons.SETTINGS, "Settings")
|
|
||||||
]
|
|
||||||
|
|
||||||
def main(page: ft.Page):
|
def main(page: ft.Page):
|
||||||
page.title = "Fuji"
|
page.title = "Fuji"
|
||||||
page.theme = ft.Theme(color_scheme_seed=ft.Colors.RED)
|
page.theme = ft.Theme(color_scheme_seed=ft.Colors.RED)
|
||||||
|
|
||||||
def create_grade_container(grade: int):
|
def changePage(index):
|
||||||
return ft.Container(
|
pages = [
|
||||||
content=ft.Text(str(grade)),
|
# Home page
|
||||||
margin=0,
|
ft.Column([
|
||||||
padding=0,
|
|
||||||
alignment=ft.alignment.center,
|
|
||||||
bgcolor=GRADE_COLORS.get(grade, GRADE_COLORS["other"]),
|
|
||||||
width=20,
|
|
||||||
height=20,
|
|
||||||
border_radius=5,
|
|
||||||
)
|
|
||||||
|
|
||||||
def create_subject_row(subject: str):
|
|
||||||
return ft.Row([
|
|
||||||
ft.Text(subject, size=16, weight="normal"),
|
|
||||||
*[create_grade_container(grade) for grade in range(6, 0, -1)]
|
|
||||||
])
|
|
||||||
|
|
||||||
def create_card(title: str, icon, content):
|
|
||||||
return ft.Container(
|
|
||||||
content=ft.Column([
|
|
||||||
ft.Row([
|
|
||||||
ft.Icon(icon, size=32, color="#FFFFFF"),
|
|
||||||
ft.Text(title, size=24, font_family="Roboto", weight="bold")
|
|
||||||
]),
|
|
||||||
ft.ListView(
|
|
||||||
controls=[content],
|
|
||||||
expand=True,
|
|
||||||
spacing=10,
|
|
||||||
padding=10,
|
|
||||||
auto_scroll=False
|
|
||||||
)
|
|
||||||
]),
|
|
||||||
margin=20,
|
|
||||||
padding=10,
|
|
||||||
alignment=ft.alignment.top_left,
|
|
||||||
bgcolor='#271D1C',
|
|
||||||
width=420,
|
|
||||||
height=270,
|
|
||||||
border_radius=10,
|
|
||||||
)
|
|
||||||
|
|
||||||
def change_page(index):
|
|
||||||
if index == 0: # Home Page
|
|
||||||
timetable_content = ft.Text("1. Lorem ipsum\n"*10, size=16, weight="normal")
|
|
||||||
grades_content = ft.Column([create_subject_row(subject) for subject in SUBJECTS])
|
|
||||||
|
|
||||||
return ft.Column([
|
|
||||||
ft.Text(" Home", size=30, weight="bold"),
|
ft.Text(" Home", size=30, weight="bold"),
|
||||||
ft.Text("\n", size=30, weight="bold"),
|
ft.Text("\n", size=30, weight="bold"),
|
||||||
ft.Row([
|
ft.Row([
|
||||||
create_card("Timetable", ft.Icons.BACKPACK_OUTLINED, timetable_content),
|
ft.Container( # Timetable Card
|
||||||
create_card("Recent Grades", ft.Icons.LOOKS_6_OUTLINED, grades_content)
|
content=ft.Column([
|
||||||
])
|
ft.Row([
|
||||||
])
|
ft.Icon(ft.Icons.BACKPACK_OUTLINED, size=32, color="#FFFFFF"),
|
||||||
|
ft.Text("Timetable", size=24, font_family="Roboto", weight="bold")
|
||||||
|
]),
|
||||||
|
ft.ListView(
|
||||||
|
controls=[
|
||||||
|
ft.Text("1. Lorem ipsum\n2. Lorem ipsum\n3. Lorem ipsum\n4. Im curious what happens if i ran out of space\n5. It just creates a new line\n6. No idea why i tested that\n7. I also want to test what happens if there is too much lines\n8. Lorem ipsum\n9. Yay now you can scroll\n10. Looks like dogshit but it works\n11. Simi simi jej simi jaj", size=16, weight="normal")
|
||||||
|
],
|
||||||
|
expand=True,
|
||||||
|
spacing=10,
|
||||||
|
padding=10,
|
||||||
|
auto_scroll=False
|
||||||
|
)
|
||||||
|
]),
|
||||||
|
margin=20,
|
||||||
|
padding=10,
|
||||||
|
alignment=ft.alignment.top_left,
|
||||||
|
bgcolor='#271D1C',
|
||||||
|
width=420,
|
||||||
|
height=270,
|
||||||
|
border_radius=10,
|
||||||
|
),
|
||||||
|
|
||||||
# Other pages
|
ft.Container( # Recent Grades Card
|
||||||
return ft.Column([
|
content=ft.Column([
|
||||||
ft.Text(f" {NAV_ITEMS[index][1]}", size=30, weight="bold"),
|
ft.Row([
|
||||||
])
|
ft.Icon(ft.Icons.LOOKS_6_OUTLINED, size=32, color="#FFFFFF"),
|
||||||
|
ft.Text("Recent Grades", size=24, font_family="Roboto", weight="bold")
|
||||||
|
]),
|
||||||
|
ft.ListView(
|
||||||
|
controls=[
|
||||||
|
ft.Row([
|
||||||
|
ft.Text("Matematyka", size=16, weight="normal"),
|
||||||
|
ft.Container(
|
||||||
|
content=ft.Text("6"),
|
||||||
|
margin=0,
|
||||||
|
padding=0,
|
||||||
|
alignment=ft.alignment.center,
|
||||||
|
bgcolor=grade6,
|
||||||
|
width=20,
|
||||||
|
height=20,
|
||||||
|
border_radius=5,
|
||||||
|
),
|
||||||
|
ft.Container(
|
||||||
|
content=ft.Text("5"),
|
||||||
|
margin=0,
|
||||||
|
padding=0,
|
||||||
|
alignment=ft.alignment.center,
|
||||||
|
bgcolor=grade5,
|
||||||
|
width=20,
|
||||||
|
height=20,
|
||||||
|
border_radius=5,
|
||||||
|
),
|
||||||
|
ft.Container(
|
||||||
|
content=ft.Text("4"),
|
||||||
|
margin=0,
|
||||||
|
padding=0,
|
||||||
|
alignment=ft.alignment.center,
|
||||||
|
bgcolor=grade4,
|
||||||
|
width=20,
|
||||||
|
height=20,
|
||||||
|
border_radius=5,
|
||||||
|
),
|
||||||
|
ft.Container(
|
||||||
|
content=ft.Text("3"),
|
||||||
|
margin=0,
|
||||||
|
padding=0,
|
||||||
|
alignment=ft.alignment.center,
|
||||||
|
bgcolor=grade3,
|
||||||
|
width=20,
|
||||||
|
height=20,
|
||||||
|
border_radius=5,
|
||||||
|
),
|
||||||
|
ft.Container(
|
||||||
|
content=ft.Text("2"),
|
||||||
|
margin=0,
|
||||||
|
padding=0,
|
||||||
|
alignment=ft.alignment.center,
|
||||||
|
bgcolor=grade2,
|
||||||
|
width=20,
|
||||||
|
height=20,
|
||||||
|
border_radius=5,
|
||||||
|
),
|
||||||
|
ft.Container(
|
||||||
|
content=ft.Text("1"),
|
||||||
|
margin=0,
|
||||||
|
padding=0,
|
||||||
|
alignment=ft.alignment.center,
|
||||||
|
bgcolor=grade1,
|
||||||
|
width=20,
|
||||||
|
height=20,
|
||||||
|
border_radius=5,
|
||||||
|
),
|
||||||
|
]),
|
||||||
|
ft.Row([
|
||||||
|
ft.Text("Język polski", size=16, weight="normal"),
|
||||||
|
ft.Container(
|
||||||
|
content=ft.Text("6"),
|
||||||
|
margin=0,
|
||||||
|
padding=0,
|
||||||
|
alignment=ft.alignment.center,
|
||||||
|
bgcolor=grade6,
|
||||||
|
width=20,
|
||||||
|
height=20,
|
||||||
|
border_radius=5,
|
||||||
|
),
|
||||||
|
ft.Container(
|
||||||
|
content=ft.Text("5"),
|
||||||
|
margin=0,
|
||||||
|
padding=0,
|
||||||
|
alignment=ft.alignment.center,
|
||||||
|
bgcolor=grade5,
|
||||||
|
width=20,
|
||||||
|
height=20,
|
||||||
|
border_radius=5,
|
||||||
|
),
|
||||||
|
ft.Container(
|
||||||
|
content=ft.Text("4"),
|
||||||
|
margin=0,
|
||||||
|
padding=0,
|
||||||
|
alignment=ft.alignment.center,
|
||||||
|
bgcolor=grade4,
|
||||||
|
width=20,
|
||||||
|
height=20,
|
||||||
|
border_radius=5,
|
||||||
|
),
|
||||||
|
ft.Container(
|
||||||
|
content=ft.Text("3"),
|
||||||
|
margin=0,
|
||||||
|
padding=0,
|
||||||
|
alignment=ft.alignment.center,
|
||||||
|
bgcolor=grade3,
|
||||||
|
width=20,
|
||||||
|
height=20,
|
||||||
|
border_radius=5,
|
||||||
|
),
|
||||||
|
ft.Container(
|
||||||
|
content=ft.Text("2"),
|
||||||
|
margin=0,
|
||||||
|
padding=0,
|
||||||
|
alignment=ft.alignment.center,
|
||||||
|
bgcolor=grade2,
|
||||||
|
width=20,
|
||||||
|
height=20,
|
||||||
|
border_radius=5,
|
||||||
|
),
|
||||||
|
ft.Container(
|
||||||
|
content=ft.Text("1"),
|
||||||
|
margin=0,
|
||||||
|
padding=0,
|
||||||
|
alignment=ft.alignment.center,
|
||||||
|
bgcolor=grade1,
|
||||||
|
width=20,
|
||||||
|
height=20,
|
||||||
|
border_radius=5,
|
||||||
|
),
|
||||||
|
]),
|
||||||
|
ft.Row([
|
||||||
|
ft.Text("Język Angielski", size=16, weight="normal"),
|
||||||
|
ft.Container(
|
||||||
|
content=ft.Text("6"),
|
||||||
|
margin=0,
|
||||||
|
padding=0,
|
||||||
|
alignment=ft.alignment.center,
|
||||||
|
bgcolor=grade6,
|
||||||
|
width=20,
|
||||||
|
height=20,
|
||||||
|
border_radius=5,
|
||||||
|
),
|
||||||
|
ft.Container(
|
||||||
|
content=ft.Text("5"),
|
||||||
|
margin=0,
|
||||||
|
padding=0,
|
||||||
|
alignment=ft.alignment.center,
|
||||||
|
bgcolor=grade5,
|
||||||
|
width=20,
|
||||||
|
height=20,
|
||||||
|
border_radius=5,
|
||||||
|
),
|
||||||
|
ft.Container(
|
||||||
|
content=ft.Text("4"),
|
||||||
|
margin=0,
|
||||||
|
padding=0,
|
||||||
|
alignment=ft.alignment.center,
|
||||||
|
bgcolor=grade4,
|
||||||
|
width=20,
|
||||||
|
height=20,
|
||||||
|
border_radius=5,
|
||||||
|
),
|
||||||
|
ft.Container(
|
||||||
|
content=ft.Text("3"),
|
||||||
|
margin=0,
|
||||||
|
padding=0,
|
||||||
|
alignment=ft.alignment.center,
|
||||||
|
bgcolor=grade3,
|
||||||
|
width=20,
|
||||||
|
height=20,
|
||||||
|
border_radius=5,
|
||||||
|
),
|
||||||
|
ft.Container(
|
||||||
|
content=ft.Text("2"),
|
||||||
|
margin=0,
|
||||||
|
padding=0,
|
||||||
|
alignment=ft.alignment.center,
|
||||||
|
bgcolor=grade2,
|
||||||
|
width=20,
|
||||||
|
height=20,
|
||||||
|
border_radius=5,
|
||||||
|
),
|
||||||
|
ft.Container(
|
||||||
|
content=ft.Text("1"),
|
||||||
|
margin=0,
|
||||||
|
padding=0,
|
||||||
|
alignment=ft.alignment.center,
|
||||||
|
bgcolor=grade1,
|
||||||
|
width=20,
|
||||||
|
height=20,
|
||||||
|
border_radius=5,
|
||||||
|
),
|
||||||
|
]),
|
||||||
|
ft.Row([
|
||||||
|
ft.Text("Informatyka", size=16, weight="normal"),
|
||||||
|
ft.Container(
|
||||||
|
content=ft.Text("6"),
|
||||||
|
margin=0,
|
||||||
|
padding=0,
|
||||||
|
alignment=ft.alignment.center,
|
||||||
|
bgcolor=grade6,
|
||||||
|
width=20,
|
||||||
|
height=20,
|
||||||
|
border_radius=5,
|
||||||
|
),
|
||||||
|
ft.Container(
|
||||||
|
content=ft.Text("5"),
|
||||||
|
margin=0,
|
||||||
|
padding=0,
|
||||||
|
alignment=ft.alignment.center,
|
||||||
|
bgcolor=grade5,
|
||||||
|
width=20,
|
||||||
|
height=20,
|
||||||
|
border_radius=5,
|
||||||
|
),
|
||||||
|
ft.Container(
|
||||||
|
content=ft.Text("4"),
|
||||||
|
margin=0,
|
||||||
|
padding=0,
|
||||||
|
alignment=ft.alignment.center,
|
||||||
|
bgcolor=grade4,
|
||||||
|
width=20,
|
||||||
|
height=20,
|
||||||
|
border_radius=5,
|
||||||
|
),
|
||||||
|
ft.Container(
|
||||||
|
content=ft.Text("3"),
|
||||||
|
margin=0,
|
||||||
|
padding=0,
|
||||||
|
alignment=ft.alignment.center,
|
||||||
|
bgcolor=grade3,
|
||||||
|
width=20,
|
||||||
|
height=20,
|
||||||
|
border_radius=5,
|
||||||
|
),
|
||||||
|
ft.Container(
|
||||||
|
content=ft.Text("2"),
|
||||||
|
margin=0,
|
||||||
|
padding=0,
|
||||||
|
alignment=ft.alignment.center,
|
||||||
|
bgcolor=grade2,
|
||||||
|
width=20,
|
||||||
|
height=20,
|
||||||
|
border_radius=5,
|
||||||
|
),
|
||||||
|
ft.Container(
|
||||||
|
content=ft.Text("1"),
|
||||||
|
margin=0,
|
||||||
|
padding=0,
|
||||||
|
alignment=ft.alignment.center,
|
||||||
|
bgcolor=grade1,
|
||||||
|
width=20,
|
||||||
|
height=20,
|
||||||
|
border_radius=5,
|
||||||
|
),
|
||||||
|
]),
|
||||||
|
ft.Row([
|
||||||
|
ft.Text("Język Niemiecki", size=16, weight="normal"),
|
||||||
|
ft.Container(
|
||||||
|
content=ft.Text("6"),
|
||||||
|
margin=0,
|
||||||
|
padding=0,
|
||||||
|
alignment=ft.alignment.center,
|
||||||
|
bgcolor=grade6,
|
||||||
|
width=20,
|
||||||
|
height=20,
|
||||||
|
border_radius=5,
|
||||||
|
),
|
||||||
|
ft.Container(
|
||||||
|
content=ft.Text("5"),
|
||||||
|
margin=0,
|
||||||
|
padding=0,
|
||||||
|
alignment=ft.alignment.center,
|
||||||
|
bgcolor=grade5,
|
||||||
|
width=20,
|
||||||
|
height=20,
|
||||||
|
border_radius=5,
|
||||||
|
),
|
||||||
|
ft.Container(
|
||||||
|
content=ft.Text("4"),
|
||||||
|
margin=0,
|
||||||
|
padding=0,
|
||||||
|
alignment=ft.alignment.center,
|
||||||
|
bgcolor=grade4,
|
||||||
|
width=20,
|
||||||
|
height=20,
|
||||||
|
border_radius=5,
|
||||||
|
),
|
||||||
|
ft.Container(
|
||||||
|
content=ft.Text("3"),
|
||||||
|
margin=0,
|
||||||
|
padding=0,
|
||||||
|
alignment=ft.alignment.center,
|
||||||
|
bgcolor=grade3,
|
||||||
|
width=20,
|
||||||
|
height=20,
|
||||||
|
border_radius=5,
|
||||||
|
),
|
||||||
|
ft.Container(
|
||||||
|
content=ft.Text("2"),
|
||||||
|
margin=0,
|
||||||
|
padding=0,
|
||||||
|
alignment=ft.alignment.center,
|
||||||
|
bgcolor=grade2,
|
||||||
|
width=20,
|
||||||
|
height=20,
|
||||||
|
border_radius=5,
|
||||||
|
),
|
||||||
|
ft.Container(
|
||||||
|
content=ft.Text("1"),
|
||||||
|
margin=0,
|
||||||
|
padding=0,
|
||||||
|
alignment=ft.alignment.center,
|
||||||
|
bgcolor=grade1,
|
||||||
|
width=20,
|
||||||
|
height=20,
|
||||||
|
border_radius=5,
|
||||||
|
),
|
||||||
|
]),
|
||||||
|
ft.Row([
|
||||||
|
ft.Text("Chemia", size=16, weight="normal"),
|
||||||
|
ft.Container(
|
||||||
|
content=ft.Text("6"),
|
||||||
|
margin=0,
|
||||||
|
padding=0,
|
||||||
|
alignment=ft.alignment.center,
|
||||||
|
bgcolor=grade6,
|
||||||
|
width=20,
|
||||||
|
height=20,
|
||||||
|
border_radius=5,
|
||||||
|
),
|
||||||
|
ft.Container(
|
||||||
|
content=ft.Text("5"),
|
||||||
|
margin=0,
|
||||||
|
padding=0,
|
||||||
|
alignment=ft.alignment.center,
|
||||||
|
bgcolor=grade5,
|
||||||
|
width=20,
|
||||||
|
height=20,
|
||||||
|
border_radius=5,
|
||||||
|
),
|
||||||
|
ft.Container(
|
||||||
|
content=ft.Text("4"),
|
||||||
|
margin=0,
|
||||||
|
padding=0,
|
||||||
|
alignment=ft.alignment.center,
|
||||||
|
bgcolor=grade4,
|
||||||
|
width=20,
|
||||||
|
height=20,
|
||||||
|
border_radius=5,
|
||||||
|
),
|
||||||
|
ft.Container(
|
||||||
|
content=ft.Text("3"),
|
||||||
|
margin=0,
|
||||||
|
padding=0,
|
||||||
|
alignment=ft.alignment.center,
|
||||||
|
bgcolor=grade3,
|
||||||
|
width=20,
|
||||||
|
height=20,
|
||||||
|
border_radius=5,
|
||||||
|
),
|
||||||
|
ft.Container(
|
||||||
|
content=ft.Text("2"),
|
||||||
|
margin=0,
|
||||||
|
padding=0,
|
||||||
|
alignment=ft.alignment.center,
|
||||||
|
bgcolor=grade2,
|
||||||
|
width=20,
|
||||||
|
height=20,
|
||||||
|
border_radius=5,
|
||||||
|
),
|
||||||
|
ft.Container(
|
||||||
|
content=ft.Text("1"),
|
||||||
|
margin=0,
|
||||||
|
padding=0,
|
||||||
|
alignment=ft.alignment.center,
|
||||||
|
bgcolor=grade1,
|
||||||
|
width=20,
|
||||||
|
height=20,
|
||||||
|
border_radius=5,
|
||||||
|
),
|
||||||
|
]),
|
||||||
|
],
|
||||||
|
expand=False,
|
||||||
|
spacing=10,
|
||||||
|
padding=10,
|
||||||
|
auto_scroll=False
|
||||||
|
)
|
||||||
|
]),
|
||||||
|
margin=20,
|
||||||
|
padding=10,
|
||||||
|
alignment=ft.alignment.top_left,
|
||||||
|
bgcolor='#271D1C',
|
||||||
|
width=420,
|
||||||
|
height=270,
|
||||||
|
border_radius=10,
|
||||||
|
),
|
||||||
|
]),
|
||||||
|
|
||||||
def update_content(e):
|
]),
|
||||||
main_container.content = change_page(e.control.selected_index)
|
|
||||||
|
# Grades page
|
||||||
|
ft.Column([
|
||||||
|
ft.Text(" Grades", size=30, weight="bold"),
|
||||||
|
]),
|
||||||
|
|
||||||
|
# Timetable page
|
||||||
|
ft.Column([
|
||||||
|
ft.Text(" Timetable", size=30, weight="bold"),
|
||||||
|
]),
|
||||||
|
|
||||||
|
# Homework page
|
||||||
|
ft.Column([
|
||||||
|
ft.Text(" Homework", size=30, weight="bold"),
|
||||||
|
]),
|
||||||
|
|
||||||
|
# Exams page
|
||||||
|
ft.Column([
|
||||||
|
ft.Text(" Exams", size=30, weight="bold"),
|
||||||
|
]),
|
||||||
|
|
||||||
|
# Attendance page
|
||||||
|
ft.Column([
|
||||||
|
ft.Text(" Attendance", size=30, weight="bold"),
|
||||||
|
]),
|
||||||
|
|
||||||
|
# Behaviour page
|
||||||
|
ft.Column([
|
||||||
|
ft.Text(" Behaviour Notes", size=30, weight="bold"),
|
||||||
|
]),
|
||||||
|
|
||||||
|
# Settings page
|
||||||
|
ft.Column([
|
||||||
|
ft.Text(" Settings", size=30, weight="bold"),
|
||||||
|
]),
|
||||||
|
]
|
||||||
|
return pages[index]
|
||||||
|
|
||||||
|
# Function to switch content
|
||||||
|
def update_content(index):
|
||||||
|
main_container.content = changePage(index)
|
||||||
page.update()
|
page.update()
|
||||||
|
|
||||||
|
# Initial content display container
|
||||||
|
main_container = ft.Container(
|
||||||
|
content=changePage(0),
|
||||||
|
expand=True,
|
||||||
|
)
|
||||||
|
|
||||||
# Navigation Rail
|
# Navigation Rail
|
||||||
nav_rail = ft.NavigationRail(
|
bar = ft.NavigationRail(
|
||||||
selected_index=0,
|
selected_index=0,
|
||||||
label_type=ft.NavigationRailLabelType.ALL,
|
label_type=ft.NavigationRailLabelType.ALL,
|
||||||
extended=False,
|
extended=False,
|
||||||
|
@ -106,15 +508,41 @@ def main(page: ft.Page):
|
||||||
group_alignment=0,
|
group_alignment=0,
|
||||||
destinations=[
|
destinations=[
|
||||||
ft.NavigationRailDestination(
|
ft.NavigationRailDestination(
|
||||||
icon=item[0]+"_OUTLINED",
|
icon=ft.Icons.HOME_OUTLINED, selected_icon=ft.Icons.HOME, label="Home"
|
||||||
selected_icon=item[0],
|
),
|
||||||
label=item[1]
|
ft.NavigationRailDestination(
|
||||||
) for item in NAV_ITEMS
|
icon=ft.Icons.LOOKS_6_OUTLINED, selected_icon=ft.Icons.LOOKS_6, label="Grades"
|
||||||
|
),
|
||||||
|
ft.NavigationRailDestination(
|
||||||
|
icon=ft.Icons.BACKPACK_OUTLINED, selected_icon=ft.Icons.BACKPACK, label="Timetable"
|
||||||
|
),
|
||||||
|
ft.NavigationRailDestination(
|
||||||
|
icon=ft.Icons.BOOK_OUTLINED, selected_icon=ft.Icons.BOOK, label="Homework"
|
||||||
|
),
|
||||||
|
ft.NavigationRailDestination(
|
||||||
|
icon=ft.Icons.CALENDAR_TODAY_OUTLINED, selected_icon=ft.Icons.CALENDAR_TODAY, label="Exams"
|
||||||
|
),
|
||||||
|
ft.NavigationRailDestination(
|
||||||
|
icon=ft.Icons.EVENT_NOTE_OUTLINED, selected_icon=ft.Icons.EVENT_NOTE, label="Attendance"
|
||||||
|
),
|
||||||
|
ft.NavigationRailDestination(
|
||||||
|
icon=ft.Icons.STICKY_NOTE_2_OUTLINED, selected_icon=ft.Icons.STICKY_NOTE_2, label="Behaviour"
|
||||||
|
),
|
||||||
|
ft.NavigationRailDestination(
|
||||||
|
icon=ft.Icons.SETTINGS_OUTLINED, selected_icon=ft.Icons.SETTINGS_ROUNDED, label="Settings"
|
||||||
|
),
|
||||||
],
|
],
|
||||||
on_change=update_content
|
on_change=lambda e: update_content(e.control.selected_index),
|
||||||
)
|
)
|
||||||
|
|
||||||
main_container = ft.Container(content=change_page(0), expand=True)
|
page.add(
|
||||||
page.add(ft.Row([nav_rail, main_container], expand=True))
|
ft.Row(
|
||||||
|
[
|
||||||
|
bar,
|
||||||
|
main_container,
|
||||||
|
],
|
||||||
|
expand=True,
|
||||||
|
)
|
||||||
|
)
|
||||||
|
|
||||||
ft.app(main)
|
ft.app(main)
|
Loading…
Add table
Reference in a new issue