Files
cannaiq/findadispo/frontend/src/mockData.js
Kelly a0f8d3911c 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>
2025-12-05 16:10:15 -07:00

235 lines
6.3 KiB
JavaScript

// Mock dispensary data for development
export const mockDispensaries = [
{
id: 1,
name: "Green Haven Dispensary",
slug: "green-haven",
address: "123 Main St, Phoenix, AZ 85001",
phone: "(602) 555-0123",
hours: "9:00 AM - 9:00 PM",
rating: 4.8,
reviews: 342,
distance: 1.2,
lat: 33.4484,
lng: -112.0740,
image: "https://images.unsplash.com/photo-1587854692152-cbe660dbde88?w=400&h=300&fit=crop",
isOpen: true,
amenities: ["Parking", "Wheelchair Access", "ATM"],
description: "Premium cannabis dispensary offering a wide selection of flower, edibles, and concentrates."
},
{
id: 2,
name: "Desert Bloom Cannabis",
slug: "desert-bloom",
address: "456 Oak Ave, Scottsdale, AZ 85251",
phone: "(480) 555-0456",
hours: "10:00 AM - 8:00 PM",
rating: 4.6,
reviews: 218,
distance: 2.5,
lat: 33.4942,
lng: -111.9261,
image: "https://images.unsplash.com/photo-1603909223429-69bb7c5a7e97?w=400&h=300&fit=crop",
isOpen: true,
amenities: ["Parking", "Online Ordering"],
description: "Your neighborhood dispensary with knowledgeable staff and quality products."
},
{
id: 3,
name: "Cactus Wellness",
slug: "cactus-wellness",
address: "789 Cactus Rd, Tempe, AZ 85281",
phone: "(480) 555-0789",
hours: "8:00 AM - 10:00 PM",
rating: 4.9,
reviews: 567,
distance: 3.1,
lat: 33.4255,
lng: -111.9400,
image: "https://images.unsplash.com/photo-1585063560070-e4e3f0b5e0e1?w=400&h=300&fit=crop",
isOpen: true,
amenities: ["Parking", "Wheelchair Access", "ATM", "Online Ordering"],
description: "Award-winning dispensary focused on wellness and patient education."
},
{
id: 4,
name: "Mountain High Dispensary",
slug: "mountain-high",
address: "321 Summit Blvd, Mesa, AZ 85201",
phone: "(480) 555-0321",
hours: "9:00 AM - 9:00 PM",
rating: 4.4,
reviews: 156,
distance: 4.2,
lat: 33.4152,
lng: -111.8315,
image: "https://images.unsplash.com/photo-1616690710400-a16d146927c5?w=400&h=300&fit=crop",
isOpen: false,
amenities: ["Parking", "ATM"],
description: "Locally owned dispensary with competitive prices and daily deals."
},
{
id: 5,
name: "Valley Verde",
slug: "valley-verde",
address: "555 Valley View Dr, Glendale, AZ 85301",
phone: "(623) 555-0555",
hours: "10:00 AM - 9:00 PM",
rating: 4.7,
reviews: 289,
distance: 5.8,
lat: 33.5387,
lng: -112.1860,
image: "https://images.unsplash.com/photo-1558642452-9d2a7deb7f62?w=400&h=300&fit=crop",
isOpen: true,
amenities: ["Parking", "Wheelchair Access", "Online Ordering"],
description: "Family-friendly atmosphere with a focus on medical cannabis."
},
{
id: 6,
name: "Sunrise Cannabis Co",
slug: "sunrise-cannabis",
address: "888 Sunrise Blvd, Chandler, AZ 85225",
phone: "(480) 555-0888",
hours: "7:00 AM - 11:00 PM",
rating: 4.5,
reviews: 423,
distance: 6.3,
lat: 33.3062,
lng: -111.8413,
image: "https://images.unsplash.com/photo-1571166585747-8b6e1a93d2a7?w=400&h=300&fit=crop",
isOpen: true,
amenities: ["Parking", "Drive-Through", "ATM", "Online Ordering"],
description: "Open early for your convenience with drive-through service available."
},
{
id: 7,
name: "Oasis Dispensary",
slug: "oasis-dispensary",
address: "222 Palm Lane, Gilbert, AZ 85234",
phone: "(480) 555-0222",
hours: "9:00 AM - 8:00 PM",
rating: 4.3,
reviews: 178,
distance: 7.1,
lat: 33.3528,
lng: -111.7890,
image: "https://images.unsplash.com/photo-1585320806297-9794b3e4eeae?w=400&h=300&fit=crop",
isOpen: true,
amenities: ["Parking", "Wheelchair Access"],
description: "Relaxing environment with a curated selection of premium products."
},
{
id: 8,
name: "Copper State Cannabis",
slug: "copper-state",
address: "444 Copper Ave, Tucson, AZ 85701",
phone: "(520) 555-0444",
hours: "10:00 AM - 7:00 PM",
rating: 4.6,
reviews: 312,
distance: 8.5,
lat: 32.2226,
lng: -110.9747,
image: "https://images.unsplash.com/photo-1601055903647-ddf1ee9701b7?w=400&h=300&fit=crop",
isOpen: false,
amenities: ["Parking", "ATM", "Online Ordering"],
description: "Tucson's premier cannabis destination with Arizona-grown products."
}
];
// Mock saved searches for dashboard
export const mockSavedSearches = [
{
id: 1,
query: "Phoenix dispensaries",
filters: { distance: 5, rating: 4 },
createdAt: "2024-01-15T10:30:00Z"
},
{
id: 2,
query: "Open now Scottsdale",
filters: { openNow: true },
createdAt: "2024-01-10T14:20:00Z"
},
{
id: 3,
query: "Dispensaries with parking",
filters: { amenities: ["Parking"] },
createdAt: "2024-01-05T09:15:00Z"
}
];
// Mock alerts for dashboard
export const mockAlerts = [
{
id: 1,
dispensaryName: "Green Haven Dispensary",
alertType: "price_drop",
notifyVia: ["email"],
active: true,
createdAt: "2024-01-12T11:00:00Z"
},
{
id: 2,
dispensaryName: "Desert Bloom Cannabis",
alertType: "new_location",
notifyVia: ["email", "sms"],
active: true,
createdAt: "2024-01-08T16:45:00Z"
},
{
id: 3,
dispensaryName: "Cactus Wellness",
alertType: "price_drop",
notifyVia: ["sms"],
active: false,
createdAt: "2024-01-01T08:30:00Z"
}
];
// Mock user data
export const mockUser = {
id: 1,
name: "John Doe",
email: "john@example.com",
phone: "(555) 123-4567",
notifications: {
email: true,
sms: false,
marketing: false
}
};
// Helper function to get dispensary by slug
export const getDispensaryBySlug = (slug) => {
return mockDispensaries.find(d => d.slug === slug);
};
// Helper function to search dispensaries
export const searchDispensaries = (query, filters = {}) => {
let results = [...mockDispensaries];
if (query) {
const searchTerm = query.toLowerCase();
results = results.filter(d =>
d.name.toLowerCase().includes(searchTerm) ||
d.address.toLowerCase().includes(searchTerm)
);
}
if (filters.openNow) {
results = results.filter(d => d.isOpen);
}
if (filters.minRating) {
results = results.filter(d => d.rating >= filters.minRating);
}
if (filters.maxDistance) {
results = results.filter(d => d.distance <= filters.maxDistance);
}
return results;
};