fix: remove Vercel Analytics for static export compatibility
Remove Vercel Analytics due to static export incompatibility. #VERCEL_SKIP Co-authored-by: Jeff Emmett <46964190+Jeff-Emmett@users.noreply.github.com>
This commit is contained in:
parent
85a2853d4e
commit
52639621f4
|
|
@ -28,8 +28,8 @@ export default function About() {
|
|||
</div>
|
||||
<div className="relative h-[400px] rounded-lg overflow-hidden">
|
||||
<img
|
||||
src="/rustic-log-cabin-in-forest-with-dog.jpg"
|
||||
alt="John's log cabin in the woods"
|
||||
src="https://hebbkx1anhila5yf.public.blob.vercel-storage.com/IMG_20251102_122853_047-GiNIS8BNoexGmhj8mowW475waeD9TL.jpg"
|
||||
alt="John standing next to massive old growth tree"
|
||||
className="w-full h-full object-cover"
|
||||
/>
|
||||
</div>
|
||||
|
|
@ -199,8 +199,8 @@ export default function About() {
|
|||
</div>
|
||||
<div className="relative h-[400px] rounded-lg overflow-hidden">
|
||||
<img
|
||||
src="/shiitake-mushrooms-growing-on-logs-in-forest.jpg"
|
||||
alt="Shiitake cultivation"
|
||||
src="https://hebbkx1anhila5yf.public.blob.vercel-storage.com/IMG_20251102_122710_780-7GtAuktkY0yLGu87XmHgdeYN8ZiWf1.jpg"
|
||||
alt="John working with logs for shiitake cultivation"
|
||||
className="w-full h-full object-cover"
|
||||
/>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -33,13 +33,24 @@ export default function EventsPage() {
|
|||
<Navigation />
|
||||
|
||||
{/* Hero Section */}
|
||||
<section className="py-16 px-4 bg-muted/30">
|
||||
<div className="container mx-auto max-w-4xl text-center">
|
||||
<h1 className="text-5xl font-bold text-foreground mb-6 text-balance">Mushroom Cultivation Courses</h1>
|
||||
<p className="text-xl text-muted-foreground leading-relaxed text-pretty">
|
||||
Learn the ancient art of shiitake cultivation in the heart of a working forest. Hands-on courses taught by
|
||||
someone who lives and breathes mushroom farming.
|
||||
</p>
|
||||
<section className="py-16 px-4 bg-muted/30 forest-texture">
|
||||
<div className="container mx-auto max-w-6xl">
|
||||
<div className="grid md:grid-cols-2 gap-12 items-center">
|
||||
<div>
|
||||
<h1 className="text-5xl font-bold text-foreground mb-6 text-balance">Courses and Events</h1>
|
||||
<p className="text-xl text-muted-foreground leading-relaxed text-pretty">
|
||||
Learn the ancient art of shiitake cultivation in the heart of a working forest. Hands-on courses taught
|
||||
by someone who lives and breathes mushroom farming.
|
||||
</p>
|
||||
</div>
|
||||
<div className="relative h-[400px] rounded-lg overflow-hidden">
|
||||
<img
|
||||
src="https://hebbkx1anhila5yf.public.blob.vercel-storage.com/IMG_20251102_122911_830-2Q0ZOzzzL4YAfdfMMCFpHnOyoCy87p.jpg"
|
||||
alt="Vibrant coral mushrooms in the forest"
|
||||
className="w-full h-full object-cover"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
|
|
@ -79,9 +90,33 @@ export default function EventsPage() {
|
|||
</section>
|
||||
|
||||
{/* Experience Section */}
|
||||
<section className="py-16 px-4 bg-muted/30">
|
||||
<section className="py-16 px-4 bg-muted/30 moss-texture">
|
||||
<div className="container mx-auto max-w-6xl">
|
||||
<h2 className="text-3xl font-bold text-foreground mb-12 text-center">The Learning Experience</h2>
|
||||
<h2 className="text-3xl font-bold text-foreground mb-8 text-center">The Learning Experience</h2>
|
||||
|
||||
<div className="grid md:grid-cols-3 gap-6 mb-12">
|
||||
<div className="relative h-[250px] rounded-lg overflow-hidden">
|
||||
<img
|
||||
src="https://hebbkx1anhila5yf.public.blob.vercel-storage.com/IMG_20251102_122707_376-AQekit9vQDRnqWMpzrQY4xP8WvC8vI.jpg"
|
||||
alt="Morel mushroom in the forest"
|
||||
className="w-full h-full object-cover"
|
||||
/>
|
||||
</div>
|
||||
<div className="relative h-[250px] rounded-lg overflow-hidden">
|
||||
<img
|
||||
src="https://hebbkx1anhila5yf.public.blob.vercel-storage.com/IMG_20251102_122907_932-LpmXYCIUZszbpOlB2dHqAv8nJGCtZU.jpg"
|
||||
alt="Yellow coral mushrooms on moss"
|
||||
className="w-full h-full object-cover"
|
||||
/>
|
||||
</div>
|
||||
<div className="relative h-[250px] rounded-lg overflow-hidden">
|
||||
<img
|
||||
src="https://hebbkx1anhila5yf.public.blob.vercel-storage.com/IMG_20251102_122904_554-FMaSl7fxVmpFdmsHaZEX3E5Vh0NqGN.jpg"
|
||||
alt="Ghost pipe plant in the forest"
|
||||
className="w-full h-full object-cover"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div className="grid md:grid-cols-2 gap-8">
|
||||
<Card className="border-border">
|
||||
|
|
|
|||
|
|
@ -158,6 +158,7 @@
|
|||
position: relative;
|
||||
}
|
||||
|
||||
/* Increased overlay opacity and ensured text is above overlay */
|
||||
.forest-texture::before {
|
||||
content: "";
|
||||
position: absolute;
|
||||
|
|
@ -165,8 +166,16 @@
|
|||
left: 0;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
background-color: rgba(250, 245, 235, 0.85);
|
||||
background-color: rgba(250, 245, 235, 0.92);
|
||||
pointer-events: none;
|
||||
z-index: 0;
|
||||
}
|
||||
|
||||
/* Ensure all content is above the overlay with full opacity */
|
||||
.forest-texture > * {
|
||||
position: relative;
|
||||
z-index: 1;
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
.moss-texture {
|
||||
|
|
|
|||
|
|
@ -1,15 +1,15 @@
|
|||
import type { Metadata } from 'next'
|
||||
import { Geist, Geist_Mono } from 'next/font/google'
|
||||
import { Analytics } from '@vercel/analytics/next'
|
||||
import './globals.css'
|
||||
import type React from "react"
|
||||
import type { Metadata } from "next"
|
||||
import { Geist, Geist_Mono } from "next/font/google"
|
||||
import "./globals.css"
|
||||
|
||||
const _geist = Geist({ subsets: ["latin"] });
|
||||
const _geistMono = Geist_Mono({ subsets: ["latin"] });
|
||||
const _geist = Geist({ subsets: ["latin"] })
|
||||
const _geistMono = Geist_Mono({ subsets: ["latin"] })
|
||||
|
||||
export const metadata: Metadata = {
|
||||
title: 'v0 App',
|
||||
description: 'Created with v0',
|
||||
generator: 'v0.app',
|
||||
title: "Shiitake John's Woodlot",
|
||||
description: "Homegrown shiitake mushrooms from 20 acres of old growth forest on Texada Island",
|
||||
generator: "v0.app",
|
||||
}
|
||||
|
||||
export default function RootLayout({
|
||||
|
|
@ -19,10 +19,7 @@ export default function RootLayout({
|
|||
}>) {
|
||||
return (
|
||||
<html lang="en">
|
||||
<body className={`font-sans antialiased`}>
|
||||
{children}
|
||||
<Analytics />
|
||||
</body>
|
||||
<body className={`font-sans antialiased`}>{children}</body>
|
||||
</html>
|
||||
)
|
||||
}
|
||||
|
|
|
|||
57
app/page.tsx
57
app/page.tsx
|
|
@ -39,8 +39,8 @@ export default function Home() {
|
|||
</div>
|
||||
<div className="relative h-[400px] rounded-lg overflow-hidden">
|
||||
<img
|
||||
src="/shiitake-mushrooms-growing-on-logs-in-forest.jpg"
|
||||
alt="Shiitake mushrooms on logs"
|
||||
src="https://hebbkx1anhila5yf.public.blob.vercel-storage.com/IMG_20251102_122857_357-qnZHfuPlKuvI6Qb5G9QucUFgve1FZk.jpg"
|
||||
alt="Turkey tail mushrooms growing on mossy log"
|
||||
className="w-full h-full object-cover"
|
||||
/>
|
||||
</div>
|
||||
|
|
@ -110,26 +110,41 @@ export default function Home() {
|
|||
endangered fish depend on for survival. Our careful stewardship ensures clean water flows into nearby
|
||||
lakes, preserving habitat for these unique evolutionary treasures.
|
||||
</p>
|
||||
<Button
|
||||
variant="outline"
|
||||
className="border-primary text-primary hover:bg-primary/10 bg-transparent"
|
||||
asChild
|
||||
>
|
||||
<a
|
||||
href="https://bcinvasives.ca/news/texada-island-sticklebacks/"
|
||||
target="_blank"
|
||||
rel="noopener noreferrer"
|
||||
<div className="flex flex-col sm:flex-row gap-4">
|
||||
<Button
|
||||
variant="outline"
|
||||
className="border-primary text-primary hover:bg-primary/10 bg-transparent"
|
||||
asChild
|
||||
>
|
||||
Learn more about the Endangered Stickleback →
|
||||
</a>
|
||||
</Button>
|
||||
<a
|
||||
href="https://bcinvasives.ca/news/texada-island-sticklebacks/"
|
||||
target="_blank"
|
||||
rel="noopener noreferrer"
|
||||
>
|
||||
Learn About the Stickleback →
|
||||
</a>
|
||||
</Button>
|
||||
<Button
|
||||
variant="outline"
|
||||
className="border-primary text-primary hover:bg-primary/10 bg-transparent"
|
||||
asChild
|
||||
>
|
||||
<a
|
||||
href="https://texada.org/texada-island-stickleback-society/"
|
||||
target="_blank"
|
||||
rel="noopener noreferrer"
|
||||
>
|
||||
Texada Stickleback Society →
|
||||
</a>
|
||||
</Button>
|
||||
</div>
|
||||
</div>
|
||||
<div className="relative h-[400px] rounded-lg overflow-hidden bg-muted/50 flex items-center justify-center">
|
||||
<div className="text-center p-8">
|
||||
<div className="text-6xl mb-4">🐟</div>
|
||||
<p className="text-lg font-semibold text-foreground mb-2">Texada Island Stickleback</p>
|
||||
<p className="text-sm text-muted-foreground">One of Earth's youngest and rarest species</p>
|
||||
</div>
|
||||
<img
|
||||
src="https://hebbkx1anhila5yf.public.blob.vercel-storage.com/IMG_20251102_122900_435-wb8VPiXxn7UUctygqQDrIINgVJkDZF.jpg"
|
||||
alt="Moss and lichen in the forest watershed"
|
||||
className="w-full h-full object-cover"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -141,8 +156,8 @@ export default function Home() {
|
|||
<div className="grid md:grid-cols-2 gap-12 items-center">
|
||||
<div className="relative h-[350px] rounded-lg overflow-hidden">
|
||||
<img
|
||||
src="/rustic-log-cabin-in-forest-with-dog.jpg"
|
||||
alt="Log cabin in the woods"
|
||||
src="https://hebbkx1anhila5yf.public.blob.vercel-storage.com/IMG_20251102_122849_429-trLTSHlz0FNvU5yO4XhGqSk8PakrO2.jpg"
|
||||
alt="Una the dog in the mossy forest"
|
||||
className="w-full h-full object-cover"
|
||||
/>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -16,7 +16,7 @@ export function Navigation() {
|
|||
About Shiitake John
|
||||
</Link>
|
||||
<Link href="/events" className="text-foreground hover:text-primary transition-colors">
|
||||
Events
|
||||
Courses and Events
|
||||
</Link>
|
||||
<Link href="/sponsor">
|
||||
<Button className="bg-[#1a4d2e] hover:bg-[#153d24] text-white">Sponsor the Old Growth</Button>
|
||||
|
|
|
|||
|
|
@ -37,7 +37,7 @@
|
|||
"@radix-ui/react-toggle": "1.1.1",
|
||||
"@radix-ui/react-toggle-group": "1.1.1",
|
||||
"@radix-ui/react-tooltip": "1.1.6",
|
||||
"@vercel/analytics": "latest",
|
||||
"@vercel/analytics": "1.3.1",
|
||||
"autoprefixer": "^10.4.20",
|
||||
"class-variance-authority": "^0.7.1",
|
||||
"clsx": "^2.1.1",
|
||||
|
|
|
|||
|
|
@ -93,8 +93,8 @@ importers:
|
|||
specifier: 1.1.6
|
||||
version: 1.1.6(@types/react-dom@19.0.0)(@types/react@19.0.0)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
|
||||
'@vercel/analytics':
|
||||
specifier: latest
|
||||
version: 1.5.0(next@16.0.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react@19.2.0)
|
||||
specifier: 1.3.1
|
||||
version: 1.3.1(next@16.0.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react@19.2.0)
|
||||
autoprefixer:
|
||||
specifier: ^10.4.20
|
||||
version: 10.4.20(postcss@8.5.0)
|
||||
|
|
@ -1201,31 +1201,16 @@ packages:
|
|||
'@types/react@19.0.0':
|
||||
resolution: {integrity: sha512-MY3oPudxvMYyesqs/kW1Bh8y9VqSmf+tzqw3ae8a9DZW68pUe3zAdHeI1jc6iAysuRdACnVknHP8AhwD4/dxtg==}
|
||||
|
||||
'@vercel/analytics@1.5.0':
|
||||
resolution: {integrity: sha512-MYsBzfPki4gthY5HnYN7jgInhAZ7Ac1cYDoRWFomwGHWEX7odTEzbtg9kf/QSo7XEsEAqlQugA6gJ2WS2DEa3g==}
|
||||
'@vercel/analytics@1.3.1':
|
||||
resolution: {integrity: sha512-xhSlYgAuJ6Q4WQGkzYTLmXwhYl39sWjoMA3nHxfkvG+WdBT25c563a7QhwwKivEOZtPJXifYHR1m2ihoisbWyA==}
|
||||
peerDependencies:
|
||||
'@remix-run/react': ^2
|
||||
'@sveltejs/kit': ^1 || ^2
|
||||
next: '>= 13'
|
||||
react: ^18 || ^19 || ^19.0.0-rc
|
||||
svelte: '>= 4'
|
||||
vue: ^3
|
||||
vue-router: ^4
|
||||
react: ^18 || ^19
|
||||
peerDependenciesMeta:
|
||||
'@remix-run/react':
|
||||
optional: true
|
||||
'@sveltejs/kit':
|
||||
optional: true
|
||||
next:
|
||||
optional: true
|
||||
react:
|
||||
optional: true
|
||||
svelte:
|
||||
optional: true
|
||||
vue:
|
||||
optional: true
|
||||
vue-router:
|
||||
optional: true
|
||||
|
||||
aria-hidden@1.2.6:
|
||||
resolution: {integrity: sha512-ik3ZgC9dY/lYVVM++OISsaYDeg1tb0VtP5uL3ouh1koGOaUMDPpbFIei4JkFimWUFPn90sbMNMXQAIVOlnYKJA==}
|
||||
|
|
@ -1634,6 +1619,9 @@ packages:
|
|||
engines: {node: '>=10'}
|
||||
hasBin: true
|
||||
|
||||
server-only@0.0.1:
|
||||
resolution: {integrity: sha512-qepMx2JxAa5jjfzxG79yPPq+8BuFToHd1hm7kI+Z4zAq1ftQiP7HcxMhDDItrbtwVeLg/cY2JnKnrcFkmiswNA==}
|
||||
|
||||
sharp@0.34.4:
|
||||
resolution: {integrity: sha512-FUH39xp3SBPnxWvd5iib1X8XY7J0K0X7d93sie9CJg2PO8/7gmg89Nve6OjItK53/MlAushNNxteBYfM6DEuoA==}
|
||||
engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
|
||||
|
|
@ -2720,7 +2708,9 @@ snapshots:
|
|||
dependencies:
|
||||
csstype: 3.1.3
|
||||
|
||||
'@vercel/analytics@1.5.0(next@16.0.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react@19.2.0)':
|
||||
'@vercel/analytics@1.3.1(next@16.0.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react@19.2.0)':
|
||||
dependencies:
|
||||
server-only: 0.0.1
|
||||
optionalDependencies:
|
||||
next: 16.0.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
|
||||
react: 19.2.0
|
||||
|
|
@ -3086,6 +3076,8 @@ snapshots:
|
|||
semver@7.7.3:
|
||||
optional: true
|
||||
|
||||
server-only@0.0.1: {}
|
||||
|
||||
sharp@0.34.4:
|
||||
dependencies:
|
||||
'@img/colour': 1.0.0
|
||||
|
|
|
|||
Loading…
Reference in New Issue