Skip to content

Instantly share code, notes, and snippets.

"use client"
import { useEffect } from "react"
import { env, isDev } from "~/env"
type AdGoogleProps = {
adSlot: string
adLayoutKey: string
adFormat?: string
fullWidthResponsive?: boolean
import type { ComponentProps } from "react"
import { cva, cx } from "~/utils/cva"
const starsVariants = cva({
base: [
"overflow-hidden pointer-events-none select-none blur-[0.5px]",
"before:absolute before:inset-0 before:bg-radial-[at_top_center] before:from-fuchsia-950/50 before:to-transparent before:to-50%",
],
})
@piotrkulpinski
piotrkulpinski / component.tsx
Last active October 25, 2024 12:19
Northern Lights Component
import type { CSSProperties, HTMLAttributes } from "react"
import { cx } from "~/utils/cva"
export const NorthernLights = ({ className, ...props }: HTMLAttributes<HTMLDivElement>) => {
return (
<div
className={cx(
"fixed inset-x-0 top-0 z-50 flex h-32 flex-row items-center justify-center px-4 text-center bg-fd-background text-md gap-4 font-semibold pointer-events-none opacity-50",
className,
)}
import Stripe from "stripe"
import { z } from "zod"
export const stripe = new Stripe(process.env.STRIPE_SECRET_KEY ?? "", {
apiVersion: "2024-04-10",
})
export const stripeCheckoutSchema = z.object({
price: z.coerce.number(),
quantity: z.coerce.number(),
@piotrkulpinski
piotrkulpinski / api.generate-content.ts
Last active August 14, 2024 14:01
Generate product descriptions and relevant links using Anthropic API
import { createAnthropic } from "@ai-sdk/anthropic"
import Firecrawl from "@mendable/firecrawl-js"
import type { Tool } from "@prisma/client"
import { json } from "@remix-run/node"
import { generateObject } from "ai"
import { z } from "zod"
import { prisma } from "~/services.server/prisma"
const anthropic = createAnthropic()
const model = anthropic("claude-3-5-sonnet-20240620")
@piotrkulpinski
piotrkulpinski / settings.json
Created January 3, 2024 08:35
VS Code Settings
{
// Window
"window.title": "${rootName}${separator}${activeEditorShort}",
"window.titleBarStyle": "custom",
"window.nativeTabs": true,
"window.commandCenter": false,
"workbench.colorTheme": "Default Dark+",
"workbench.iconTheme": "vs-tabler",
"workbench.sideBar.location": "right",
"workbench.editor.enablePreviewFromQuickOpen": true,
#!/bin/bash
# ------------------------------------------------------------------------------
echo "\033[4;33mUpdating Oh My Zsh\033[0m"
omz update --unattended
# ------------------------------------------------------------------------------
#!/bin/sh
echo "\033[4;33mUpdating Oh My Zsh…\033[0m"
omz update
echo "\033[4;33mUpdating global Homebrew packages…\033[0m"
brew upgrade --greedy
brew upgrade --cask --greedy
brew cleanup
@piotrkulpinski
piotrkulpinski / populate-form.js
Last active September 30, 2022 15:18
Pre-populating form based on the array stored in localStorage
const storageKey = 'storage'
const serializeArray = (elements, options) => {
const serializeData = []
const defaults = {
excludeTypes: ['password', 'hidden', 'submit'],
excludeNames: [],
}
const opts = Object.assign(defaults, options)
@piotrkulpinski
piotrkulpinski / fix-unknown-collation
Last active September 29, 2020 08:48
Fix "Unknown collation: 'utf8mb4_0900_ai_ci'"
sed -i '' 's/utf8mb4_0900_ai_ci/utf8mb4_unicode_ci/g' 2019-10-26-prod.sql