1
0

Фиксы...

This commit is contained in:
2026-01-19 15:10:37 +07:00
parent 7d7b817d7e
commit 8e3cd770df
17 changed files with 281 additions and 111 deletions

View File

@@ -1,6 +1,6 @@
<template>
<!-- Кнопка-триггер -->
<button class="mobile-select-btn" :class="[variant, { compact }]" @click="open = true">
<button class="mobile-select-btn" :class="[variant, { compact, 'has-selection': hasSelection }]" @click="open = true">
<i v-if="icon" :data-lucide="icon" class="btn-icon"></i>
<span v-if="!compact" class="btn-label">{{ displayValue }}</span>
<i data-lucide="chevron-down" class="btn-arrow"></i>
@@ -85,6 +85,14 @@ const displayValue = computed(() => {
return option?.label || props.placeholder
})
// Проверка: выбран ли не-дефолтный вариант (первый option обычно "Все")
const hasSelection = computed(() => {
if (props.modelValue === null || props.modelValue === undefined) return false
// Если первый option = null — значит "Все", проверяем что выбрано что-то другое
const firstOption = props.options[0]
return firstOption && props.modelValue !== firstOption.id
})
const selectOption = (id) => {
emit('update:modelValue', id)
open.value = false
@@ -191,6 +199,17 @@ onUpdated(refreshIcons)
display: none;
}
/* Подсветка когда выбран активный фильтр */
.mobile-select-btn.has-selection {
background: var(--accent-soft);
border-color: var(--accent);
color: var(--accent);
}
.mobile-select-btn.has-selection .btn-icon {
opacity: 1;
}
.btn-icon {
width: 14px;
height: 14px;