rename users
This commit is contained in:
32
web/view.py
32
web/view.py
@@ -1,14 +1,20 @@
|
||||
import flet as ft
|
||||
from views import main_view, login_view, reg_view, user_view
|
||||
from views import main_view, login_view, reg_view, user_view, take_test_view, poll_view, my_tests_view, response_view, profile_view
|
||||
|
||||
PUBLIC_ROUTES = {"/login", "/reg"}
|
||||
|
||||
# Маршруты вида /prefix/{url_key}/... — первый сегмент после prefix = url_key
|
||||
PROTECTED_PREFIXES = (
|
||||
"/user/",
|
||||
"/take_test/",
|
||||
"/poll/",
|
||||
"/my_tests/",
|
||||
"/response/",
|
||||
"/profile/",
|
||||
)
|
||||
|
||||
|
||||
def resolve_view(page: ft.Page, route: str) -> list[ft.View] | None:
|
||||
"""
|
||||
Возвращает список вью для заданного маршрута или None если маршрут неизвестен.
|
||||
Flet использует page.views как стек: последний элемент — активный экран.
|
||||
"""
|
||||
if route == "/login":
|
||||
return [login_view.LoginView(page)]
|
||||
elif route == "/reg":
|
||||
@@ -17,4 +23,20 @@ def resolve_view(page: ft.Page, route: str) -> list[ft.View] | None:
|
||||
return [main_view.MainView()]
|
||||
elif route.startswith("/user/"):
|
||||
return [user_view.UserView(page)]
|
||||
elif route.startswith("/take_test/"):
|
||||
return [take_test_view.TakeTestView(page)]
|
||||
elif route.startswith("/my_tests/"):
|
||||
return [my_tests_view.MyTestsView(page)]
|
||||
elif route.startswith("/poll/"):
|
||||
# /poll/{url_key}/{poll_id}
|
||||
parts = route.strip("/").split("/")
|
||||
poll_id = parts[-1] if len(parts) >= 3 else ""
|
||||
return [poll_view.PollView(page, poll_id)]
|
||||
elif route.startswith("/response/"):
|
||||
# /response/{url_key}/{response_id}
|
||||
parts = route.strip("/").split("/")
|
||||
response_id = parts[-1] if len(parts) >= 3 else ""
|
||||
return [response_view.ResponseView(page, response_id)]
|
||||
elif route.startswith("/profile/"):
|
||||
return [profile_view.ProfileView(page)]
|
||||
return None
|
||||
|
||||
Reference in New Issue
Block a user