Skip to content

Instantly share code, notes, and snippets.

@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
@piotrkulpinski
piotrkulpinski / .cleaninstall
Last active March 19, 2024 12:45
New macOS install script
#!/bin/sh
# Install Homebrew
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
# Install taps
brew tap homebrew/cask
# Install cli stuff
brew install git
@piotrkulpinski
piotrkulpinski / example-markup.html
Last active September 24, 2015 20:18
Markup styles example
<img alt="" class="alignnone" src="http://placehold.it/350x150">
<p>Within this document, references will be made to <em>elements</em> and <em>attributes</em>. It's important to understand the difference, <wbr>so consider this sample code:</p>
<p><code>&lt;a href="index.php"&gt;Home&lt;/a&gt;</code></p>
<p>The base <abbr title="HyperText Markup Language">HTML</abbr> element is the <code>a</code> in this case. The attribute is any additional information about that element within the initial &lt; &gt; pair, or the <code>href</code> value in this case.</p>
<p>To view the example usage for any item within this document, please view its source.</p>
<hr>