"use client"; import { cloneElement } from "react"; import { ActivityCalendar } from "react-activity-calendar"; import { Tooltip } from "react-tooltip"; import clsx from "clsx"; import { format } from "date-fns"; import type { ComponentPropsWithoutRef } from "react"; import type { Activity } from "react-activity-calendar"; import styles from "./calendar.module.css"; import "react-tooltip/dist/react-tooltip.css"; export type CalendarProps = ComponentPropsWithoutRef<"div"> & { data: Activity[]; }; const Calendar = ({ data, className, ...rest }: CalendarProps) => { // heavily inspired by https://github.com/grubersjoe/react-github-calendar return (
( {cloneElement(block, { "data-tooltip-id": "activity-tooltip", "data-tooltip-html": `${activity.count === 0 ? "No" : activity.count} contribution${activity.count === 1 ? "" : "s"} on ${format(activity.date, "MMMM do")}`, })} )} fontSize={13} />
); }; export default Calendar;