Skip to content

Instantly share code, notes, and snippets.

View pugson's full-sized avatar

pugson pugson

View GitHub Profile
import * as React from 'react';
const useIsFirstRender = (): boolean => {
const isFirst = React.useRef(true);
if (isFirst.current) {
isFirst.current = false;
return true;
} else {
@pugson
pugson / props.md
Created January 29, 2024 00:27
SVG → JSX
SVG Attribute JSX Property
class className
fill-opacity fillOpacity
stroke-opacity strokeOpacity
stroke-width strokeWidth
stroke-linecap strokeLinecap
stroke-linejoin strokeLinejoin
stroke-dasharray strokeDasharray
stroke-dashoffset strokeDashoffset
@pugson
pugson / constants.ts
Created April 13, 2024 23:09 — forked from matthewmorek/constants.ts
Handling BASE_URLs in Vercel env
const { CI, PORT = 3000, VERCEL_ENV, NEXT_PUBLIC_VERCEL_ENV, VERCEL_URL, NEXT_PUBLIC_VERCEL_URL } = process.env;
export const ENVIRONMENT = VERCEL_ENV || NEXT_PUBLIC_VERCEL_ENV;
const baseDomainSource = CI ? VERCEL_URL : NEXT_PUBLIC_VERCEL_URL;
const baseDomain = baseDomainSource;
let BASE_URL: string;
if (ENVIRONMENT === 'preview') {
@pugson
pugson / image-with-avg-color.tsx
Created June 2, 2024 09:32
client component that uses FastAverageColor
"use client";
import { FastAverageColor } from "fast-average-color";
import { useEffect, useState } from "react";
const fac = new FastAverageColor();
export function ImageWithAvgColor({ src }: { src: string }) {
const [avgColor, setAvgColor] = useState<string>("transparent");
useEffect(() => {