diff --git a/workloads/ecommerce/app/contacto/page.tsx b/workloads/ecommerce/app/contacto/page.tsx new file mode 100644 index 0000000..32ab4bb --- /dev/null +++ b/workloads/ecommerce/app/contacto/page.tsx @@ -0,0 +1,63 @@ +import type { Metadata } from "next"; +import { Mail, MapPin, MessageCircle } from "lucide-react"; +import { Button } from "@/components/ui/button"; + +export const metadata: Metadata = { title: "Contacto | ARI Shopping" }; + +// Numero real confirmado en vivo (probando el boton "Confirmar por +// WhatsApp" del checkout con navegador real): mismo canal que ya usan +// los clientes para confirmar pedidos, consistencia a proposito. +const WHATSAPP_URL = "https://wa.me/573016138155"; +// Correo corporativo nuevo (contacto@cruzcloud.net -> reenviado por +// Cloudflare Email Routing a la casilla real) -- ver nota de +// implementacion en ADR 0010 para el paso manual de DNS pendiente. +const CONTACT_EMAIL = "contacto@cruzcloud.net"; + +export default function ContactoPage() { + return ( +
+ Ayuda +

Contacto

+

+ ¿Tenés una pregunta sobre tu pedido, un producto o un cambio? Escribinos, te respondemos lo antes posible. +

+ +
+ + +
+

WhatsApp

+

+57 301 613 8155

+
+
+ + +
+

Correo

+

{CONTACT_EMAIL}

+
+
+
+ +
+ + Despachamos desde Bogotá D.C., Colombia +
+ + +
+ ); +} diff --git a/workloads/ecommerce/app/envios/page.tsx b/workloads/ecommerce/app/envios/page.tsx new file mode 100644 index 0000000..562f23c --- /dev/null +++ b/workloads/ecommerce/app/envios/page.tsx @@ -0,0 +1,66 @@ +import type { Metadata } from "next"; +import { Calculator, Clock, MapPinned, Truck } from "lucide-react"; + +export const metadata: Metadata = { title: "Envíos | ARI Shopping" }; + +// ADR 0010 §2: el costo de envio se calcula en vivo con EnvioClick (peso + +// direccion), no es un valor fijo -- el copy de abajo describe ese +// comportamiento real, no un placeholder. Transportadoras reales +// confirmadas en una cotizacion en vivo contra la API de EnvioClick +// (PIBOX, COORDINADORA, ENVIA, RAPPI, TCC) -- EnvioClick cotiza entre +// ellas y el sistema toma automaticamente la mas economica por pedido. +const CARRIERS = ["Coordinadora", "Envía", "TCC", "Rappi", "Pibox"]; + +export default function EnviosPage() { + return ( +
+ Ayuda +

Envíos

+

+ Hacemos envíos a nivel nacional desde nuestra bodega en Bogotá D.C. +

+ +
+
+ +

Costo calculado en tiempo real

+

+ El valor del envío se calcula automáticamente según el peso de tu pedido y la dirección de entrega — + lo ves exacto en el checkout antes de pagar, nunca es una tarifa a ciegas. +

+
+
+ +

Transportadoras aliadas

+

+ Cotizamos automáticamente entre {CARRIERS.join(", ")} y asignamos la tarifa más conveniente para cada + pedido. +

+
+
+ +

Tiempos de entrega

+

+ Varían según la transportadora asignada y tu ciudad — una vez despachado tu pedido te compartimos el + número de guía para hacerle seguimiento. +

+
+
+ +

Cobertura

+

+ Envíos a todo el territorio nacional colombiano desde nuestra bodega en Bogotá D.C. +

+
+
+ +

+ ¿Tenés dudas puntuales sobre un pedido? Escribinos por{" "} + + nuestros canales de contacto + + . +

+
+ ); +} diff --git a/workloads/ecommerce/components/layout/footer.tsx b/workloads/ecommerce/components/layout/footer.tsx index 3436fb3..99d7f84 100644 --- a/workloads/ecommerce/components/layout/footer.tsx +++ b/workloads/ecommerce/components/layout/footer.tsx @@ -1,10 +1,30 @@ import Link from "next/link"; import { Facebook, Instagram, MessageCircle } from "lucide-react"; +// "Envíos" y "Contacto" ya tienen paginas reales (app/envios, +// app/contacto -- contenido real: transportadoras de EnvioClick, +// WhatsApp/correo reales). "Preguntas frecuentes" y "Cambios" todavia +// no tienen contenido real decidido -- quedan apuntando a /catalog +// (no rotas, pero tampoco resueltas) hasta que se defina que van a +// decir. +const HELP_LINKS = [ + { label: "Preguntas frecuentes", href: "/catalog" }, + { label: "Envíos", href: "/envios" }, + { label: "Cambios", href: "/catalog" }, + { label: "Contacto", href: "/contacto" }, +]; + +const SHOP_LINKS = [ + { label: "Novedades", href: "/catalog" }, + { label: "Juguetes", href: "/catalog" }, + { label: "Mochilas", href: "/catalog" }, + { label: "Regalos", href: "/catalog" }, +]; + export function Footer() { - return ; + return ; } -function FooterColumn({ title, links }: { title: string; links: string[] }) { - return

{title}

{links.map((link) => {link})}
; +function FooterColumn({ title, links }: { title: string; links: { label: string; href: string }[] }) { + return

{title}

{links.map((link) => {link.label})}
; }