TGViewer
Егор Камелев | Канал нормального фрилансера | Проектирование интерфейсов, UX-дизайн, аналитика, проектная документация Егор Камелев | Канал нормального фрилансера | Проектирование интерфейсов, UX-дизайн, аналитика, проектная документация @normfreelancer · 2.65K subscribers
Post #1229 863
О кнопке «Назад» в интерфейсах НормЦРМ

Когда я просто пилил прототипы в Axure и рисовал дизайны — особо об этом не задумывался.

Представьте себе сценарий. У меня перед глазами интерфейс со списком задач. Я кликаю по одной из задач — и оказываюсь в карточке задачи.

Вверху карточки — кнопка «Назад». Очевидно, если я кликну по ней — попаду обратно в список.

Усложняем. Внутри карточки я кликаю на кнопку «Редактировать» и попадаю на форму редактирования задачи. Сохраняю — и снова оказываюсь в карточке задачи. Куда теперь поведёт клик по кнопке «Назад?» По идее — обратно на страницу редактирования задачи. Но ведь очевидно, что мне туда не нужно! Я хочу обратно в каталог (или откуда я там пришёл).

Прописываю правило: надо проскакивать одну страницу в истории перемещений пользователя, если эта страница — форма редактирования. Программирую. И что получаю?

Кликаю по кнопке «Назад» — страница перезагружается и я остаюсь там же. Ну конечно! Я же проделал путь Страница задачи → Форма редактирования → Страница задачи. Вот меня и перекинуло туда же, где я сейчас нахожусь.

Усложняю правило: надо проскакивать одну страницу в истории, если эта страница — форма редактирования. Но если это приводит к тому, что я оказываюсь на той же странице — тогда надо проскакивать сразу две страницы. Тогда пользователь вместо формы редактирования попадает обратно в каталог.

Правила рабочие и, кажется, история должна на этом закончиться. Но нет. Теперь появился сценарий, когда пользователь вообще может улететь из моего сайта на какой-нибудь другой, на котором был до этого. Например, если он в браузерной строке вставит ссылку на страницу редактирования задачи. Случай редкий, но меткий.

И даже это ещё не всё. Я столкнулся с технической ошибкой, которая возникла из-за этих свистоплясок, но тут информация о ней будет уже избыточной.

Чтобы не ломать голову над подобными вещами в дальнейшей работе над проектом — я фиксирую их в функциональной спецификации и, с недавних пор, в md файлах в папке doc в коде самого проекта. Не ленюсь и дополняю описанные разделы новыми нюансами. Начал прилагать больше усилий к тому, чтобы актуализировать документацию по проекту. Порядок растёт, сроки на решение типовых задач уменьшаются.

На всякий случай оговорюсь: я описал конкретный частный случай поведения кнопки «Назад» для своего проекта. Это правило ни разу не универсальное. Просто очередной паттерн в копилку.

Сегодня я в эфире, как обычно в 21:30 МСК. Продолжу показывать живую работу над НормЦРМ, который постепенно превращается в проект внушительных размеров. Заглядывайте: https://www.youtube.com/live/ycPV6dkMVkI
  • ❤ 4
  • 👍 2
More from @normfreelancer
  1. Sep 17, 2026Сегодня вне стримов поработал над интерфейсом небольшой модалки в Норм CRM. Модалка — это…
  2. Sep 7, 2026Сегодня Битрикс прислал рассылку с заголовком: «Нет клиентов? А если найду…» Явно какая-то…
  3. Aug 25, 2026Как я внезапно оказался должен 100к государству Ликвидирую своё ООО, которое фактически да…
  4. Aug 20, 2026Короче, вчера на стриме увидел такое сообщение в чате: «я нахожусь в чате вайбкодинг и там…
  5. Aug 18, 2026Всем привет! Давно у нас не было встреч в прямом эфире с показом какого-нибудь сервиса. И…
  6. Aug 12, 2026— Приедешь к нам на эвакуаторе через пару месяцев, если не послушаешь совета Это мне в авт…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →