🧩 Описание
В данный момент все системные сообщения — ошибки, предупреждения и информационные уведомления — отображаются через SnackBar.
Однако SnackBar не подходит под общую тематику сайта и имеет несколько проблем с удобством и видимостью.
⚠️ Проблема
-
SnackBar появляется внизу экрана и часто скрывается под диалоговыми окнами.
-
Критические ошибки выглядят слишком “легко” и могут быть пропущены пользователем.
-
Автоматически исчезают, даже если пользователю нужно время на чтение.
-
В целом визуально не соответствуют стилю интерфейса и теряются в фоне.
💡 Возможные альтернативы
| Вариант |
Описание |
Преимущества |
Недостатки |
| Toast-уведомления (в верхнем правом углу) |
Лёгкие всплывающие уведомления, не блокируют интерфейс. |
Хорошо заметны, можно показывать несколько сразу, легко стилизовать. |
Можно случайно не заметить при длинных действиях. |
| Диалоговые окна (AlertDialog) |
Для критических ошибок или подтверждений. |
Невозможно пропустить, хорошо вписываются в модальную логику. |
Блокируют взаимодействие, не подходят для частых уведомлений. |
| Встроенные баннеры внутри карточек/страниц |
Отображаются прямо в контексте действия (например, в окне ONT). |
Контекстные, легко читаются, не мешают пользователю. |
Требуют доработки макета. |
| Центр уведомлений / история событий |
Отдельная панель с журналом последних сообщений. |
Можно просмотреть историю, не пропустить важное. |
Более сложная реализация. |
🧭 Предлагаемое решение
Использовать встроенные баннеры (inline banners) для ошибок и предупреждений,
а для коротких сообщений (например, “Настройки сохранены”) — toast-уведомления через библиотеку
fluttertoast, awesome_notifications или собственный кастомный виджет.
🧱 Технические заметки
-
Заменить прямые вызовы ScaffoldMessenger.of(context).showSnackBar() на универсальный сервис NotificationService,
который будет сам выбирать подходящий тип уведомления.
-
Добавить поддержку тем: success, warning, error, info.
🧩 Описание
В данный момент все системные сообщения — ошибки, предупреждения и информационные уведомления — отображаются через SnackBar.
Однако SnackBar не подходит под общую тематику сайта и имеет несколько проблем с удобством и видимостью.
SnackBar появляется внизу экрана и часто скрывается под диалоговыми окнами.
Критические ошибки выглядят слишком “легко” и могут быть пропущены пользователем.
Автоматически исчезают, даже если пользователю нужно время на чтение.
В целом визуально не соответствуют стилю интерфейса и теряются в фоне.
💡 Возможные альтернативы
🧭 Предлагаемое решение
Использовать встроенные баннеры (inline banners) для ошибок и предупреждений,
а для коротких сообщений (например, “Настройки сохранены”) — toast-уведомления через библиотеку
fluttertoast,awesome_notificationsили собственный кастомный виджет.🧱 Технические заметки
Заменить прямые вызовы
ScaffoldMessenger.of(context).showSnackBar()на универсальный сервисNotificationService,который будет сам выбирать подходящий тип уведомления.
Добавить поддержку тем:
success,warning,error,info.