Skip to main content

Стили и макет Ziva

Интерфейс формируется с помощью Lip Gloss. Библиотека экспортирует готовые стили, которые можно использовать как есть или модифицировать.

Готовые стили

Каждый — это объект lipgloss.Style. Его можно клонировать и изменить под свои нужды:
Используйте новые стили в собственных компонентах (например, в кастомных FuncTask или дополнительном выводе после очереди).

Настройка заголовка

Управление шириной

ziva.CalculateLayoutWidth() помогает подобрать ширину вывода, чтобы контент выглядел аккуратно на разных размерах терминала.
Для расчёта terminalWidth можно использовать lipgloss.Width() или github.com/muesli/termenv. Если ширина неизвестна, Ziva использует значение по умолчанию.

Дополнительные подсказки

  • Используйте единый стиль для списков. Подсказки в SingleSelectTask и MultiSelectTask проще читать, если продолжать одну цветовую схему.
  • Учитывайте переносы строк. Если нужно вывести длинное сообщение об ошибке, используйте task.WithNewLinesInErrors(true) на задачах, где доступен этот метод (через базовый интерфейс).
  • Локализуйте текст. Подписи берите из собственных словарей, а не меняйте стили ради перевода.
  • Тестируйте на узких терминалах. Viewport в списковых задачах помогает избежать «ломающегося» интерфейса.

Создание собственных элементов

Вы можете добавить дополнительный вывод до или после queue.Run() с использованием тех же стилей:

Полезные ссылки