mirror of
https://github.com/chillpadclub/bedolaga-cabinet.git
synced 2026-11-01 07:30:49 +00:00
feat(auth): чекбоксы согласия с офертой и политикой при первой авторизации
Новый пользователь попадал в кабинет молча — никаких документов ему не показывали. Теперь при создании аккаунта он подтверждает, что ознакомился с офертой и политикой. Набор документов и сам факт включения гейта приходят с бэка (GET /cabinet/info/legal-consent): там же учитывается, заполнены ли документы и видны ли они в вебе. Фронт знает только ключи и адреса публичных страниц /offer и /privacy — тех же, что уже линкует футер логина. Два пути входа устроены по-разному, поэтому и UI разный: - регистрация по email — чекбоксы прямо в форме, кнопка заблокирована до галочек; - Telegram-вход происходит сам собой, спрашивать заранее не у чего. Поэтому ловим 428 от бэка и показываем отдельный экран согласия, а замыкание помнит, какой именно вход повторить после простановки галочек. Тот же приём страхует и email-форму: конфиг мог протухнуть, если админ включил гейт между загрузкой страницы и отправкой. Неизвестный ключ документа всё равно рисуем (без ссылки): бэк его требует, и молча спрятанный чекбокс превратился бы в «кнопка не работает и непонятно почему». Локали ru/en/zh/fa.
This commit is contained in:
@@ -529,6 +529,14 @@ export interface TicketDetail extends Omit<Ticket, 'messages_count' | 'last_mess
|
||||
messages: TicketMessage[];
|
||||
}
|
||||
|
||||
// Гейт согласия с офертой/политикой на экране первой авторизации.
|
||||
// documents — ключи документов, которые бэк реально требует отметить.
|
||||
export interface LegalConsentConfig {
|
||||
required: boolean;
|
||||
prechecked: boolean;
|
||||
documents: string[];
|
||||
}
|
||||
|
||||
export interface SupportConfig {
|
||||
tickets_enabled: boolean;
|
||||
support_type: 'tickets' | 'profile' | 'url' | 'both';
|
||||
|
||||
Reference in New Issue
Block a user