242 lines
13 KiB
Python
242 lines
13 KiB
Python
import flet as ft
|
||
|
||
class clolors:
|
||
background = "#C8B1E4"
|
||
laer1 = "#9B72CF"
|
||
laer2 = "#532B88"
|
||
laer3 = "#2F184B"
|
||
ferst = "#F4EFFA"
|
||
|
||
|
||
|
||
class CastomTextField_input(ft.TextField):
|
||
def __init__(self, on_change, on_submit, label="Ваше имя", hint_text="Введите текст...", prefix_icon=None, suffix_icon=None):
|
||
super().__init__(
|
||
label=label,
|
||
hint_text=hint_text,
|
||
filled=True, # заливка фона
|
||
bgcolor=clolors.ferst, # цвет заливки
|
||
border_color=clolors.laer2, # цвет границы
|
||
border_radius=12, # скругление углов
|
||
label_style=ft.TextStyle(
|
||
color=clolors.laer3,
|
||
weight=ft.FontWeight.BOLD,
|
||
),
|
||
hint_style=ft.TextStyle(
|
||
color=clolors.laer1,
|
||
italic=True,
|
||
),
|
||
text_style=ft.TextStyle(
|
||
color=clolors.laer3,
|
||
size=16,
|
||
),
|
||
prefix_icon=prefix_icon,
|
||
suffix_icon=suffix_icon,
|
||
on_change=on_change,
|
||
on_submit=on_submit,
|
||
)
|
||
|
||
class CastomButton(ft.Button):
|
||
def __init__(self, text, on_click):
|
||
super().__init__(
|
||
text,
|
||
style=ft.ButtonStyle(
|
||
color=clolors.ferst,
|
||
bgcolor=clolors.laer1,
|
||
text_style=ft.TextStyle(
|
||
size=14
|
||
)
|
||
),
|
||
on_click=on_click
|
||
)
|
||
|
||
class CastomSwitch(ft.Switch):
|
||
def __init__(self, label, on_change):
|
||
super().__init__(
|
||
label=label,
|
||
width=400,
|
||
label_text_style=ft.TextStyle(size=14, color=clolors.ferst),
|
||
active_color=clolors.ferst,
|
||
active_track_color=clolors.laer1,
|
||
inactive_thumb_color=clolors.laer2,
|
||
inactive_track_color=clolors.laer3,
|
||
on_change=on_change
|
||
)
|
||
|
||
|
||
class AlterDiaalogApproval(ft.AlertDialog):
|
||
def __init__(self):
|
||
|
||
self.switch_approval = CastomSwitch(
|
||
label="Я согласен с условиями пользовательского соглашения",
|
||
on_change=self.switch_changed
|
||
)
|
||
|
||
self.button_approval = CastomButton(
|
||
text="Принять",
|
||
on_click=self.accept
|
||
)
|
||
|
||
super().__init__(
|
||
title=ft.Text("Пользовательское соглашение"),
|
||
content=ft.Column(
|
||
width=400,
|
||
height=600,
|
||
scroll="auto",
|
||
controls=[
|
||
ft.Markdown(
|
||
"""
|
||
# ПОЛЬЗОВАТЕЛЬСКОЕ СОГЛАШЕНИЕ
|
||
|
||
## 1. ОБЩИЕ ПОЛОЖЕНИЯ
|
||
|
||
Настоящее Пользовательское соглашение (далее — «Соглашение») регулирует отношения между администрацией сайта https://copp74.ru (далее — «Сайт», «Мы», «Администрация») и пользователем (далее — «Пользователь», «Вы»).
|
||
|
||
Используя Сайт, Вы автоматически соглашаетесь со всеми условиями настоящего Соглашения. Если Вы не согласны с этими условиями, пожалуйста, не используйте Сайт.
|
||
|
||
## 2. ОПИСАНИЕ САЙТА
|
||
|
||
Сайт https://copp74.ru представляет собой онлайн-платформу для прохождения тестов и проверки знаний. Основная функция Сайта — предоставление Пользователям возможности проходить различные тесты и получать результаты.
|
||
|
||
## 3. РЕГИСТРАЦИЯ И ЛИЧНЫЕ ДАННЫЕ
|
||
|
||
### 3.1 Регистрация
|
||
|
||
Для использования Сайта Пользователь должен зарегистрироваться и указать следующую информацию:
|
||
- Фамилию
|
||
- Имя
|
||
- Учебное заведение (образовательную организацию)
|
||
|
||
### 3.2 Назначение личных данных
|
||
|
||
Указанные фамилия, имя и учебное заведение используются исключительно для:
|
||
- Идентификации Пользователя в системе
|
||
- Отображения результатов тестирования
|
||
- Ведения статистики прохождения тестов
|
||
- Организации пользователей по учебным заведениям для аналитики
|
||
- Внутреннего анализа и улучшения качества тестирования
|
||
|
||
### 3.3 Защита личных данных
|
||
|
||
**Мы гарантируем, что Ваши персональные данные (фамилия, имя и информация об учебном заведении):**
|
||
- Не будут переданы третьим лицам или организациям без Вашего согласия
|
||
- Не будут использованы в коммерческих целях
|
||
- Не будут распространяться без Вашего согласия
|
||
- Хранятся в защищенной базе данных
|
||
|
||
Данные будут удалены в соответствии с законодательством Российской Федерации по защите персональных данных при закрытии аккаунта или по запросу Пользователя.
|
||
|
||
## 4. ПРАВА И ОБЯЗАННОСТИ ПОЛЬЗОВАТЕЛЯ
|
||
|
||
### 4.1 Права Пользователя
|
||
|
||
Пользователь имеет право:
|
||
- Проходить тесты, размещенные на Сайте
|
||
- Получать результаты своего тестирования
|
||
- Запросить удаление своего аккаунта и данных
|
||
- Обратиться в поддержку по вопросам использования Сайта
|
||
- Получить информацию о том, как его данные обрабатываются
|
||
|
||
### 4.2 Обязанности Пользователя
|
||
|
||
Пользователь обязуется:
|
||
- Предоставлять достоверную информацию при регистрации
|
||
- Указывать корректное название учебного заведения
|
||
- Не использовать Сайт в противоправных целях
|
||
- Не пытаться получить несанкционированный доступ к системам Сайта
|
||
- Не воспроизводить, не копировать и не распространять содержимое Сайта без разрешения
|
||
- Соблюдать все применимые законы Российской Федерации
|
||
|
||
## 5. ОГРАНИЧЕНИЕ ОТВЕТСТВЕННОСТИ
|
||
|
||
### 5.1 Предоставление Сайта «Как есть»
|
||
|
||
Сайт предоставляется в режиме «как есть» без каких-либо явных или подразумеваемых гарантий. Администрация не гарантирует:
|
||
- Непрерывную работу Сайта
|
||
- Отсутствие ошибок в тестах или результатах
|
||
- Соответствие Сайта конкретным целям Пользователя
|
||
|
||
### 5.2 Ограничение ответственности
|
||
|
||
В максимальной степени, допускаемой законодательством Российской Федерации, Администрация не несет ответственность за:
|
||
- Убытки, возникшие в результате использования или невозможности использования Сайта
|
||
- Технические сбои, потерю данных
|
||
- Ущерб, причиненный прямо или косвенно в связи с использованием Сайта
|
||
|
||
## 6. ИНТЕЛЛЕКТУАЛЬНАЯ СОБСТВЕННОСТЬ
|
||
|
||
Все содержимое Сайта, включая тесты, вопросы, задания, дизайн, логотипы и тексты, защищено авторским правом и законами об интеллектуальной собственности Российской Федерации. Пользователь не имеет права использовать это содержимое в коммерческих целях без письменного разрешения Администрации.
|
||
|
||
## 7. ИЗМЕНЕНИЕ СОГЛАШЕНИЯ
|
||
|
||
Администрация оставляет за собой право изменять условия настоящего Соглашения в любое время. Изменения вступают в силе с момента их публикации на Сайте. Продолжение использования Сайта после публикации изменений означает согласие Пользователя с новыми условиями.
|
||
|
||
## 8. ПРЕКРАЩЕНИЕ ДОСТУПА
|
||
|
||
Администрация может заблокировать доступ Пользователя к Сайту без предварительного уведомления, если:
|
||
- Пользователь нарушает условия настоящего Соглашения
|
||
- Пользователь использует Сайт в противоправных целях
|
||
- Пользователь предоставил поддельную информацию при регистрации
|
||
|
||
## 9. КОНФИДЕНЦИАЛЬНОСТЬ
|
||
|
||
Пожалуйста, ознакомьтесь с нашей Политикой конфиденциальности, которая описывает, как мы обращаемся с Вашими личными данными и какие меры безопасности мы применяем.
|
||
|
||
## 10. ПРИМЕНИМОЕ ПРАВО
|
||
|
||
Настоящее Соглашение регулируется законодательством Российской Федерации. Все споры, возникающие в связи с Соглашением, подлежат разрешению в судах Российской Федерации.
|
||
|
||
## 11. КОНТАКТНАЯ ИНФОРМАЦИЯ
|
||
|
||
Если у Вас есть вопросы по данному Соглашению или функционированию Сайта https://copp74.ru, свяжитесь с нами через форму обратной связи на Сайте.
|
||
|
||
## 12. ЗАКЛЮЧИТЕЛЬНЫЕ ПОЛОЖЕНИЯ
|
||
|
||
Если какая-либо часть настоящего Соглашения будет признана недействительной, остальные положения остаются в полной силе.
|
||
|
||
Пользователь подтверждает, что прочитал, понял и согласен со всеми условиями настоящего Соглашения перед использованием Сайта.
|
||
|
||
**Дата последнего обновления:** 19.03.2026
|
||
|
||
---
|
||
|
||
*Соглашение соответствует законодательству Российской Федерации, включая Федеральный закон «О защите персональных данных» и Федеральный закон «О защите прав потребителей».*
|
||
""",
|
||
width=400,
|
||
)
|
||
]
|
||
),
|
||
actions=[
|
||
ft.Column(
|
||
width=400,
|
||
horizontal_alignment=ft.CrossAxisAlignment.CENTER,
|
||
controls=[
|
||
ft.Row(
|
||
expand=True,
|
||
alignment=ft.MainAxisAlignment.START,
|
||
controls=[
|
||
self.switch_approval,
|
||
]
|
||
),
|
||
ft.Row(
|
||
expand=True,
|
||
alignment=ft.MainAxisAlignment.CENTER,
|
||
controls=[
|
||
self.button_approval,
|
||
]
|
||
)
|
||
]
|
||
)
|
||
],
|
||
actions_alignment=ft.MainAxisAlignment.CENTER,
|
||
)
|
||
|
||
def switch_changed(self, e):
|
||
#self.switch_approval.value = not e.control.value
|
||
self.button_approval.disabled = not e.control.value
|
||
self.update()
|
||
|
||
def accept(self, e):
|
||
self.dialog_result = True
|
||
self.open = False
|
||
self.page.update() |