Entergalactic UI

Entergalactic UI

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

Кнопки

Высота одна на все, скругление и минимальная ширина тоже — числа берутся из вида набора, а не пишутся здесь. Порядок в ряду: слева второстепенные, справа главная.

Обычный ряд — как в окне и в полосе сохранения
.btn · .btn-primary · .btn-ghost · .btn-sm · .btn.del
Слитая группа — переключение вида
.btn-group
Со значком и во всю ширину — на телефоне и в карточке
.btn со значком, во всю ширину

Ряд кнопок в окне и в полосе сохранения ставится так: «По умолчанию · Отменить · Сохранить».

Поля ввода

Кегль на телефоне не мельче 16 точек: иначе iOS увеличивает страницу при касании.

Обычные — как стоят в формах
.field · select.field · textarea.field
С приставкой и подсказкой под полем
https:// .ru
Меняется в настройках, старый адрес продолжит работать.
дней
.igroup · .fix · .gl
Ошибка и необязательное — что видит человек при отказе
Номер короче десяти цифр — проверьте последние знаки.
.fld.bad · .field.bad

Переключатели и флажки

Сам тумблер мелкий намеренно, но зона нажатия у него добита до нормы в 24 точки — иначе пальцем не попасть.

.sw
.sw.on
.q — подсказка

Метки состояний

Слова с заглавной буквы, цвет — по смыслу: зелёный работает, жёлтый требует внимания, красный не работает.

Активна.pill.on
Истекает.pill.warn
Истекла.pill.off
Без тега.pill

Карточки и строки настроек

Строка настройки — один образец на всю панель: слева название и пояснение, справа управление.

Карточка настроек — как в панели

Название карточки

Короткое пояснение, о чём этот блок

Настройка с пояснением Пояснение прячется в кружок «?» рядом с названием
Настройка с полем
Плитка с числом — на главной управления
Заказов сегодня
12
Выручка
48 300
Брошено корзин
5
.kpi-row · .kpi
Карточка с картинкой — товар, статья, человек
Фото
Кофеварка капельная

1,2 литра, автоотключение

Фото
Чайник стеклянный

1,7 литра, подсветка

.card · .ratio
Плитка с числом — на главной управления
Заказов сегодня
12
Выручка
48 300
Брошено корзин
5
.kpi-row · .kpi
Карточка с картинкой — товар, статья, человек
Фото
Кофеварка капельная

1,2 литра, автоотключение

Фото
Чайник стеклянный

1,7 литра, подсветка

.card · .ratio

Списки

На телефоне строки складываются в карточки: прокрутка вбок прячет правый край с кнопкой, и владелец её не находит.

А Аня2/3 устройства · До 18.09.2026 Активна
Б Борис0/3 устройства · Без подписки Истекла

Выбор одного из нескольких

Когда вариантов больше двух, несколько тумблеров подряд читаются как независимые, хотя выбрать можно только один. Для такого случая — сегменты.

.seg > button.on
.seg.sm — над списком
.toggle / .toggle.on — залипающая кнопка

Таблицы

Для того, что сравнивают по столбцам: оплаты, промокоды, журнал. На телефоне строки складываются в карточки — подпись столбца берётся из data-подпись.

Дата КлиентТарифСуммаСпособ
19.08.2026 Аня Месяц 149 ₽ Рубли
17.08.2026 Дмитрий Селезнёв Год 1 299 ₽ Звёзды
Показаны 1–2 из 24

Полосы заполнения и заглушки

Полоса отвечает на «сколько уже», поэтому число рядом обязательно. Заглушки показывают будущую форму списка, пока данные едут: пустой экран читается как «ничего нет», и человек уходит раньше времени.

Устройства2 из 3
.prog + .bar
Трафик46 из 50 ГБ
.bar.warn — подходит к пределу
.skel-row — список на время загрузки

Боковое меню

Боковое меню — когда разделов много и они равноправны. Горизонтальное — когда их пять-шесть, а место по бокам дорого.

.crumbs — где я нахожусь

Боковое меню с переключателем

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

.sidebar · .nav-head · .seg.wide · .nav · .nav-foot

Строка с почтой стоит НАД переключателем: сперва человек убеждается, что он в нужной учётной записи, и только потом переключает раздел. Наоборот — и переключение уходит не туда, куда он думал.

Шапка сайта

Готовый кусок для витрины и лендинга. Собран из тех же кнопок и меню. Подвал живёт отдельным блоком — «Подвал сайта» ниже по списку.

.site-head

Вход и регистрация

Одна карточка на все случаи — вход, регистрация, восстановление пароля. Отличаются набором полей, а не оформлением. Эта же карточка стоит на входе покупателя, на регистрации и на входе в управление.

Е

Вход в кабинет

Заказы, адреса и избранное — в одном месте

Забыли?
или
Ещё нет учётной записи? Зарегистрироваться
Покупать можно и без входа: он нужен только для истории заказов.
.auth-card — вход
Е

Регистрация

Заведи учётную запись — займёт минуту

Согласен с условиями
Уже есть учётная запись? Войти
.auth-card — регистрация

Вторая карточка входа в наборе была лишней: .form-card осталась от панели и не работала ни на одной странице. Осталась одна — та, что держит вход покупателя, регистрацию и вход в управление.

Поиск по сервису

Открывается с клавиатуры и кнопкой в шапке. Ищет сразу везде: клиентов, разделы, действия — чтобы не помнить, где что лежит. Ниже окно показано открытым.

Esc
Клиенты
Разделы
Действия
↑↓ выбрать Enter открыть Esc закрыть
.find · .find-input · .find-list · .find-item

Выбранный пункт подсвечивается заливкой, а не рамкой: рамка прыгает при движении стрелками и рябит.

Плашки и загрузка

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

Домен подключается

Сертификат выпускается, обычно это минута.

Оплата рублями не настроена

Клиенты видят только звёзды.

Два обращения без ответа

Первое ждёт три часа.

Копия базы снята

before-1.55.0 · 400 КБ

.spin · .spin.lg

Меню, подсказки, всплывающие

Меню действий — что можно сделать. Карточка — что это такое. Подсказка — что значит значок. Путать их нельзя, иначе человек ищет действие там, где показаны данные.

.menu — действия
ААняАктивна
Подписка до 18.09.2026
2 устройства из 3 · 18,4 ГБ за месяц
.pop — данные
Подсказка появляется по наведению .tip-host + .tip

Раскрывашки и шаги

Раскрывашка прячет то, что нужно не всем: редкие настройки, подробности. Прятать за ней главное нельзя — не найдут. Шаги показывают, сколько всего и где человек сейчас.

Как подключить устройствотри шага
Скачай конфиг, открой его в приложении WireGuard, включи тумблер.
Что делать, если не подключаетсячастые причины
Проверь, жива ли подписка, и попробуй запасной порт 443.
СерверГотово
ДоменГотово
3
БотЗаполни токен
4
ТарифыОсталось

Мелочи

Аватарки, значки, клавиши, строки списка. Именно из-за них интерфейс выглядит собранным или сшитым наспех.

АДМ АД +7 .ava · .ava-row
ГодПромо Рубли CtrlK .badge · .kbd
А Аня2 устройства · до 18.09.2026 Активна
Б БорисНет конфигов · без подписки Истекла
конфиг-телефон.conf1,2 КБ

Шторки и подтверждения

Окно — короткое действие. Боковая шторка — работа рядом с содержимым: страница остаётся видна. Нижняя — то же на телефоне, до неё дотягивается большой палец.

Карточка клиента

Аня · @anya_k

Подписка до 18 сентября, два устройства из трёх, за месяц 18,4 ГБ.

Удалить клиента?

Вместе с ним пропадут его конфиги и история оплат. Отменить будет нельзя.

Аня · @anya_k · 2 устройства

Особый ввод и ползунки

Обычное поле закрывает почти всё. Здесь случаи, где его не хватает.

https://
.igroup — поле с приставкой
.igroup — с единицей и кнопкой
·
.otp — код подтверждения
.count — счётчик

Календарь

Выбор даты окончания подписки и периода отчёта. Клетка ростом с мелкую кнопку — в календарь тычут пальцем чаще, чем куда-либо ещё.

Август 2026
пнвтср чтптсб вс

Переписка

Наши сообщения справа, клиента слева — как в любом мессенджере, спорить с привычкой незачем. Время и признак прочтения внутри пузыря, иначе они рвут ленту.

Сегодня
АняНе открывается конфиг на телефоне, пишет «нет корректной конфигурации».
12:04
Перевыпустил конфиг, пришлю файлом. Старый перестал действовать.
12:07 ✓✓
АняЗаработало, спасибо!
12:15
Обращение закрыто

Текст

Для того, что пишет человек: правовые документы, описание тарифа, ответ поддержки. Строка не длиннее семидесяти двух знаков — иначе глаз теряет начало следующей.

Как работает подписка

Подписка даёт доступ ко всем серверам сервиса. Устройств можно подключить столько, сколько указано в тарифе — каждое получает свой конфиг.

  • Пробный период даётся один раз и на три дня.
  • Дни при паузе не сгорают: снимешь паузу — вернутся.
  • Оплата возможна звёздами и рублями.
Если конфиг перестал работать, перевыпусти его в кабинете — старый сразу перестаёт действовать.

Дополнение

Инструменты над таблицей, поле с календарём, карточка по наведению, выделение в тексте и опросник.

Выбрано 3
…тут была бы таблица
.tbl-tools — инструменты над таблицей
.datefield — поле с календарём
ААня Активна Подписка до 18.09.2026 · 2 устройства из 3 За месяц 18,4 ГБ · последний вход 12 минут назад .hover-card — данные по наведению
Найдено в журнале: клиент Аня продлила подписку, срок изменён с 18.08.2026 на 18.09.2026.
mark · .marker.plain — выделение в тексте
Помогли ли мы с обращением? Ответ видит только владелец сервиса

Плитки показателей

Отвечают на три вопроса сразу: что это, сколько и куда движется. Прежние плитки показывали только число — а много это или мало, понять было нельзя.

Доход за месяц
4 470
+18%
Растёт третий месяц Считая продления и новые оплаты
Клиентов
21
+3
Трое за неделю Двое пришли по приглашению
Трафик за сутки
128 ГБ
−6%
Меньше, чем вчера Обычное дело в выходные
В сети сейчас
15 из 30
половина
Столько же, что и вчера Считаются устройства, а не люди

Цифры моноширинные: сводка обновляется каждую минуту, и от прыгающей ширины цифр плитки дёргались бы.

Шапка карточки

Заголовок, пояснение и управление в одной строке. На узком экране действие переезжает под заголовок: имя карточки важнее кнопки, обрезать его нельзя.

Трафик за две недели

Отдано клиентам и принято, гигабайты в сутки

Отдано Принято Пик: 19 августа, 164 ГБ
.ch — шапка · .period — переключатель срока

Вкладки

Вкладка переключает набор одних и тех же данных. Если за ней прячется другое содержимое — это раздел, и ему место в меню.

ДатаКлиентТарифСумма
19.08.2026 Аня Месяц 149 ₽
17.08.2026 Дмитрий Селезнёв Год 1 299 ₽
Показаны 1–2 из 24
.tabs-row · .tabs · .tabs > button.on

Поле телефона

Номер вводят чаще любого другого поля — и ошибаются в нём чаще всего: каждый пишет по-своему. Приставка «+7» стоит внутри поля и не стирается, цифры сами встают как «900 000-00-00».

+7
Введите десять цифр номера
+7
+7 Введите десять цифр номера
.tel + data-телефон (поведение из kit.js)

Форме уходит номер целиком, «+79001234567»: скрытое поле рядом подставляется при отправке. Видимое остаётся читаемым для человека.

Чат с посетителем

Половина вопросов задаётся до покупки, и звонить ради них не пойдут. Чат сделан один раз и встраивается: разметка ниже, оформление и поведение приезжают с набором. От сайта нужны только две ручки на сервере.

Как выглядит окно
Чат с магазином
Здравствуйте! Спросите что угодно — ответим, пока вы на сайте.
Подскажите, кофеварка Bosch есть в наличии?
Есть, шесть штук. Если оформите сегодня — привезём завтра до двух.
Что вставить на страницу
<div class="чат" data-чат
     data-опрос="/api/chat/poll"
     data-отправка="/api/chat/send">
  <button class="чат-вызов" data-чат-кнопка aria-label="Чат">
    <svg viewBox="0 0 24 24" aria-hidden="true"><path d="M4 5.5h16v10H8.5L4 19z"/><path d="M8 9.5h8"/><path d="M8 12.5h5"/></svg>
    <span class="чат-счёт" data-чат-счётчик hidden></span>
  </button>

  <div class="чат-окно" hidden data-чат-окно role="dialog">
    <div class="чат-шапка">
      <b>Чат с магазином</b>
      <button class="чат-закрыть" data-чат-закрыть>✕</button>
    </div>
    <div class="чат-лента" data-чат-лента></div>
    <form class="чат-форма" data-чат-форма>
      <textarea class="field" data-чат-поле data-рост placeholder="Напишите сообщение"></textarea>
      <button class="btn btn-primary">Отправить</button>
    </form>
  </div>
</div>
<script src="/static/chat.js" defer></script>
.чат · .чат-вызов · .чат-окно · chat.js

От сервера нужны две ручки. Опрос отвечает {"сообщения":[{"номер":7,"сторона":"shop","текст":"…"}]}, отправка принимает {"текст":"…","страница":"/cart"}. Адреса задаются в разметке, поэтому у каждого сайта они свои. На телефоне окно открывается во весь экран — как в мессенджерах.

Обложка и блоки страницы

Куски страницы, из которых собирается лендинг и главная магазина: первый экран, блок возможностей, вопросы, контакты, баннер.

Свой VPN, свои правила

Собственный сервер, честная скорость и никакой очереди из чужих клиентов. Подключается за минуту, работает на всех устройствах.

Без логов До 1 Гбит/с Сервер в Амстердаме
.banner · .hero — первый экран

Почему свой сервер лучше

Чужие сервисы делят один канал на тысячи человек. Здесь канал только твой.

Никто не видит, что ты открываешь

Журналы не ведутся вовсе — их просто нечего выдать по запросу.

Скорость не падает вечером

Канал не делится между тысячами: на сервере только твои устройства.

Работает там, где режут

Запасной порт 443 выглядит как обычный сайт и проходит фильтры.

.feat.cards — блок возможностей

Частые вопросы

Всё, что спрашивают перед покупкой

Сколько устройств можно подключить?три в базовом
Три устройства в тарифе «Месяц» и пять в годовом. Каждое получает свой файл настройки — общий ключ на всех не выдаётся.
А если не заработает?вернём деньги
Первые три дня — пробный период, платить не нужно. Если после оплаты что-то не работает, вернём полностью.
Нужно ли что-то настраивать?нет
Бот присылает готовый файл и QR-код. Открываешь в приложении WireGuard, включаешь тумблер — всё.

Не нашёл ответа? Напиши в поддержку — отвечаем в течение часа.

.faq — вопросы и ответы

Карточка товара и сетка

Карточка отвечает на четыре вопроса по порядку: что это, как называется, сколько стоит, можно ли купить сейчас. Остальное — на странице товара.

На телефоне сетка встаёт в две колонки, а не в одну: одна колонка превращает каталог в бесконечную ленту, и до третьего товара не долистывают.

Шапка магазина: три вида

Четыре вещи, ради которых открывают шапку: найти товар, попасть в каталог, увидеть корзину, войти к себе. Верхняя строка — служебная, нижняя липнет к верху при листании.

Бесплатная доставка от 3 000 ₽ ЛЕТО до 31 августа
.promo-bar · .shop-head
Магазин работает до 20:00 заказы после — завтра
Пункт выдачи на Ленина, 5 временно закрыт. Другие пункты
.promo-bar.тёмная · .promo-bar.тихая
Обычный — знак слева, поиск в середине .shop-head
Витрина — знак по центру, разделы слева .shop-head[data-вид="витрина"]
Плотный — без верхней строки, поиск во всю ширину .shop-head[data-вид="плотный"]

Полоса акции не липнет к верху нарочно: на телефоне она съедает высоту экрана, а сообщение в ней читают один раз.

Меню каталога и крошки

Одно дерево разделов в трёх видах: столбцом на странице каталога, раскрытием во всю ширину из шапки и путём над заголовком.

.crumbs — путь до страницы .cat-side — столбец · .mega — раскрытие из шапки

Раскрытие держится на скрытом флажке, а не на наведении: открытое по наведению меню закрывается, стоит увести мышь на пиксель.

Подвал сайта

Справочная страницы: телефон с адресом и то, чего не нашли в меню — доставка, возврат, договор. Колонки неравные нарочно, первая про магазин.

.site-foot — подвал сайта

На телефоне колонки ссылок сворачиваются, а первая остаётся открытой: телефон прятать нельзя, за ним и приходят.

Напишите нам и как найти

Две секции про одно: как до вас достучаться. Полей в форме ровно три — каждое лишнее поле в обратной связи стоит десятой части отправивших, а уточнить можно и по телефону.

Форма и способы связи

Остались вопросы?

Ответим в рабочее время, обычно в течение часа. Если вопрос про заказ — держите под рукой его номер, так быстрее.

Нажимая кнопку, вы соглашаетесь с обработкой данных.
.связь-блок
Локация — карта выключена
Москва, улица Складская, 5Вход со двора, второй подъезд. Есть парковка на три места.
Ежедневно с 9:00 до 20:00В праздники — до 18:00, о переносах пишем в Телеграме.
Как добратьсяПять минут пешком от метро «Складская», выход №3.
Карта выключена Врезка грузится с чужого сервера и показывает ему каждого посетителя. Включается в настройках магазина. Открыть в картах
.локация

Место под карту задано заранее: без этого страница прыгает, когда врезка догрузится, и человек промахивается мимо кнопки.

Свойства, история и карточка действия

Три вещи, без которых не обходится ни один разбор: карточка заказа, страница клиента, свойства товара. До сих пор каждый экран рисовал их по-своему — отсюда и разнобой в управлении.

Свойство и значение — в строку
Покупатель
Дмитрий Иванов
Телефон
+7 (926) 688-43-40
Доставка
Курьером, завтра до 14:00
Адрес
Москва, улица Складская, 5, квартира 12
Оплата
Картой на сайте · чек
.свойства
Столбиком — для узкой колонки
Способ доставки
Пункт выдачи на Ленина, 5
Когда заберут
Послезавтра, хранение семь дней
.свойства.столбиком
История заказа
Заказ принятОплачен картой, 5 370 ₽
Собран на складеТри товара из трёх
В путиКурьер Сергей, позвонит за час
ВыданЖдём подтверждения получения
.история · .шаг.готово · .шаг.сейчас
Карточка действия и опасное действие
Выгрузить заказы

Таблица со всеми заказами за выбранный период — для бухгалтерии и для сверки с банком.

Удалить магазин

Уйдут товары, заказы, покупатели и снимки. Восстановить можно только из копии, если она есть.

.действие · .действие.опасно

Опасное действие помечено рамкой и красным заголовком, но фон обычный: красная заливка кричит на человека каждый раз, когда он просто листает настройки.

Картинка с текстом, сетка и разделитель

Мелочи, из которых собрана половина экранов: товар в списке, человек в переписке, файл во вложениях, ряды карточек и линия с подписью посреди содержимого.

Медиа-объект — обычный и крупный
Фото
Кофеварка капельная Bosch TKA 3A031

Чёрная, 1,2 литра, автоотключение

3 990 ₽В наличии
Фото
Чайник электрический стеклянный

1,7 литра, подсветка, защита от включения без воды. Забирают чаще всего вместе с кофеваркой.

2 190 ₽Нет в наличии
.медиа · .медиа.крупно
Сетка карточек — обычная и с крупной первой .разделы-сетка · .разделы-сетка.разно
Разделитель с подписью
Смотрели раньше
.разделитель-текст

Число колонок в сетке не задаётся: оно считается от места, поэтому одна и та же сетка годится и в широкой странице, и в узкой колонке рядом с фильтрами.

Видео, лента и спецпредложения

Три секции, которые ставят на главную чаще прочих. Плеер не грузим сразу: чужая врезка тянет мегабайт скриптов и видит каждого посетителя. Показываем обложку, а плеер подставляется по нажатию.

Видео — обложка с кнопкой
Как выбрать кофеварку3 минуты · показываем на трёх моделях
.видео
Лента с прокруткой — стрелки появляются сами
Кофеварка капельная

3 990 ₽

Чайник стеклянный

2 190 ₽

Турка медная

1 450 ₽

Кофемолка ручная

2 800 ₽

Френч-пресс

990 ₽

Фильтры бумажные

240 ₽

.лента-обёртка · .лента-карточек
Специальные предложения — главное и обычные
−20% Неделя кофе

Скидка на все кофеварки и кофемолки. Промокод не нужен, цена уже в карточке.

до 31 августа Смотреть товары
Второй товар за полцены

На посуду и хранение. Скидка на тот, что дешевле.

ещё три дня Подробнее
Бесплатная доставка

При заказе от 3 000 ₽ по Москве, курьером в удобное время.

постоянно Условия
.спец · .предложение.главное

Срок показан приглушённо: крикливый таймер читается как обман, а именно срок и заставляет решать сейчас.

Загрузка файлов

Снимки товара, накладная, картинка в статью. Обычное поле выбора файла выглядит чужеродно и по-разному в каждом браузере, поэтому его прячут и рисуют своё. Перетаскивание — не единственный способ: по области можно и просто нажать.

Область — пустая .кладь
Файл занесли над областью .кладь.несут
Что уже положили
Фото кофеварка-общий-вид.jpg 1,2 МБ
Фото
накладная-от-18-августа.pdf
62%
.кладь-список · .файл

Полоса загрузки идёт прямо в строке файла: отдельная полоса под списком не показывает, какой именно файл ещё едет.

Доставка и оплата

Про доставку спрашивают до того, как положат товар в корзину. Пока ответа нет на странице, его спрашивают в чате — или уходят. Два вида: карточки для страницы условий и сжатая полоса под кнопкой на странице товара.

Карточками — на главной и в условиях
Курьером по Москве

Привезём в удобное время, позвоним за час. Оплата картой курьеру.

Кроме области — уточняйте зону Завтра до 14:00Бесплатно
Пункт выдачи

Больше двухсот пунктов: заберёте, когда удобно, хранение семь дней.

Примерка на месте Послезавтра190 ₽
Самовывоз со склада

Москва, улица Складская, 5. Ежедневно с 9:00 до 20:00.

Заказ ждёт три дня Сегодня через два часаБесплатно
Чем платить

Картой на сайте, при получении или по счёту для организаций.

MIRVISAMCSBPНаличные
.доставка · .способ
Строкой — под кнопкой на странице товара
Курьером Завтра до 14:00Бесплатно
Пункт выдачи Послезавтра190 ₽
Самовывоз СегодняБесплатно
.доставка.строкой

Срок и цена стоят в одной строке и в самом низу карточки: способы сравнивают, ведя взглядом по одной линии. «Бесплатно» показано цветом «хорошо» — это довод, а не цена, и среди рублей соседних способов оно теряется.

Фильтры и сортировка

Фильтры работают, только когда видно и что можно выбрать, и что уже выбрано. Поэтому выбранное вынесено отдельной строкой над товарами, а число товаров стоит у каждого значения.

Найдено 1 248 товаров Сортировка:
.sort-bar · .view-switch
Капельные От 3 000 ₽ С доставкой завтра
.picked — выбранные фильтры строкой
Тип
Цена, ₽
Производитель
.filters — столбец фильтров

Число товаров у значения не украшение: без него ставят галочку и получают пустой каталог, а это уже похоже на поломку магазина.

Страница товара

Всё, что отвечает на «точно ли то самое», стоит на первом экране: фото, название, цена, наличие, кнопка. Галерея и блок покупки липкие — человек читает описание, не теряя товар из виду.

Кофеварка капельная Bosch TKA 3A031, 1,2 литра

4,5 · 34 отзыва Артикул 184-2210
Цвет: чёрный
Объём

Готовит до десяти чашек за раз, держит температуру сорок минут и отключается сама. Съёмный фильтр моется в посудомоечной машине.

Мощность1 100 Вт
Объём1,2 литра
Тип фильтраМногоразовый, нейлон
Гарантия24 месяца
3 990 ₽ 4 990 ₽ −20%
В наличии, 6 штук
Доставка завтра, бесплатно от 3 000 ₽
Гарантия 24 месяца, свой сервис
Возврат 14 дней без объяснений
.prod-page · .gallery · .vars · .buy-box

Варианты — плашками, а не выпадающим списком: из списка не видно, чего нет в наличии, а перебирать по одному — работа.

Корзина

Последняя проверка перед деньгами: тот ли товар, сколько штук, сколько за них. Итог держится липким справа и не уезжает при листании.

Фото
Кофеварка капельная Bosch TKA 3A031
Чёрный1,2 л
В наличии
3 990 ₽ 4 990 ₽
Фото
Фильтр многоразовый, нейлон
Размер 4
Осталось 2
690 ₽
Фото
Чайник электрический стеклянный
Убран из корзины
Ваш заказ
Товары, 3 шт.5 370 ₽
Скидка−1 000 ₽
ДоставкаБесплатно

К оплате4 370 ₽
Оплата картой или при получении
.cart · .cart-row · .cart-sum

Удалённая строка остаётся на месте с возвратом: промах пальцем в корзине стоит дороже всего — человек не помнит, что смахнул, и уходит собирать заново.

Оформление заказа

Место, где теряют больше всего покупателей. Шаги пронумерованы, сумма не исчезает, способы доставки и оплаты — крупными плашками.

1 Получатель
2 Доставка Изменить город
3 Оплата
Заказ
Кофеварка Bosch TKA 3A0313 990 ₽
Фильтр многоразовый ×21 380 ₽

Товары5 370 ₽
Скидка−1 000 ₽
ДоставкаБесплатно

К оплате4 370 ₽
Нажимая кнопку, вы соглашаетесь с условиями продажи и обработкой данных
.checkout · .pick · .order-sum

Согласие стоит под кнопкой, а не над ней: сначала действие, потом мелкий шрифт. Прятать его нельзя, требовать галочку — можно.

Отзывы и оценка

Отзывам верят, когда видно распределение оценок и живого человека: имя, дату, что именно купил. Магазин со ста пятёрками выглядит хуже магазина с тремя двойками и ответом.

4,534 отзыва
521
48
33
22
10
АК
Анна К. 12 августа 2026 · Кофеварка Bosch TKA 3A031
Купила здесь

Взяла вместо старой рожковой — варит быстрее и мыть проще. Держит температуру действительно долго, утром кофе ещё горячий.

ПлюсыТихая, простая, легко мыть
МинусыШнур коротковат
ФотоФотоФото
Отзыв помог 12 покупателям
СМ
Сергей М. 3 августа 2026 · Кофеварка Bosch TKA 3A031

Пришла с царапиной на корпусе. Работает нормально, но осадок остался.

Ответ магазина

Сергей, извините. Заменили бы сразу — напишите нам, оформим замену без возврата товара, курьер привезёт новую и заберёт эту.

.reviews · .review · .rating

Звёзды сделаны одним приёмом: серый ряд снизу, жёлтый сверху обрезан по ширине оценки. Половинки получаются сами, отдельной картинки не нужно.

Тарифы

Списки в колонках совпадают построчно — иначе сравнение превращается в чтение трёх разных текстов. Средний приподнят и подписан честно: «Берут чаще всего», а не «Лучший выбор».

Сколько стоит

Один тариф, два срока. Чем длиннее срок, тем дешевле месяц.

Выгода 30%
Пробный
Посмотреть, как работает, и уйти без сожалений.
0 ₽3 дня
Одно устройство
Полная скорость
Без поддержки
Без своего адреса
Берут чаще всего
Год
Для тех, кто уже понял, что нужен постоянно.
104 ₽в месяц149 ₽
1 250 ₽ разом, списывается раз в год
Пять устройств
Полная скорость
Поддержка за час
Свой адрес
Месяц
Без обязательств: не понравилось — не продлевать.
149 ₽в месяц
Три устройства
Полная скорость
Поддержка за час
Без своего адреса
.price-block · .price-grid · .plan

Годовая цена показана за месяц с пометкой о списании разом: крупная сумма за год отпугивает, спрятанная — злит при оплате.

Разделы и подборки

Главная отвечает на вопрос «что тут есть». Плитки отвечают быстрее списка: картинка узнаётся раньше, чем читается слово. Первая крупнее — раздел, который продаёт лучше всех.

На телефоне остаются две колонки: одна растягивает десять разделов на три экрана, и до нижних не долистывают.

Призыв к действию и подписка

Человек дочитал и согласен — ему должно быть куда нажать. Кнопка ровно одна: две равные превращают призыв в выбор, и на нём останавливаются.

Готовы попробовать?

Три дня бесплатно, карта не нужна. Не понравится — просто не продлевайте.

Без карты · Отмена в один клик
.cta.цветной

Остались вопросы?

Отвечаем в течение часа, без роботов и очередей.

.cta.в-рамке .subscribe .subscribe.полоса

Мелкая строка под кнопкой снимает последнее возражение: «без карты», «отмена в один клик». Работает лучше ещё одного абзаца выше.

Возможности, показатели, команда

Три способа сказать «нам можно верить». Работают только конкретные цифры: «10 480 заказов за 2025 год» вместо «более 10 000 клиентов».

7лет работаем
10 480заказов за 2025 год
412пунктов выдачи
4,8средняя оценка
.figures
С кем работаем
BoschPhilipsDe’Longhi RedmondKitfort
.logos

Кто отвечает на ваши вопросы

Небольшая команда, все на связи в рабочее время.

АК Анна Отвечает на вопросы о доставке
ДИ Дмитрий Подбирает технику под задачу
СМ Сергей Чинит и обслуживает по гарантии
ЛП Лена Разбирает возвраты и обмены
.team

Роль пишем понятную покупателю, а не должность из штатного расписания: «Отвечает на вопросы о доставке» вместо «Менеджер отдела логистики».

Блог: карточки и статья

Статьи держат людей на сайте и приводят из поиска. Колонка текста узкая нарочно: строка во всю ширину монитора не читается — глаз теряет начало следующей.

Обложка Разбор

Какая кофеварка нужна именно вам: капельная, рожковая или капсульная

Разбираем по трём вопросам: сколько чашек в день, сколько времени готовы тратить и сколько места на кухне.

Дмитрий 7 минут
Обложка Уход

Как чистить кофеварку, чтобы она прожила десять лет

Накипь убивает нагреватель быстрее всего остального.

Анна4 минуты
.post-grid · .post · .post.главная
Разбор 12 августа 2026 7 минут чтения

Какая кофеварка нужна именно вам

Выбор кофеварки сводится к трём вопросам, и цена среди них — последний. Сначала ответьте себе, сколько чашек в день вы пьёте.

Сколько чашек в день

До двух чашек — подойдёт любая. От четырёх — берите капельную с объёмом от литра, иначе будете варить дважды за утро.

Самая частая ошибка — купить рожковую «чтобы как в кофейне» и через месяц вернуться к растворимому: возни много, а разница заметна не всем.

Что смотреть в характеристиках

  • Мощность от 900 Вт — иначе вода греется долго
  • Съёмный фильтр, который моется в посудомоечной машине
  • Автоотключение — единственная функция, которой пользуются все
ДИ
Дмитрий Иванов Подбирает технику под задачу семь лет

Пишу про то, что сам продаю и чиню. Если в статье ошибка — напишите, поправлю.

.article · .toc · .author

Оглавление липкое: в длинной статье оно заменяет полосу прокрутки — видно, где ты и сколько осталось.

Страницы ошибок и состояний

На них попадают в худшую минуту: что-то не нашлось, сломалось или человек только что отдал деньги. Устроены одинаково — знак, короткий заголовок, строка объяснения, одно действие.

№ 184-2210

Заказ принят

Отправили подтверждение на почту. Курьер позвонит завтра с 10:00 до 14:00.

.state-page.успех

По запросу «кофеварка гейзерная» ничего нет

Такие мы пока не возим, но есть похожее.

Что можно сделать · Посмотреть раздел «Кофеварки» — там 36 моделей · Проверить раскладку клавиатуры · Написать нам — привезём под заказ
.state-page.внутри — пусто

Страница не открылась

Что-то сломалось у нас, а не у вас. Уже чиним — попробуйте обновить через минуту.

Ошибка 500 · 20.08.2026 12:04
.state-page.беда

На странице ошибки не пишем «Ошибка 404» заголовком: это код для нас. Номер оставляем мелко внизу — по нему человек опишет проблему в поддержке.

Кабинет покупателя

Кабинет открывают ради одного вопроса: где мой заказ. Поэтому заказы первым пунктом, а состояние показано словами и полосой шагов, а не цветной точкой.

№ 184-2210 от 18 августа 2026 4 370 ₽
Принят Собран В пути Выдан
Фото Фото и ещё 1 товар
№ 184-1980 от 2 августа 2026 Отменён 1 290 ₽
Принят Собран В пути Выдан
.lk · .lk-menu · .order

У отменённого заказа шаги серые целиком: зелёная половина полосы у отменённого заказа выглядит издевательством.

Пустые состояния

Все одинаковые: значок, короткая фраза и подсказка, что сделать. Не смешивать «Пусто», «Нет данных» и «Ничего нет».

Ничего не нашлось Поменяй запрос или сбрось фильтры

Цвета

Берутся из общего набора токенов, а не пишутся числом. Акцент задаётся владельцем в настройках и меняется вместе с темой.

--accent
--surface
--surface-2
--border
--good
--warn
--bad
--muted

Из чего собрано

Оформление лежит по разделам в web/styles/, одна тема — один файл. В браузер уходит один собранный файл: командой python tools/build_styles.py. Список собран из того, что лежит на диске прямо сейчас, — руками его не правят.

Основа2 файлов
00-сброс.cssСброс, прокрутка, тело страницы, служебные классы
01-лицо.cssЧем наш вид узнаётся
Элементы55 файлов
аватарка.cssАватарка
вкладки.cssВкладки: над таблицей и внутри раздела
вложение.cssВложение
всплывающие.cssВсплывающие: меню действий, карточка у элемента, подсказка, строка меню
выделение.cssВыделение
график.cssГрафик
группа-кнопок.cssГруппа кнопок
загрузка-файлов.cssОбласть загрузки файлов
загрузка.cssЗагрузка
затемнение.cssЗатемнение
значок.cssЗначок
инструменты-таблицы.cssИнструменты таблицы
календарь.cssКалендарь
карточка-по-наведению.cssКарточка по наведению
карточки.cssКарточки, строки настроек, вкладки
клавиша.cssКлавиша
кнопки.cssКнопки всех видов и переключатели
код-из-цифр.cssКод из цифр
лента.cssЛента
медиа-объект.cssМедиа-объект, разделители и сетка карточек
меню-боковое.cssБоковое меню разделов
меню-верхнее.cssГоризонтальное меню, путь по разделам, ряд вкладок
меню-правой-кнопкой.cssМеню правой кнопкой
окна.cssВсплывающие окна, полоса сохранения, уведомления
окно-вопроса.cssОкно вопроса
опросник.cssОпросник
переписка.cssПереписка
плашка.cssПлашка
плитка-показателя.cssПлитка показателя
поиск.cssПоиск по сервису: окно с полем и списком найденного
поле-поиска.cssСтрока поиска: поле с лупой внутри и очисткой
поле-с-календарём.cssПоле с календарём
поле-с-подсказками.cssПоле с подсказками
поле-с-приставкой.cssПоле с приставкой
поле-телефона.cssПоле телефона: приставка +7 и запись цифр по-русски
ползунок.cssПолзунок
полосы.cssПолосы: заполнение, ход дела, заглушки на время загрузки
поля.cssПоле ввода целиком: метка, подсказка, ошибка, ряд полей
разделяемые-полосы.cssРазделяемые полосы
раскрывашка.cssРаскрывашка
свойства.cssСписок «свойство — значение», лента событий, карточка с действием
сегменты.cssПереключатели выбора: сегменты и кнопки-выключатели
соотношение.cssСоотношение
список-выбора.cssСписок выбора
строка-списка.cssСтрока списка
счётчик.cssСчётчик
таблицы.cssТаблицы: строки данных, шапка, постраничность
текст.cssТекст
флажки.cssФлажки
чат.cssЧат с покупателем: кнопка в углу и окно переписки
шаги.cssШаги
шапка-карточки.cssШапка карточки: заголовок, подпись и действие справа
шапка.cssВерхняя панель: поиск, значки, подвал и зоны нажатия
шторка-боковая.cssШторка боковая
шторка-нижняя.cssШторка нижняя
Витрина31 файлов
блок-видео.cssСекции «Видео», «Лента с прокруткой» и «Специальные предложения»
блок-возможности.cssБлок возможностей: что умеет сервис или товар
блок-вопросы.cssБлок вопросов и ответов, контакты и баннер
блок-герой.cssБлок «герой»: первый экран витрины
блок-доставка.cssСекция «Доставка и оплата»
блок-категории.cssПлитки разделов и подборок на главной
блок-команда.cssБлок команды: карточки людей с ролью и связью
блок-логотипы.cssРяд логотипов: с кем работаем, где о нас писали
блок-отзывы.cssБлок отзывов: оценка в целом и карточки людей
блок-подписка.cssБлок подписки на письма и полоса согласия
блок-показатели.cssБлок показателей: числа, которыми магазин говорит о себе
блок-призыв.cssБлок призыва: заголовок, строка пояснения и кнопка
блок-связь.cssСекция «Напишите нам» и «Как нас найти»
блок-цены.cssБлок тарифов: колонки с ценой и списком того, что входит
заготовки.cssКрупные заготовки: шапки, подвалы, карточка формы
кабинет.cssЛичный кабинет покупателя: меню, заказы, избранное, сравнение
корзина-шторка.cssКорзина в шторке: подтверждение, что товар добавлен
корзина.cssКорзина: строки товаров и подсчёт к оплате
меню-каталога.cssМеню каталога: список разделов и раскрытие во всю ширину
оформление.cssОформление заказа: шаги, способы доставки и оплаты
подвал.cssПодвал сайта: колонки ссылок, контакты, нижняя строка
полоса-акции.cssВерхняя полоса: акция, срок доставки, важное объявление
сортировка.cssСтрока над каталогом: сортировка, вид сетки, число товаров
статья.cssБлог: карточка статьи, страница статьи, автор, оглавление
страница.cssПолотно страницы магазина: колонка содержимого и ритм между блоками
страницы-состояний.cssСтраницы состояний: ошибка, пусто, заказ принят, вход
товар-карточка.cssКарточка товара и сетка каталога
товар-страница.cssСтраница товара: галерея, варианты, покупка
фильтры.cssФильтры каталога: столбец слева и выбранное строкой сверху
шапка-блока.cssШапка блока на странице: заголовок, пояснение и действие справа
шапка-магазина.cssШапка интернет-магазина
Панель5 файлов
10-главная.cssГлавная: плитки сводки и блоки внимания
20-клиенты-шапка.cssКлиенты: заголовок, счётчики-фильтры, тулбар
21-клиенты-список.cssКлиенты: список и карточка клиента рядом
30-поддержка.cssПоддержка: переписка и обращения
40-профиль.cssПрофиль: вход, пароль, двухфакторная проверка
Адаптив1 файлов
10-узкие-экраны.cssПравила под узкие экраны — общие для всех разделов

Раздел «Панель» в другие проекты не едет: там внутренности панели управления. Всё остальное переносится командой python tools/export_kit.py.