feat(pos): улучшить адаптивность POS-терминала для мобильных устройств

- col-md-8/4 → col-12 col-md-8/4 для корректного отображения на мобильных
- Кнопки действий: height: 60px → min-height: 44px (минимальный размер для тапа)
- Модальные окна: добавлен modal-fullscreen-sm-down/md-down
- Колонки внутри модалок: добавлен col-12 для мобильной адаптивности
- Увеличена мелкая кнопка отмены скидки: 32px → 40px
- CSS: добавлены медиа-запросы для мобильных устройств
  * min-height: 44px для полей ввода и кнопок
  * font-size: 16px предотвращает зум на iOS
  * Оптимизация отступов в модалках
  * UX улучшения для тач-устройств
  * Плавная прокрутка на iOS
- Исправлено перекрытие товаров корзиной на мобильных (position: absolute → relative)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
2026-01-16 19:21:05 +03:00
parent c8284a6ac5
commit 18cca326af
2 changed files with 122 additions and 21 deletions

View File

@@ -85,8 +85,8 @@ body {
.cart-item .btn-link {
font-size: 1.5rem;
line-height: 1;
width: 28px;
height: 28px;
width: 40px;
height: 40px;
display: flex;
align-items: center;
justify-content: center;
@@ -257,8 +257,36 @@ body {
@media (max-width: 767.98px) {
.right-panel-fixed {
position: relative;
width: 100%;
left: 0;
top: auto;
right: auto;
bottom: auto;
left: auto;
padding: 0.75rem;
padding-right: 0.75rem;
z-index: auto;
}
/* На мобильных меняем layout контейнера */
.pos-container {
overflow-y: auto;
height: auto;
padding: 0.75rem;
}
/* Убираем fixed высоту из основного контейнера на мобильных */
.pos-main-container {
position: relative;
top: auto;
bottom: auto;
overflow-y: auto;
}
/* Левая колонка (товары) не должна быть flex */
.col-12.col-md-8[style*="flex-direction: column"] {
display: block !important;
height: auto !important;
}
}
@@ -423,3 +451,76 @@ body {
background-color: #f8d7da;
color: #721c24;
}
/* ============================================================
АДАПТИВНОСТЬ ДЛЯ МОБИЛЬНЫХ УСТРОЙСТВ
============================================================ */
/* Увеличение размера элементов управления на мобильных */
@media (max-width: 767.98px) {
/* Поля ввода - минимальный размер для тапа */
.form-control,
.form-select {
min-height: 44px;
font-size: 16px; /* Предотвращает зум на iOS при фокусе */
}
/* Кнопки - минимальный размер для тапа */
.btn {
min-height: 44px;
}
}
/* На десктопе возвращаем фиксированную высоту для кнопок действий */
@media (min-width: 768px) {
.action-buttons-panel .btn {
height: 60px;
}
}
/* Оптимизация модалок на мобильных */
@media (max-width: 767.98px) {
/* Уменьшаем отступы в модалках */
.modal-body {
padding: 1rem 0.75rem;
}
.modal-footer {
padding: 0.75rem;
}
/* Прокручиваемые списки */
#tempKitItemsList,
#unitSelectionList {
max-height: 150px !important;
}
}
/* Улучшение UX для тач-устройств */
@media (hover: none) and (pointer: coarse) {
/* Убираем hover-эффекты */
.product-card:hover,
.category-card:hover,
.unit-selection-card:hover {
transform: none;
}
/* Добавляем эффект нажатия */
.product-card:active,
.category-card:active,
.unit-selection-card:active {
transform: scale(0.98);
transition: transform 0.1s;
}
/* Подсветка при тапе */
.btn,
.cart-item .btn-link {
-webkit-tap-highlight-color: rgba(13, 110, 253, 0.2);
}
}
/* Плавная прокрутка на iOS */
.products-scrollable {
-webkit-overflow-scrolling: touch;
}