about the commit messages used, it follows the pattern
{TICKED ID} {type}(optional scope): short description
optional body
optional footer
import * as React from 'react'; | |
export interface ComponentNameProps { | |
className?: string; | |
// other properties | |
} | |
export const ComponentName: React.FunctionComponent<ComponentNameProps> = ({ className }) => { | |
// internal logic | |
import * as React from 'react'; | |
import { useRouter } from 'next/router'; | |
//----------------------------------------------------------------------------// | |
const isBrowser = window !== undefined; | |
type Gtag = (...args: any[]) => void; | |
export interface IGoogleAnalyticsPageView { |
// Type level bubble sort algorithm | |
// https://twitter.com/anuraghazra | |
type BubbleSort< | |
A extends any[], | |
Curr extends number = A["length"] | |
> = Curr extends 1 | |
? A | |
: A extends [infer F, infer S, ...infer Rest] | |
? BubbleSort< |
useful tools to generate fake or do mock data
Random users - Generate random user profile pictures and names to use them as placeholders for your prototypes and design projects
The goal: Make the code editor get the expected types definitions while I'm coding
Good morning 🇺🇸 / Bom Dia 🇧🇷 / Buenos Dias 🇪🇸 / Bonjour 🇫🇷 / Buongiorno 🇮🇹 / Gudde Moien 🇱🇺 / Guten Morgen 🇩🇪 / Ohayōgozaimasu ( おはようございます ) 🇯🇵 / Zǎoshang hǎo ( 早上好 ) 🇨🇳
D3.js - Data-Driven Documents
[GitHub] d3/d3 - Bring data to life with SVG, Canvas and HTML.
D3.js Tutorial – Data Visualization for Beginners | freeCodeCamp - 2021/11/24