import AsyncSearchDropdownController from "./components/async_search_dropdown_controller" export default class extends AsyncSearchDropdownController { async fetchResults(query) { const response = await fetch(`/build_packs/search?q=${encodeURIComponent(query)}`) if (!response.ok) { throw new Error('Failed to fetch buildpacks') } const data = await response.json() return data } renderItem(buildpack) { const latest = buildpack.latest const verifiedBadge = latest.verified ? 'Verified' : '' return `
${latest.namespace}/${latest.name}
${latest.description || 'No description'}
Latest: ${latest.version} | ${latest.licenses?.join(', ') || 'No license info'}
${verifiedBadge}
` } onItemSelect(buildpack, itemElement) { const latest = buildpack.latest this.dispatch("buildpack-selected", { detail: { namespace: latest.namespace, name: latest.name, version: latest.version, description: latest.description } }) } }