Skip to content
Snippets Groups Projects
Stats.tsx 969 B
Newer Older
Tojo's avatar
Tojo committed
import React from "react";

interface Props {
  children?: React.ReactNode;
  className?: string;
  icon?: JSX.Element;
  title?: string;
  value?: string;
  desc?: string;
  iconColor?: string;
  valueColor?: string;
  descColor?: string;
}

Toavina's avatar
Toavina committed
const Stats = (props: Props) => { 
Tojo's avatar
Tojo committed
  const {
    children,
    className = "",
    iconColor,
    valueColor,
    descColor,
    icon,
    title,
    value,
    desc,
  } = props;
Toavina's avatar
Toavina committed
  
Tojo's avatar
Tojo committed
  return (
    <div className={`stats shadow ${className}`}>
      <div className="stat">
        {icon ? (
          <div className={`stat-figure ${iconColor}`}>{icon}</div>
        ) : (
          <></>
        )}
        <div className="stat-title">{title}</div>
        <div className={`stat-value ${valueColor}`}>{value}</div>
        {desc ? <div className={`stat-desc ${descColor}`}>{desc}</div> : <></>}
Toavina's avatar
Toavina committed
        {children ? <div className="stat-actions">{children}</div> : <></>}
Tojo's avatar
Tojo committed
      </div>
    </div>
  );
};

export default Stats;