react-floating-profile
Version:
React component to display your github profile <p align="left"> <a href="https://www.npmjs.com/package/react-floating-profile"><img src="https://flat.badgen.net/npm/v/react-floating-profile" alt="react-floating-profile version" /></a> <a href="http
79 lines (73 loc) • 1.81 kB
text/typescript
export interface GitHubUser {
login: string;
id: number;
node_id: string;
avatar_url: string;
gravatar_id: string;
url: string;
html_url: string;
followers_url: string;
following_url: string;
gists_url: string;
starred_url: string;
subscriptions_url: string;
organizations_url: string;
repos_url: string;
events_url: string;
received_events_url: string;
type: string;
user_view_type: string;
site_admin: boolean;
name: string;
company: string | null;
blog: string;
location: string;
email: string | null;
hireable: boolean | null;
bio: string | null;
twitter_username: string | null;
public_repos: number;
public_gists: number;
followers: number;
following: number;
created_at: string;
updated_at: string;
}
/* Public Component Type*/
export type LocationType = "top-right" | "top-left" | "bottom-right" | "bottom-left";
export interface MainOption {
userName: string;
pinnedRepoArr: [] | [string] | [string, string] | [string, string, string] | [string, string, string, string];
location?: LocationType;
accessToken?: string;
}
export interface ModalOption {
userObj: GitHubUser;
pinnedRepoArr?: RepoItemType[];
}
export interface PinnedRepoItemPropTypes {
pinnedRepoItem: RepoItemType;
}
export interface RepoItemType {
id: number;
name: string;
description: string;
language: string;
html_url: string;
stargazers_count: number;
forks_count: number;
}
export interface OrgItem {
login: string;
id: number;
node_id: string;
url: string;
repos_url: string;
events_url: string;
hooks_url: string;
issues_url: string;
members_url: string;
public_members_url: string;
avatar_url: string;
description: string;
}