feat: Add Findagram and FindADispo consumer frontends
- Add findagram.co React frontend with product search, brands, categories - Add findadispo.com React frontend with dispensary locator - Wire findagram to backend /api/az/* endpoints - Update category/brand links to route to /products with filters - Add k8s manifests for both frontends - Add multi-domain user support migrations 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@@ -840,6 +840,12 @@ router.get('/dispensaries', async (req: PublicApiRequest, res: Response) => {
|
||||
d.longitude,
|
||||
d.menu_type as platform,
|
||||
d.menu_url,
|
||||
d.hours,
|
||||
d.amenities,
|
||||
d.description,
|
||||
d.image_url,
|
||||
d.google_rating,
|
||||
d.google_review_count,
|
||||
COALESCE(pc.product_count, 0) as product_count,
|
||||
COALESCE(pc.in_stock_count, 0) as in_stock_count,
|
||||
pc.last_updated
|
||||
@@ -885,6 +891,12 @@ router.get('/dispensaries', async (req: PublicApiRequest, res: Response) => {
|
||||
longitude: parseFloat(d.longitude)
|
||||
} : null,
|
||||
platform: d.platform,
|
||||
hours: d.hours || null,
|
||||
amenities: d.amenities || [],
|
||||
description: d.description || null,
|
||||
image_url: d.image_url || null,
|
||||
rating: d.google_rating ? parseFloat(d.google_rating) : null,
|
||||
review_count: d.google_review_count ? parseInt(d.google_review_count, 10) : null,
|
||||
product_count: parseInt(d.product_count || '0', 10),
|
||||
in_stock_count: parseInt(d.in_stock_count || '0', 10),
|
||||
last_updated: d.last_updated,
|
||||
@@ -935,6 +947,12 @@ router.get('/dispensaries', async (req: PublicApiRequest, res: Response) => {
|
||||
d.longitude,
|
||||
d.menu_type as platform,
|
||||
d.menu_url,
|
||||
d.hours,
|
||||
d.amenities,
|
||||
d.description,
|
||||
d.image_url,
|
||||
d.google_rating,
|
||||
d.google_review_count,
|
||||
COALESCE(pc.product_count, 0) as product_count,
|
||||
COALESCE(pc.in_stock_count, 0) as in_stock_count,
|
||||
pc.last_updated
|
||||
@@ -980,6 +998,12 @@ router.get('/dispensaries', async (req: PublicApiRequest, res: Response) => {
|
||||
longitude: parseFloat(d.longitude)
|
||||
} : null,
|
||||
platform: d.platform,
|
||||
hours: d.hours || null,
|
||||
amenities: d.amenities || [],
|
||||
description: d.description || null,
|
||||
image_url: d.image_url || null,
|
||||
rating: d.google_rating ? parseFloat(d.google_rating) : null,
|
||||
review_count: d.google_review_count ? parseInt(d.google_review_count, 10) : null,
|
||||
product_count: parseInt(d.product_count || '0', 10),
|
||||
in_stock_count: parseInt(d.in_stock_count || '0', 10),
|
||||
last_updated: d.last_updated,
|
||||
|
||||
Reference in New Issue
Block a user