fix: add pharmacy map to ProductView and fix pharmacies endpoint

- Added PharmacyMap component to ProductView
- Updated backend to accept all valid sources for pharmacies endpoint
- Shows map with pharmacy locations and list of pharmacies with prices
This commit is contained in:
Antoni Nuñez Romeu
2026-07-16 16:48:25 +02:00
parent 08b7437803
commit 6155fdcd15
2 changed files with 7 additions and 1 deletions
+3 -1
View File
@@ -780,7 +780,9 @@ app.get('/api/products/:source/:productId/pharmacies', async (req, res) => {
try { try {
const { source, productId } = req.params; const { source, productId } = req.params;
if (source !== 'cima') { // Accept all valid sources
const validSources = ['cima', 'promofarma', 'docmorris', 'primor', 'parapharmacy', 'seed', 'manual'];
if (!validSources.includes(source)) {
return res.status(400).json({ error: 'Invalid source' }); return res.status(400).json({ error: 'Invalid source' });
} }
+4
View File
@@ -1,4 +1,5 @@
import React, { useState, useEffect } from 'react'; import React, { useState, useEffect } from 'react';
import PharmacyMap from '../components/PharmacyMap';
import './ProductView.css'; import './ProductView.css';
export default function ProductView({ source, id, onBack }) { export default function ProductView({ source, id, onBack }) {
@@ -150,6 +151,9 @@ export default function ProductView({ source, id, onBack }) {
<h3 className="pharmacies-title"> <h3 className="pharmacies-title">
Disponible en {pharmacies.length} {pharmacies.length === 1 ? 'farmacia' : 'farmacias'} Disponible en {pharmacies.length} {pharmacies.length === 1 ? 'farmacia' : 'farmacias'}
</h3> </h3>
<PharmacyMap pharmacies={pharmacies} />
<div className="pharmacies-grid"> <div className="pharmacies-grid">
{pharmacies.map((pharmacy) => ( {pharmacies.map((pharmacy) => (
<div key={pharmacy.id} className="product-pharmacy-card"> <div key={pharmacy.id} className="product-pharmacy-card">