Primer prototipo
This commit is contained in:
@@ -0,0 +1,65 @@
|
||||
// Capa de acceso a datos. Toda la app habla con el backend a través de este
|
||||
// módulo. Para cambiar a Supabase u otro BaaS, basta con reescribir las dos
|
||||
// funciones exportadas manteniendo la misma firma.
|
||||
//
|
||||
// Modelo de negocio:
|
||||
// { id, name, category, address, description, contact, lat, lng, status, createdAt }
|
||||
//
|
||||
// `status` es uno de: "pending" | "approved" | "rejected".
|
||||
|
||||
const sampleBusinesses = [
|
||||
{
|
||||
id: "1",
|
||||
name: "Café del Mercado",
|
||||
category: "Cafetería",
|
||||
address: "Plaza Mayor 3, Madrid",
|
||||
description: "Café de especialidad y bollería artesana.",
|
||||
contact: "hola@cafedelmercado.example",
|
||||
lat: 40.4155,
|
||||
lng: -3.7074,
|
||||
status: "approved",
|
||||
createdAt: "2025-01-10T10:00:00Z",
|
||||
},
|
||||
{
|
||||
id: "2",
|
||||
name: "Librería El Faro",
|
||||
category: "Librería",
|
||||
address: "Calle Luna 12, Madrid",
|
||||
description: "Librería independiente con sección infantil.",
|
||||
contact: "",
|
||||
lat: 40.4221,
|
||||
lng: -3.7059,
|
||||
status: "approved",
|
||||
createdAt: "2025-01-12T10:00:00Z",
|
||||
},
|
||||
{
|
||||
id: "3",
|
||||
name: "Taller Bicicletas Rueda",
|
||||
category: "Servicios",
|
||||
address: "Calle Embajadores 45, Madrid",
|
||||
description: "Reparación y venta de segunda mano.",
|
||||
contact: "+34 600 000 000",
|
||||
lat: 40.4078,
|
||||
lng: -3.7053,
|
||||
status: "approved",
|
||||
createdAt: "2025-01-15T10:00:00Z",
|
||||
},
|
||||
];
|
||||
|
||||
// Estado en memoria. Se reinicia al recargar. Suficiente para el prototipo.
|
||||
let businesses = [...sampleBusinesses];
|
||||
|
||||
export function getApproved() {
|
||||
return businesses.filter((b) => b.status === "approved");
|
||||
}
|
||||
|
||||
export function submit(data) {
|
||||
const newBusiness = {
|
||||
...data,
|
||||
id: crypto.randomUUID(),
|
||||
status: "pending",
|
||||
createdAt: new Date().toISOString(),
|
||||
};
|
||||
businesses = [...businesses, newBusiness];
|
||||
return newBusiness;
|
||||
}
|
||||
Reference in New Issue
Block a user