{ const matchCat = this.category === 'all' || m.category === this.category; const q = this.search.toLowerCase().trim(); const matchSearch = !q || m.name.toLowerCase().includes(q) || m.desc.toLowerCase().includes(q); return matchCat && matchSearch; }); }, isFeatured(slug) { return this.featured.includes(slug); }, clearSearch() { this.search = ''; this.category = 'all'; }, setCategory(cat) { this.category = cat; } }">
/ 50 moduulia
🔍

Yksikään moduuli ei vastaa hakuanne.

Kiinnostaako jokin moduuli?

Kertokaa meille projektistanne. Aktivoimme juuri ne moduulit, joita tarvitsette.

Varaa konsultaatio