diff --git a/docs/device-models.md b/docs/device-models.md index 88b92529..15199b1c 100644 --- a/docs/device-models.md +++ b/docs/device-models.md @@ -63,7 +63,8 @@ windows can scroll normally rather than collapsing the model to zero height. The router gateway and private-phone Setup goal share `HardwareMarketplace.vue`. Buy router / Buy phone replaces the model with a horizontal product carousel, preserving the outer container's height. Discovery queries enabled relays from -`nostr.list-relays` for NIP-99 kind-30402 events. Development builds show clearly +`nostr.list-relays` for NIP-99 kind-30402 events. Phone discovery uses the `pixel` +keyword. Development builds show clearly labeled sample listings when no matching live listings are found. Checkout and the product View/Buy actions remain unimplemented. diff --git a/neode-ui/src/components/HardwareMarketplace.vue b/neode-ui/src/components/HardwareMarketplace.vue index 78365ac7..f63d48c4 100644 --- a/neode-ui/src/components/HardwareMarketplace.vue +++ b/neode-ui/src/components/HardwareMarketplace.vue @@ -30,7 +30,7 @@ const DEV_PHONE_LISTINGS: HardwareListing[] = [ { id: 'dev-pixel-10', pubkey: 'phone-demo-seller', title: 'Pixel 10 ยท GrapheneOS ready', summary: 'A newer Pixel for private, independent mobile computing.', content: '', location: 'Amsterdam, NL', status: 'active', image: '/assets/img/phone-mockups/pixel-10.webp', price: { amount: '699', currency: 'EUR' }, relay: 'development mock' }, ] const devListings = computed(() => props.kind === 'phone' ? DEV_PHONE_LISTINGS : DEV_ROUTER_LISTINGS) -const topicTags = computed(() => props.kind === 'phone' ? ['pixel', 'grapheneos', 'privacy-phone'] : ['openwrt', 'router', 'gl-inet', 'beryl', 'flint']) +const topicTags = computed(() => props.kind === 'phone' ? ['pixel'] : ['openwrt', 'router', 'gl-inet', 'beryl', 'flint']) const open = ref(false) const carousel = ref() const listings = ref([]) @@ -49,7 +49,7 @@ function matchesHardware(item: { title: string; summary: string; content: string const tags = item.tags?.flat().join(' ') ?? '' const text = `${item.title} ${item.summary} ${item.content} ${tags}` return props.kind === 'phone' - ? /\bpixel\b|grapheneos/i.test(text) + ? /\bpixel\b/i.test(text) : /openwrt|gl[- .]?inet|beryl|flint|nanopi|gl-mt3000|gl-mt6000/i.test(text) } function parse(event: {