В библиотеке Toastify параметр avatar
отвечает за отображение изображения или иконки в уведомлении. Он
позволяет визуально выделять уведомления, добавляя контекст или
узнаваемость бренда. avatar может принимать строку
с URL изображения либо элемент HTML, что открывает возможности
для интеграции кастомных иконок.
Toastify({
text: "Успешная операция",
avatar: "https://example.com/success-icon.png",
duration: 3000,
gravity: "top",
position: "right",
}).showToast();
В этом примере используется URL изображения. Уведомление будет содержать иконку слева от текста, придавая уведомлению визуальный акцент.
Помимо внешних URL, можно использовать локальные файлы или SVG-элементы. SVG особенно удобны для масштабируемых иконок без потери качества.
const svgIcon = `<svg width="24" height="24" viewBox="0 0 24 24" fill="none"
xmlns="http://www.w3.org/2000/svg">
<path d="M12 2L15 8H9L12 2Z" fill="#4CAF50"/>
</svg>`;
Toastify({
text: "Новая иконка",
avatar: svgIcon,
duration: 4000,
gravity: "bottom",
position: "left",
}).showToast();
SVG можно стилизовать с помощью CSS или менять цвет через атрибут
fill. Это даёт гибкость при динамическом изменении
уведомлений.
avatarПо умолчанию Toastify задаёт фиксированный размер аватара (обычно 40x40 пикселей), однако его можно изменить через CSS:
.toastify-avatar img {
width: 30px;
height: 30px;
border-radius: 50%;
}
width и height контролируют размер
иконки.border-radius: 50% делает аватар круглым, что подходит
для пользовательских фото или стандартных иконок.Для корректного позиционирования текста относительно аватара используется flex-структура, встроенная в Toastify. Аватар располагается слева, а текст автоматически адаптируется по высоте уведомления.
avatar может быть не только изображением, но и
любым HTML-элементом, например, иконкой из библиотеки
FontAwesome или кастомным компонентом.
const customIcon = document.createElement("span");
customIcon.innerHTML = "<i class='fas fa-check-circle'></i>";
Toastify({
text: "Операция выполнена",
avatar: customIcon,
duration: 3500,
}).showToast();
Преимущество такого подхода — возможность динамически изменять иконки, использовать анимацию и настраивать их через CSS-классы.
Аватар прекрасно сочетается с остальными настройками:
gravity и
position — определяют, где уведомление с
аватаром появится на экране.style — позволяет задавать фон, рамку
или тень уведомления.className — добавление собственного
класса позволяет применять уникальные стили для разных типов уведомлений
(успех, ошибка, предупреждение).Пример комбинирования:
Toastify({
text: "Ошибка при загрузке",
avatar: "https://example.com/error-icon.png",
duration: 5000,
gravity: "top",
position: "right",
className: "error-toast",
style: {
background: "#ff4d4f",
color: "#fff"
}
}).showToast();
Параметр avatar может быть динамическим, что позволяет
менять иконку в зависимости от условий приложения:
function showNotification(status) {
const icon = status === "success"
? "https://example.com/success.png"
: "https://example.com/error.png";
Toastify({
text: `Статус: ${status}`,
avatar: icon,
duration: 3000,
}).showToast();
}
Это упрощает создание универсальных уведомлений с визуальной дифференциацией по типу события.
Использование avatar позволяет улучшить UX, делая
уведомления более информативными и узнаваемыми, а также интегрировать
визуальные элементы бренда или системные иконки прямо в сообщения
Toastify.