I want to build a chat app with flet
in python
.
For routing I defined a Router
class which handles all the routing. But I am not able to figure a way out for implementing dynamic routes such as "/:username"
.
How can I acheive dynamic routing in flet
without introducing a third party dependency?
router.py
import flet as ft
from routes.login import LoginPage
from routes.register import RegisterPage
from routes.home import HomePage
from routes.user_profile import UserProfilePage
class Router:
def __init__(self, page: ft.Page):
self.page = page
self.routes = {
"/login": LoginPage(page),
"/register": RegisterPage(page),
"/": HomePage(page),
"/:username": UserProfilePage(page)
}
self.body = ft.Container(
content=self.routes["/login"]
)
def change_route(self, event: ft.RouteChangeEvent):
self.body.content = self.routes[event.route]
self.body.content.init_page()
self.page.update()