Клікайте: колір, кількість, тип нанесення, завантажте свій логотип або напишіть текст — макет на фото оновлюється.
Той самий компонент у вузькому контейнері: галерея-свайп, липка панель покупки знизу, акордеони замість двох колонок. Прокрутіть екран телефону.
Стани інтерактивних елементів
Кожен елемент має повний набір станів: звичайний, наведення, натискання, фокус з клавіатури, вибраний, неактивний, помилка. Нижче ті самі компоненти, що працюють на сторінці, зафіксовані в кожному стані.
Кнопка
Колір (swatch)
Картка вибору (нанесення)
Поле вводу та завантаження макета
Кількість та тираж
Повідомлення та позначки
Основа дизайн-системи
Двошарова архітектура: примітиви (сирі значення) → семантичні токени (ролі). Компоненти посилаються тільки на семантичні токени, тому тема, бренд чи режим міняються в одному місці. Нижче те, що ляже у Figma як Variables і зачеплене в компоненти.
Примітиви · колір
Семантичні токени · і перевірений контраст (WCAG 2.2)
| Токен | Значення | Пара | Контраст | Рівень |
|---|
Типографіка · Onest (кирилиця, безкоштовний, придатний для сайту)
Тіло тексту від 16 px, міжрядковий інтервал від 1,5, довжина рядка до 62 символів. Ціни — табличні цифри (tnum), щоб суми не «стрибали» при зміні кількості.
Відступи · крок 4/8
Сітка і брейкпоінти
| Режим | Ширина | Колонки | Gutter | Поля | Що змінюється |
|---|---|---|---|---|---|
| Desktop | ≥ 1020 px | 12 | 24 | 32 | Галерея ліворуч (липка), купівля праворуч, Опис і Характеристики у дві колонки |
| Tablet | 620–1019 px | 8 | 16 | 24 | Одна колонка, тираж у 4 клітинки, картки «Схожі» по 2 в ряд |
| Mobile | < 620 px | 4 | 16 | 16 | Галерея-свайп, липка панель «ціна + Купити», акордеони, моделі списком |
Радіуси, тіні
Компоненти та правила використання
Variant — це стан одного об'єкта; інший об'єкт — окремий компонент. Усе, що можна зібрати з інстансів, не розривається з основним компонентом.
| Компонент | Властивості (props) | Варіанти стану | Правило |
|---|---|---|---|
| Button | kind primary/secondary · size L/M · icon on/off | default, hover, active, focus, loading, disabled | Одна primary на екран. Текст — дієслово. |
| Swatch | color · label | default, hover, selected, focus, disabled | Назва кольору поруч із кроком. Колір не єдина ознака вибору: є кільце. |
| Choice card | title · hint · price · badge | default, hover, selected, focus, disabled | Додаткова ціна — завжди справа і з «+». |
| Tier chip | from · price | default, hover, current | Показує ціну за одиницю, не суму. |
| Stepper | min · step | default, focus, min | Можна вписати точне значення. |
| Field / Upload | label · hint · counter | default, hover, focus, filled, error, disabled | Помилка: текст + колір + іконка, не тільки колір. |
| Price summary | lines[] · saving | без знижки, зі знижкою | Підсумок завжди видно без прокрутки на мобільному (липка панель). |
| Product card | image · title · price | default, hover | Ціна «від». Назва до двох рядків. |
| Accordion | title · meta | closed, open | Опис і Характеристики відкриті за замовчуванням на десктопі. |
| Video block | poster · caption | poster, playing, empty | Новий блок. Якщо відео немає — не показувати зовсім. |
Структура Figma-файлу
Логіка поведінки сторінки
Що відбувається при кожній дії. Та сама логіка заходить у прототип Figma і в специфікацію для розробників.
| Дія | Реакція інтерфейсу |
|---|---|
| Вибір кольору | Фото в галереї змінюється на фото цього кольору. Нанесення на фото зберігається і перераховує вигляд під темний чи світлий корпус. Назва кольору в заголовку кроку. |
| Кількість | Ціна за одиницю береться з найближчого меншого порогу тиражу. Поточний поріг підсвічується. Підказка рахує, скільки штук додати до наступної знижки. |
| Тип нанесення | «Без нанесення» — нічого зайвого. Інші типи відкривають панель: логотип або текст, розташування. Доплата за штуку додається до ціни тиражу. |
| Файл логотипа | Перевірка формату й розміру на місці (PNG, JPG, SVG, PDF до 5 МБ). Помилка пояснює, що виправити. Прев'ю одразу ложиться на фото. |
| Купити без макета | Якщо нанесення обрано, а логотипа і тексту немає — панель підсвічується, фокус переходить до неї, текст підказує вихід: додати або вибрати «Без нанесення». |
| Купити | Кнопка на мить у стані loading, підтвердження з наступними кроками: менеджер погоджує макет, оплата після погодження. |
| Мобільний | Підсумок і «Купити» завжди внизу екрана. Галерея гортається пальцем, точки показують позицію. |
Нотатки дизайнера до поточного сайту
Те, що помічено при аналізі поточної сторінки цього товару. Не критика, а список, який варто закрити в новій версії.
| Знахідка на tobi.ua | Що робимо в концепті |
|---|---|
| Опис варіанта «Без нанесення» говорить «Чиста кепка без персоналізації» на сторінці термоса. | Текст стає універсальним: «Чистий виріб без персоналізації», підставляється назва категорії. |
| Ціна на основній позиції 308,00 грн, а в таблиці моделей інші кольори — 310,62 грн. | Одна ціна за один тираж на всіх кольорах. Якщо різниця справжня, пояснюємо її в інтерфейсі. Питання до команди. |
| Рядок «Ваша вигода на тиражі» порожній. | Вигода показана в гривнях і у відсотках, зникає, якщо знижки немає. |
| Відгуків і питань 0, а блоки займають місце на екрані. | Порожній стан із запрошенням залишити відгук, згорнутий акордеон. |
| Нанесення видно тільки в тексті, а не на самому виробі. | Прев'ю логотипа або тексту прямо на фото обраного кольору. |
| Немає відео і прикладів нанесення. | Нові блоки: «Відео про товар» і «Як виглядає нанесення» (лазер і кольоровий друк). |