Compare commits
No commits in common. "daa2126756a47ec7c89fa7317549bc7fd23c6742" and "eed70bf5ccf4cb0c97701556c91e19a10fbe4672" have entirely different histories.
daa2126756
...
eed70bf5cc
4 changed files with 8 additions and 69 deletions
|
@ -1,39 +1,15 @@
|
||||||
import flet as ft
|
import flet as ft
|
||||||
import configparser
|
|
||||||
from i18n import _
|
from i18n import _
|
||||||
from constants import *
|
from constants import *
|
||||||
from homeutils import RecentGradesColumn
|
from homeutils import RecentGradesColumn # Import the function from your new file
|
||||||
from utils import getconfigpath, getinitials
|
|
||||||
|
|
||||||
def HomePage():
|
def HomePage():
|
||||||
config = configparser.ConfigParser()
|
|
||||||
config.read(f"{getconfigpath()}/config.ini")
|
|
||||||
|
|
||||||
studentFullName = config['User']['fullName']
|
|
||||||
studentClass = config['User']['grade']
|
|
||||||
return ft.Column([
|
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.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.Row([
|
||||||
ft.Card(
|
ft.Card(
|
||||||
content=ft.Container(
|
content=ft.Container( # Timetable Card
|
||||||
content=ft.Column([
|
content=ft.Column([
|
||||||
ft.Row([
|
ft.Row([
|
||||||
ft.Icon(ft.Icons.BACKPACK_OUTLINED, size=32, color="#FFFFFF"),
|
ft.Icon(ft.Icons.BACKPACK_OUTLINED, size=32, color="#FFFFFF"),
|
||||||
|
@ -58,8 +34,8 @@ def HomePage():
|
||||||
),
|
),
|
||||||
|
|
||||||
ft.Card(
|
ft.Card(
|
||||||
content=ft.Container(
|
content=ft.Container( # Recent Grades Card
|
||||||
content=RecentGradesColumn(),
|
content=RecentGradesColumn(), # Use the imported function here
|
||||||
#margin=20,
|
#margin=20,
|
||||||
padding=10,
|
padding=10,
|
||||||
alignment=ft.alignment.top_left,
|
alignment=ft.alignment.top_left,
|
||||||
|
|
|
@ -1,26 +1,13 @@
|
||||||
import flet as ft
|
import flet as ft
|
||||||
from constants import *
|
from constants import *
|
||||||
from utils import setthemecolor, setlanguage, restart, logout
|
from utils import setthemecolor, setlanguage, restart
|
||||||
from i18n import _, set_language
|
from i18n import _, set_language
|
||||||
|
|
||||||
def SettingsPage(page):
|
def SettingsPage(page):
|
||||||
# Create the main container to hold everything
|
# Create the main container to hold everything
|
||||||
main_container = ft.Container()
|
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(
|
notification = ft.Container(
|
||||||
visible=False,
|
visible=False,
|
||||||
bgcolor=ft.colors.AMBER_100,
|
bgcolor=ft.colors.AMBER_100,
|
||||||
|
@ -116,12 +103,6 @@ def SettingsPage(page):
|
||||||
on_change=onthemechange
|
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
|
expand=True # Make this container expand to push the notification to the bottom
|
||||||
),
|
),
|
||||||
|
|
|
@ -32,7 +32,7 @@ class Lesson(BaseModel):
|
||||||
return Lesson(
|
return Lesson(
|
||||||
position = data["TimeSlot"]["Position"],
|
position = data["TimeSlot"]["Position"],
|
||||||
date = datetime.fromtimestamp(data["Date"]["Timestamp"] / 1000).date(),
|
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(),
|
start = datetime.strptime(data["TimeSlot"]["Start"], "%H:%M").time(),
|
||||||
end = datetime.strptime(data["TimeSlot"]["End"], "%H:%M").time(),
|
end = datetime.strptime(data["TimeSlot"]["End"], "%H:%M").time(),
|
||||||
subject = data["Subject"]["Name"] if data["Subject"] else data["Event"],
|
subject = data["Subject"]["Name"] if data["Subject"] else data["Event"],
|
||||||
|
|
20
src/utils.py
20
src/utils.py
|
@ -102,22 +102,4 @@ def get_current_month_dates():
|
||||||
next_month = today.replace(month=today.month + 1, day=1)
|
next_month = today.replace(month=today.month + 1, day=1)
|
||||||
end_date = next_month - timedelta(days=1)
|
end_date = next_month - timedelta(days=1)
|
||||||
|
|
||||||
return start_date.strftime("%Y-%m-%d"), end_date.strftime("%Y-%m-%d")
|
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)
|
|
Loading…
Add table
Reference in a new issue