const categories = await shop.categories.list();
// Render filter tabs
const tabs = [{ id: '', name: 'All' }, ...categories];
tabs.forEach(cat => {
const btn = document.createElement('button');
btn.textContent = cat.name;
btn.addEventListener('click', () => {
filterProducts(cat.name || undefined);
});
filterBar.appendChild(btn);
});
async function filterProducts(category?: string) {
const { products } = await shop.products.list({ category });
renderGrid(products);
}
```---
title: "fetch-categories"
---