NEW
shadcn registry is live·
shadcn registry is live·
shadcn registry is live·
shadcn registry is live·
shadcn registry is live·
shadcn registry is live·
shadcn registry is live·
shadcn registry is live·
shadcn registry is live·
shadcn registry is live·
shadcn registry is live·
shadcn registry is live·
Learn more
Skip to content
Docs

Commit Graph

A commit graph for your projects

Loading...

Installation

CLI

pnpm dlx shadcn@latest add https://animata.design/r/graphs/commit-graph.json

Manual

Run the following command

It will create a new file called commit-graph.tsx inside the components/animata/graphs directory.

mkdir -p components/animata/graphs && touch components/animata/graphs/commit-graph.tsx

Paste the code

Open the newly created file and paste the following code:

import { cn } from "@/lib/utils";
 
const getColor = (count: number): string => {
  const colors: { [key: number]: string } = {
    0: "bg-gray-300",
    1: "bg-green-200",
    2: "bg-green-400",
  };
  return colors[count] ?? "bg-green-600";
};
function CommitGraph() {
  const commitsData = Array.from({ length: 53 }, () =>
    Array.from({ length: 7 }, () => Math.floor(Math.random() * 4)),
  );
  return (
    <section>
      <div className="flex w-52 flex-col items-center justify-center p-6">
        <div id="contributions" className="flex gap-1">
          {commitsData.map((week, i) => (
            <div
              key={`week-${i}`}
              id={`week-${i}`}
              className={cn("flex flex-col gap-1", i < 20 ? "hidden md:flex" : "flex")}
            >
              {week.map((commitCount, j) => (
                <div
                  key={`week-${i}-day-${j}`}
                  id={`week-${i}-day-${j}`}
                  className={cn(
                    "h-1 w-1 sm:h-2 sm:w-2 md:h-3 md:w-3 md:rounded-[2px] lg:h-4 lg:w-4",
                    getColor(commitCount),
                  )}
                />
              ))}
            </div>
          ))}
        </div>
      </div>
    </section>
  );
}
 
export default CommitGraph;

Credits

Built by Aadarsh Baral