feat: Implement server-side category and product search via WebSockets, replacing client-side filtering with debounced input and dynamic tree expansion based on server results.

This commit is contained in:
sebseb7
2025-11-24 10:02:35 +01:00
parent d0b8183738
commit 9bf5d93d94
4 changed files with 239 additions and 122 deletions

View File

@@ -1,6 +1,20 @@
export function registerConnection(io) {
import { findMatches } from '../utils/search-helper.js';
export function registerConnection(io, cacheDir) {
io.on('connection', (socket) => {
console.log('🔌 Client connected');
socket.on('search', async (query) => {
// console.log(`🔍 Search request: "${query}"`);
try {
const matches = await findMatches(query, cacheDir);
socket.emit('searchResults', { query, matches });
} catch (err) {
console.error('Search error:', err);
socket.emit('searchResults', { query, matches: [] });
}
});
socket.on('disconnect', () => {
console.log('🔌 Client disconnected');
});