From 150f16a3de99aeb2a9bc1df3efa5279907c69530 Mon Sep 17 00:00:00 2001 From: NicholaiVogel Date: Mon, 13 Oct 2025 01:06:17 -0600 Subject: [PATCH] added no pigeon zone --- src/components/Temp-Placeholder.tsx | 66 +++++++++++++++++++++++++++++ src/middleware.ts | 2 +- 2 files changed, 67 insertions(+), 1 deletion(-) diff --git a/src/components/Temp-Placeholder.tsx b/src/components/Temp-Placeholder.tsx index 8a2a066..e68adec 100644 --- a/src/components/Temp-Placeholder.tsx +++ b/src/components/Temp-Placeholder.tsx @@ -6,6 +6,7 @@ import { InstagramFeed } from "./InstagramFeed"; import { useEffect, useRef, useState } from "react"; import { motion, AnimatePresence } from "framer-motion"; import { DepthMap } from "./DepthMap"; +import Image from "next/image"; export function TempPlaceholder() { const titleRef = useRef(null); @@ -16,6 +17,8 @@ export function TempPlaceholder() { const baseBioFontSizeRef = useRef(null); const [isEasterEggOpen, setIsEasterEggOpen] = useState(false); const [mousePosition, setMousePosition] = useState({ x: 0, y: 0 }); + const [isPigeonEggOpen, setIsPigeonEggOpen] = useState(false); + const [pigeonMousePosition, setPigeonMousePosition] = useState({ x: 0, y: 0 }); useEffect(() => { const measure = () => { @@ -180,6 +183,59 @@ export function TempPlaceholder() { )} + + + {isPigeonEggOpen && ( + <> + setIsPigeonEggOpen(false)} + /> + setIsPigeonEggOpen(false)} + > +
+ + No pigeons zone + +
+
+ + )} +

Who we are: artists and technical people, we're better at VFX than we are at web design, I promise. @@ -307,6 +363,16 @@ export function TempPlaceholder() { help@biohazardvfx.com

+ +

{ + setPigeonMousePosition({ x: e.clientX, y: e.clientY }); + setIsPigeonEggOpen(true); + }} + className="text-xs text-gray-600 mt-4 cursor-pointer hover:text-gray-500 transition-colors" + > + No pigeons allowed in this zone +

diff --git a/src/middleware.ts b/src/middleware.ts index 61bc9ec..4a905b0 100644 --- a/src/middleware.ts +++ b/src/middleware.ts @@ -5,7 +5,7 @@ export function middleware(request: NextRequest) { const { pathname } = request.nextUrl; // Allow only the home page and Next.js internal routes - if (pathname === '/' || pathname.startsWith('/_next') || pathname.startsWith('/favicon.') || pathname === '/OLIVER.jpeg' || pathname === '/OLIVER_depth.jpeg') { + if (pathname === '/' || pathname.startsWith('/_next') || pathname.startsWith('/favicon.') || pathname === '/OLIVER.jpeg' || pathname === '/OLIVER_depth.jpeg' || pathname === '/no_pigeons_zone.gif') { return NextResponse.next(); }