Перейти к содержимому

Профиль

Страница состоит из двух вкладок: «Основное» (/profile), «Безопасность» (/profile/security). Каждая вкладка — отдельный URL, переключаются через табы в шапке страницы.

Кнопка выхода из аккаунта находится не на самой странице профиля, а в сайдбаре — в блоке пользователя рядом со ссылками «Профиль» и «Уведомления». Клик по «Выйти» сразу разлогинивает — без диалога с дополнительным подтверждением.

Навигация страницы и их описание {#navigaciya-stranicy-i-ih-opisanie}

Заголовок раздела «Навигация страницы и их описание {#navigaciya-stranicy-i-ih-opisanie}»

Чтобы увидеть описание, надо переключать вкладки

{% list tabs %}

  • Основное

    Вкладка по умолчанию (/profile). Поля, сверху вниз:

    1. Аватар — загрузка только через системный диалог выбора файла (кнопка «Заменить»), без drag-and-drop. Превью аватара — квадрат со скругленными углами. Максимальный размер файла — 10 Мб, допустимые типы: jpeg, png, gif, webp, svg, pdf, pptx, odp (список общий с другими загрузками в админке, для аватара по факту используются изображения). Файл заливается на сервер сразу после выбора, не дожидаясь кнопки «Сохранить». Если аватар уже есть — рядом с «Заменить» есть кнопка «Удалить», но реальное удаление применяется только после клика на общую кнопку «Сохранить» (до этого превью просто пропадает визуально).

    2. Имя, фамилия — обязательные текстовые поля. Отчество — необязательное.

    3. Email — редактируется прямо в этом поле, без отдельной верификации кодом (в отличие от ЛК партнёра). При смене email, если адрес уже занят другим админом — ошибка «Пользователь с таким email уже есть». Смена email не инвалидирует сессии.

    4. Полей username и юридического статуса на этой вкладке и во всей админке нет — у админа нет вкладки «Юридический статус».

    Кнопка «Сохранить» отправляет имя, фамилию, отчество, email и аватар одним запросом и блокируется на время сохранения. После успешного сохранения — toast «Профиль успешно обновлен».

    Ошибки:

    • Недопустимый тип или размер файла аватара — toast с текстом от сервера
    • Некорректный или пустой email — ошибка валидации от сервера
    • Пустое имя или фамилия — ошибка валидации от сервера
    • Email занят другим аккаунтом — «Пользователь с таким email уже есть»
    • Любая другая ошибка сервера при сохранении — toast с текстом от сервера

    https://wiki.yandex.ru/homepage/dizajjn-dokumentacija/

  • Безопасность

    Вкладка по URL /profile/security. Содержит только блок смены пароля:

    1. Инпут «Текущий пароль»

    2. Инпут «Новый пароль»

    На фронте поля не проверяются вообще (нет дизейбла кнопки, нет клиентской валидации). Поля повторного ввода нового пароля нет. Кнопка «Сохранить» задизейблена только на время сохранения (saving).

    На сервере при сохранении: текущий пароль должен совпадать с сохранённым; новый пароль обязателен и должен содержать минимум 8 символов, хотя бы одну цифру, одну строчную и одну заглавную букву — иначе ошибка валидации (в отличие от ЛК партнёра, где сложность нового пароля не проверяется). Проверки, что новый пароль отличается от текущего, нет. При успехе все активные сессии инвалидируются, текущей вкладке выдаётся новая сессия (текущее устройство остаётся залогинено, остальные устройства разлогиниваются). Поля формы очищаются, показывается toast «Пароль успешно обновлен».

    Ошибки:

    • Неверный текущий пароль — toast «Старый пароль введен неверно»
    • Слишком простой новый пароль — toast с текстом требования (длина/цифра/регистр)
    • Любая другая ошибка сервера — toast с текстом от сервера

    2fa: на данный момент не реализована — ни на фронте, ни на беке.

    https://wiki.yandex.ru/homepage/dizajjn-dokumentacija/

{% endlist %}