This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import { Session } from "@shopify/shopify-api/dist/auth/session"; | |
import { PostgreSQLSessionStorage } from "@shopify/shopify-app-session-storage-postgresql"; | |
import { createClient } from "@supabase/supabase-js"; | |
// Supabase client setup | |
const supabaseUrl = process.env.NEXT_PUBLIC_SUPABASE_URL; | |
const supabaseKey = process.env.NEXT_PUBLIC_SUPABASE_KEY; | |
if (!supabaseUrl || !supabaseKey) { | |
throw new Error("Missing Supabase URL or key"); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import { IncomingMessage } from "http"; | |
import { NextRequest } from "next/server"; | |
import { Socket } from "net"; | |
import { cookies } from "next/headers"; | |
export async function convertNextRequestToIncomingMessage( | |
request: NextRequest | |
): Promise<IncomingMessage> { | |
if (!request || typeof request !== "object") { | |
throw new Error("Invalid request object"); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
"use strict"; | |
class MyCustomMaterial extends THREE.ShaderMaterial { | |
// constructor takes appropriate parameters. | |
// Default values using object destructuring (ES6) | |
// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Destructuring_assignment#Object_destructuring | |
constructor({ | |
color = 0xffffff, | |
emissive = 0x000000, |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
function Noodle() { | |
const { viewport, camera } = useThree() | |
const { nodes } = useGLTF('/worms-transformed.glb') | |
const [geometry] = useState(() => nodes[`noodle_${Math.ceil(Math.random() * 4)}`].geometry) | |
const [speed] = useState(() => 0.1 + Math.random() / 10) | |
const position = useMemo(() => { | |
const z = Math.random() * -30 | |
const bounds = viewport.getCurrentViewport(camera, [0, 0, z]) | |
return [THREE.MathUtils.randFloatSpread(bounds.width), THREE.MathUtils.randFloatSpread(bounds.height * 0.75), z] | |
}, [viewport]) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import { FontLoader } from 'three-stdlib'; | |
import { useLoader } from '@react-three/fiber'; | |
export const useFont = (src) => { | |
return useLoader(FontLoader, src); | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/** | |
* @file useIsoLayoutEffect.js | |
* Hook to suppress useLayoutEffect error on SSR. | |
*/ | |
import { useLayoutEffect, useEffect } from 'react'; | |
const useIsoLayoutEffect = | |
typeof window !== 'undefined' ? useLayoutEffect : useEffect; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import * as THREE from 'three'; | |
(function () { | |
'use strict'; | |
var root = this; | |
var has_require = typeof require !== 'undefined'; | |
// var THREE = root.THREE || (has_require && require('three')); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import { | |
AdditiveBlending, | |
Color, | |
LinearFilter, | |
MeshBasicMaterial, | |
RGBAFormat, | |
ShaderMaterial, | |
Texture, | |
UniformsUtils, | |
Vector2, |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
precision highp float; | |
precision highp int; | |
#define SHADER_NAME ShaderMaterial | |
#define GAMMA_FACTOR 2 | |
#define DOUBLE_SIDED | |
#define NUM_CLIPPING_PLANES 0 | |
uniform mat4 viewMatrix; | |
uniform vec3 cameraPosition; | |
#define TONE_MAPPING | |
#define saturate(a) clamp( a, 0.0, 1.0 ) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Rotations | |
const step = 'q1'; | |
const cameraRotations = { | |
q1: { | |
x: 0.75, | |
y: 0, | |
z: 0, | |
}, | |
q2A: { | |
x: -0, |
NewerOlder