diff --git a/packages/backend/src/services/marketplace.test.ts b/packages/backend/src/services/marketplace.test.ts index bb300b3..0f5ef3b 100644 --- a/packages/backend/src/services/marketplace.test.ts +++ b/packages/backend/src/services/marketplace.test.ts @@ -62,7 +62,7 @@ describe('marketplace', () => { const u = await createUserDirect(env.db, { email: 'u@example.com' }); await createLessonOwnedBy(env.db, o.id, { name: 'Spaans', visibility: 'shared' }); await createLessonOwnedBy(env.db, o.id, { name: 'Frans', visibility: 'shared' }); - const r = await listMarketplaceLessons(env.db, u.id, { q: 'span' }); + const r = await listMarketplaceLessons(env.db, u.id, { q: 'SPA' }); expect(r.rows).toHaveLength(1); expect(r.rows[0]!.name).toBe('Spaans'); }); diff --git a/packages/backend/src/services/marketplace.ts b/packages/backend/src/services/marketplace.ts index a2f77cf..d147a1f 100644 --- a/packages/backend/src/services/marketplace.ts +++ b/packages/backend/src/services/marketplace.ts @@ -22,18 +22,9 @@ export async function listMarketplaceLessons( } if (params.q && params.q.trim() !== '') { const q = params.q.trim().toLowerCase(); - const matches = (haystack: string): boolean => { - const h = haystack.toLowerCase(); - if (h.includes(q)) return true; - // Subsequence match: chars of q appear in order in haystack - let i = 0; - for (let j = 0; j < h.length && i < q.length; j++) { - if (h[j] === q[i]) i++; - } - return i === q.length; - }; candidates = candidates.filter((l) => - matches(l.name) || matches(l.description ?? '') + l.name.toLowerCase().includes(q) + || (l.description ?? '').toLowerCase().includes(q) ); }