1.0.3 • Published 4 years ago

react-ts-github-calendar v1.0.3

Weekly downloads
7
License
MIT
Repository
github
Last release
4 years ago

react-ts-github-calendar

github-calendar wrapper component for react + typescript You can use this component with Next.js too.

🇯🇵ja

:cloud:Installation

You can install it like every other library with yarn

yarn add -D react-ts-github-calendar

or with npm

npm install --save react-ts-github-calendar

:books:Usage

Basic Example

The component work without any additional setup.

// App.tsx
import React from 'react';
import ReactGitHubCalendar from 'react-ts-github-calendar';

// your own component name
export const App: React.FC = () => {
  return <ReactGitHubCalendar userName="YOUR ACCOUNT NAME" />;
};

・ You have to pass userName to component.

Required

NameTypeDescriptionDefault
userNameStringThe GitHub username      ''

Options

NameTypeDescriptionDefault
responsiveBooleanIf true, the graph is changed to scale with the container. Custom CSS should be applied to the element to scale it appropriately.false
tooltipsBooleanIf true, tooltips will be shown when hovered over calendar days.false
global_statsBooleanIf false, the global stats (total, longest and current streaks) will not be calculated and displayed.true
summary_textStringThe text that appears under the calendar"Summary of pull requests, issues opened, and commits made by USERNAME"
cacheNumberThe cache time in seconds.(24 * 60 * 60) *1000
proxyFunctionA function that receives as argument the userName and should return a promise resolving the HTML content of the contributions page. We need proxy for CORS.The default is using @Bloggify's APIs.

Example

<ReactGitHubCalendar tooltips responsive/>
// tooltips = true, responsive = true

<ReactGitHubCalendar global_stats={false} cache={(12 * 60 * 60)*1000}/>

With Next.js

If you want to use this component with Next.js, you have to use dynamic import to avoid SSR.

const ReactGitHubCalendar = dynamic(() => import('react-ts-github-calendar'), {
  ssr: false,
});

Otherwise, you'll see the error

window is not defined

or

document is not defined

:rotating_light:Cation

Sometimes, Streak & Contribution do not working well. (display 0) It may be fixed if you leave it for a few days (because sometimes the changes take a long time to be reflected) or if you delete the cache and reload it.