48 lines
1.5 KiB
Python
48 lines
1.5 KiB
Python
import flet as ft
|
|
import designer as ds
|
|
from views.content_users.poll_page import PollPage
|
|
|
|
|
|
class PollView(ft.View):
|
|
def __init__(self, page: ft.Page, poll_id: str):
|
|
url_key = page.session.store.get("url_key") or ""
|
|
|
|
back_btn = ft.IconButton(
|
|
icon=ft.Icons.ARROW_BACK,
|
|
icon_color=ds.clolors.ferst,
|
|
on_click=lambda _: page.go(f"/take_test/{url_key}"),
|
|
)
|
|
|
|
self._content = PollPage(page, poll_id)
|
|
|
|
super().__init__(
|
|
route=f"/poll/{url_key}/{poll_id}",
|
|
bgcolor=ds.clolors.background,
|
|
padding=ft.padding.symmetric(horizontal=12, vertical=8),
|
|
horizontal_alignment=ft.CrossAxisAlignment.STRETCH,
|
|
vertical_alignment=ft.MainAxisAlignment.START,
|
|
scroll=ft.ScrollMode.AUTO,
|
|
controls=[
|
|
ft.Column(
|
|
expand=True,
|
|
spacing=10,
|
|
controls=[
|
|
ft.Row(
|
|
controls=[
|
|
back_btn,
|
|
ds.CastomText(
|
|
text="Прохождение теста",
|
|
size=22,
|
|
weight=ft.FontWeight.BOLD,
|
|
),
|
|
]
|
|
),
|
|
self._content,
|
|
],
|
|
)
|
|
],
|
|
)
|
|
|
|
async def load(self):
|
|
await self._content.load()
|