diff --git a/src/pages/home.py b/src/pages/home.py index 5139245..ef9939f 100644 --- a/src/pages/home.py +++ b/src/pages/home.py @@ -1,39 +1,15 @@ import flet as ft -import configparser from i18n import _ from constants import * -from homeutils import RecentGradesColumn -from utils import getconfigpath, getinitials +from homeutils import RecentGradesColumn # Import the function from your new file def HomePage(): - config = configparser.ConfigParser() - config.read(f"{getconfigpath()}/config.ini") - - studentFullName = config['User']['fullName'] - studentClass = config['User']['grade'] return ft.Column([ ft.Text((_("Home")), size=30, weight="bold"), ft.Text("\n", size=30, weight="bold"), - ft.Card( - content=ft.Container( - content=ft.Column( - controls=[ - ft.ListTile( - leading=ft.CircleAvatar( - content=ft.Text(getinitials(studentFullName)), - ), - title=ft.Text(studentFullName), - subtitle=ft.Text(studentClass), - ), - ] - ), - width=400, - padding=10 - ), - ), ft.Row([ ft.Card( - content=ft.Container( + content=ft.Container( # Timetable Card content=ft.Column([ ft.Row([ ft.Icon(ft.Icons.BACKPACK_OUTLINED, size=32, color="#FFFFFF"), @@ -58,8 +34,8 @@ def HomePage(): ), ft.Card( - content=ft.Container( - content=RecentGradesColumn(), + content=ft.Container( # Recent Grades Card + content=RecentGradesColumn(), # Use the imported function here #margin=20, padding=10, alignment=ft.alignment.top_left, diff --git a/src/pages/settings.py b/src/pages/settings.py index 1021952..7b5531a 100644 --- a/src/pages/settings.py +++ b/src/pages/settings.py @@ -1,26 +1,13 @@ import flet as ft from constants import * -from utils import setthemecolor, setlanguage, restart, logout +from utils import setthemecolor, setlanguage, restart from i18n import _, set_language def SettingsPage(page): # Create the main container to hold everything main_container = ft.Container() - - def handle_logout(e): - logout() - restart(e.page) - logout_modal = ft.AlertDialog( - modal=True, - title=ft.Text(_("Logout")), - content=ft.Text(_("Do you want to logout?")), - actions=[ - ft.TextButton("Yes", on_click=handle_logout), - ft.TextButton("No", on_click=lambda e: page.close(logout_modal)), - ], - actions_alignment=ft.MainAxisAlignment.END, - ) + # Create a custom notification that we'll show/hide notification = ft.Container( visible=False, bgcolor=ft.colors.AMBER_100, @@ -116,12 +103,6 @@ def SettingsPage(page): on_change=onthemechange ) ]), - ft.Row([ - ft.ElevatedButton( - _("Logout"), - on_click=lambda e: page.open(logout_modal) - ), - ]), ]), expand=True # Make this container expand to push the notification to the bottom ), diff --git a/src/sdk/src/models/lesson.py b/src/sdk/src/models/lesson.py index df24fa5..e47dac4 100644 --- a/src/sdk/src/models/lesson.py +++ b/src/sdk/src/models/lesson.py @@ -32,7 +32,7 @@ class Lesson(BaseModel): return Lesson( position = data["TimeSlot"]["Position"], date = datetime.fromtimestamp(data["Date"]["Timestamp"] / 1000).date(), - room = data["Room"]["Code"] if data.get("Room") else None, + room = data["Room"]["Code"], start = datetime.strptime(data["TimeSlot"]["Start"], "%H:%M").time(), end = datetime.strptime(data["TimeSlot"]["End"], "%H:%M").time(), subject = data["Subject"]["Name"] if data["Subject"] else data["Event"], diff --git a/src/utils.py b/src/utils.py index 57b07a8..8155825 100644 --- a/src/utils.py +++ b/src/utils.py @@ -102,22 +102,4 @@ def get_current_month_dates(): next_month = today.replace(month=today.month + 1, day=1) end_date = next_month - timedelta(days=1) - return start_date.strftime("%Y-%m-%d"), end_date.strftime("%Y-%m-%d") - -def getinitials(full_name): - initials = ''.join([part[0].upper() for part in full_name.split()]) - return initials - -def logout(): - config = configparser.ConfigParser() - config.read(f"{getconfigpath()}/config.ini") - config["Settings"]["islogged"] = "False" - config["User"]["fullname"] = "" - config["User"]["grade"] = "" - config["User"]["semester"] = "1" - - if os.path.exists("database.db"): - os.remove("database.db") - - with open(f"{getconfigpath()}/config.ini", "w") as file: - config.write(file) \ No newline at end of file + return start_date.strftime("%Y-%m-%d"), end_date.strftime("%Y-%m-%d") \ No newline at end of file