"use client"

import { useCurrency } from "@/hooks/use-currency"

/**
 * La tasa con la que se convierten todos los precios a bolívares.
 *
 * Hasta v1.18.2 el cliente veía «≈ 7604,55 Bs» bajo cada plato sin que ninguna
 * pantalla dijera de dónde salía ese número ni de cuándo era. En Venezuela esa
 * opacidad es desconfianza directa y reclamos en caja: la tasa se publica.
 *
 * (El componente `currency-selector.tsx` imprimía la tasa, pero no estaba
 * montado en ninguna pantalla.)
 */

const NOMBRE_FUENTE: Record<string, string> = {
  API_BCV: "tasa BCV",
  API_EXCHANGE: "tasa de referencia",
  MANUAL: "tasa de la casa",
  SYSTEM: "tasa del sistema",
  CACHE: "última tasa conocida",
}

export function TasaDelDia({ className = "" }: { className?: string }) {
  const { rate, source, isStale, isLoading, error } = useCurrency()

  // Sin tasa no se dice nada: los precios ya se muestran solo en dólares.
  if (isLoading || error || !rate) return null

  const fuente = (source && NOMBRE_FUENTE[source]) || "tasa de referencia"

  return (
    <p className={`text-xs text-muted-foreground ${className}`}>
      <span className="tabular-nums font-medium text-foreground">
        1 $ = {rate.toFixed(2)} Bs
      </span>{" "}
      <span>({fuente}{isStale ? ", pendiente de actualizar" : ""})</span>
    </p>
  )
}
