Unified search algorithm across all lists; per-section record visibility (contacts, deals, activities, leads, finance, tickets, notes, projects)

This commit is contained in:
2026-10-06 15:04:46 +03:30
parent 43717392b2
commit e08f1452ef
38 changed files with 699 additions and 420 deletions
+4 -6
View File
@@ -1,5 +1,6 @@
<script setup lang="ts">
import { computed, onMounted, ref, watch } from 'vue';
import { matchesSearch } from '@/lib/search';
import { RouterLink, useRoute, useRouter } from 'vue-router';
import axios from 'axios';
import { api } from '@/lib/api';
@@ -219,13 +220,10 @@ const currencySelectOptions = computed(() => {
});
const filteredProducts = computed(() => {
const q = productSearch.value.trim().toLowerCase();
const q = productSearch.value.trim();
if (!q) return products.value;
return products.value.filter(
(p) =>
p.name.toLowerCase().includes(q) ||
(p.sku && p.sku.toLowerCase().includes(q)) ||
(p.description && p.description.toLowerCase().includes(q)),
return products.value.filter((p) =>
matchesSearch(q, [p.name, p.sku, p.description, p.category]),
);
});