35 lines
1.3 KiB
Python
35 lines
1.3 KiB
Python
|
import flet as ft
|
||
|
from urllib.parse import urlparse, parse_qs
|
||
|
from pages.main_page import main_page # Import main page function
|
||
|
from pages.login_page import login_page # Import login page function
|
||
|
from pages.register_teacher_page import register_teacher_page # Import register page function
|
||
|
from pages.register_student_page import register_student_page # Import search page function
|
||
|
from pages.create_page import create_page # Import create page function7
|
||
|
from pages.join_page import join_page
|
||
|
|
||
|
# Define your routes
|
||
|
ROUTES = {
|
||
|
"/": main_page,
|
||
|
"/login": login_page,
|
||
|
"/register_teacher": register_teacher_page,
|
||
|
"/register_student": register_student_page,
|
||
|
"/create": create_page,
|
||
|
"/join": join_page
|
||
|
}
|
||
|
|
||
|
def main(page: ft.Page):
|
||
|
def route_change(e: ft.RouteChangeEvent):
|
||
|
page.clean()
|
||
|
parsed_url = urlparse(e.route) # Parse the route
|
||
|
query_params = parse_qs(parsed_url.query) # Extract query parameters
|
||
|
|
||
|
|
||
|
|
||
|
render_function = ROUTES.get(parsed_url.path, main_page)
|
||
|
render_function(page)
|
||
|
|
||
|
page.on_route_change = route_change # Set up route change handling
|
||
|
page.go(page.route) # Navigate to the current route
|
||
|
|
||
|
if __name__ == "__main__":
|
||
|
ft.app(target=main, view=ft.AppView.WEB_BROWSER, port=9000)
|