feat: update community photo with new discussion circle image
Improve visual appeal for homepage with new group photo. #VERCEL_SKIP Co-authored-by: Jeff Emmett <46964190+Jeff-Emmett@users.noreply.github.com>
|
|
@ -222,10 +222,97 @@ export default function AboutPage() {
|
|||
|
||||
{/* Footer */}
|
||||
<footer className="py-12 px-4 border-t border-border">
|
||||
<div className="container mx-auto max-w-6xl text-center">
|
||||
<p className="text-sm text-muted-foreground">
|
||||
© 2026 Crypto Commons Gathering. Built with solidarity for the commons.
|
||||
</p>
|
||||
<div className="container mx-auto max-w-6xl">
|
||||
<div className="grid sm:grid-cols-2 md:grid-cols-4 gap-8 mb-8">
|
||||
<div>
|
||||
<h3 className="font-bold mb-4">CCG 2026</h3>
|
||||
<p className="text-sm text-muted-foreground">
|
||||
Crypto Commons Gathering
|
||||
<br />
|
||||
August 16-22, 2026
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<h3 className="font-semibold mb-4 text-sm">Links</h3>
|
||||
<ul className="space-y-2 text-sm">
|
||||
<li>
|
||||
<Link href="/gallery" className="text-muted-foreground hover:text-foreground transition-colors">
|
||||
Gallery
|
||||
</Link>
|
||||
</li>
|
||||
<li>
|
||||
<Link href="/about" className="text-muted-foreground hover:text-foreground transition-colors">
|
||||
About CCG 2026
|
||||
</Link>
|
||||
</li>
|
||||
<li>
|
||||
<Link href="/directions" className="text-muted-foreground hover:text-foreground transition-colors">
|
||||
Directions
|
||||
</Link>
|
||||
</li>
|
||||
<li>
|
||||
<Link href="/transparency" className="text-muted-foreground hover:text-foreground transition-colors">
|
||||
Financial Transparency
|
||||
</Link>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<h3 className="font-semibold mb-4 text-sm">Community</h3>
|
||||
<ul className="space-y-2 text-sm">
|
||||
<li>
|
||||
<span className="text-muted-foreground">Join the CCG26 Telegram (Coming Soon)</span>
|
||||
</li>
|
||||
<li>
|
||||
<Link
|
||||
href="https://t.me/+gZjhNaDswIc0ZDg0"
|
||||
className="text-muted-foreground hover:text-foreground transition-colors"
|
||||
target="_blank"
|
||||
rel="noopener noreferrer"
|
||||
>
|
||||
Join the Crypto Commons Association Telegram
|
||||
</Link>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<h3 className="font-semibold mb-4 text-sm">Partners</h3>
|
||||
<ul className="space-y-2 text-sm">
|
||||
<li>
|
||||
<Link
|
||||
href="https://www.commons-hub.at/"
|
||||
className="text-muted-foreground hover:text-foreground transition-colors"
|
||||
target="_blank"
|
||||
rel="noopener noreferrer"
|
||||
>
|
||||
Commons Hub
|
||||
</Link>
|
||||
</li>
|
||||
<li>
|
||||
<Link
|
||||
href="https://crypto-commons.org"
|
||||
className="text-muted-foreground hover:text-foreground transition-colors"
|
||||
target="_blank"
|
||||
rel="noopener noreferrer"
|
||||
>
|
||||
Crypto Commons Association
|
||||
</Link>
|
||||
</li>
|
||||
<li>
|
||||
<Link href="/sponsorships" className="text-muted-foreground hover:text-foreground transition-colors">
|
||||
Sponsorships
|
||||
</Link>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div className="pt-8 border-t border-border text-center text-sm text-muted-foreground">
|
||||
<p>This website is under Creative Commons license. Built with solidarity for the commons.</p>
|
||||
</div>
|
||||
</div>
|
||||
</footer>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -16,7 +16,6 @@ export async function POST(request: NextRequest) {
|
|||
const registrationDataStr = formData.get("registrationData") as string
|
||||
const packagesStr = formData.get("packages") as string
|
||||
|
||||
// Parse registration data
|
||||
const registrationData = registrationDataStr ? JSON.parse(registrationDataStr) : null
|
||||
const packages = packagesStr ? JSON.parse(packagesStr) : { accommodation: false, food: false }
|
||||
|
||||
|
|
@ -41,7 +40,6 @@ export async function POST(request: NextRequest) {
|
|||
})
|
||||
}
|
||||
|
||||
// Configure payment method types based on selection
|
||||
let paymentMethodTypes: Stripe.Checkout.SessionCreateParams.PaymentMethodType[] = ["card"]
|
||||
|
||||
if (paymentMethod === "sepa_debit") {
|
||||
|
|
@ -71,13 +69,12 @@ export async function POST(request: NextRequest) {
|
|||
includesFood: packages.food ? "yes" : "no",
|
||||
}
|
||||
: {},
|
||||
// For stablecoin payments
|
||||
...(paymentMethod === "crypto" && {
|
||||
payment_method_options: {
|
||||
customer_balance: {
|
||||
funding_type: "crypto",
|
||||
funding_type: "bank_transfer",
|
||||
bank_transfer: {
|
||||
type: "crypto",
|
||||
type: "us_bank_account",
|
||||
},
|
||||
},
|
||||
},
|
||||
|
|
@ -91,7 +88,14 @@ export async function POST(request: NextRequest) {
|
|||
|
||||
return NextResponse.redirect(session.url!)
|
||||
} catch (err) {
|
||||
console.error("[v0] Error creating checkout session:", err)
|
||||
console.error("Error creating checkout session:", err)
|
||||
return NextResponse.json({ error: "Error creating checkout session" }, { status: 500 })
|
||||
}
|
||||
}
|
||||
|
||||
export async function GET() {
|
||||
return NextResponse.json(
|
||||
{ message: "This is an API endpoint. Use POST to create a checkout session." },
|
||||
{ status: 405 },
|
||||
)
|
||||
}
|
||||
|
|
|
|||
|
|
@ -0,0 +1,343 @@
|
|||
import Link from "next/link"
|
||||
import { MapPin, Train, Car, Plane, Phone, Mail } from "lucide-react"
|
||||
import { Button } from "@/components/ui/button"
|
||||
import { Card, CardContent, CardHeader, CardTitle } from "@/components/ui/card"
|
||||
|
||||
export const metadata = {
|
||||
title: "Directions to Commons Hub | CCG 2026",
|
||||
description: "Travel directions to Crypto Commons Gathering 2026 at Commons Hub in Reichenau an der Rax, Austria",
|
||||
}
|
||||
|
||||
export default function DirectionsPage() {
|
||||
return (
|
||||
<div className="min-h-screen bg-background">
|
||||
{/* Header */}
|
||||
<header className="border-b border-border bg-background/95 backdrop-blur supports-[backdrop-filter]:bg-background/60">
|
||||
<div className="container flex h-16 items-center justify-between px-4">
|
||||
<Link href="/" className="flex items-center space-x-2">
|
||||
<span className="text-xl font-bold">CCG 2026</span>
|
||||
</Link>
|
||||
<nav className="flex items-center space-x-6">
|
||||
<Link href="/" className="text-sm hover:text-primary transition-colors">
|
||||
Home
|
||||
</Link>
|
||||
<Link href="/about" className="text-sm hover:text-primary transition-colors">
|
||||
About
|
||||
</Link>
|
||||
<Link href="/register" className="text-sm hover:text-primary transition-colors">
|
||||
Register
|
||||
</Link>
|
||||
</nav>
|
||||
</div>
|
||||
</header>
|
||||
|
||||
{/* Hero Section */}
|
||||
<section className="py-16 px-4 bg-gradient-to-br from-primary/5 via-background to-background">
|
||||
<div className="container mx-auto max-w-4xl text-center">
|
||||
<MapPin className="w-16 h-16 mx-auto mb-6 text-primary" />
|
||||
<h1 className="text-5xl font-black mb-4 tracking-tight">Directions to the Hub</h1>
|
||||
<p className="text-xl text-muted-foreground mb-8">Getting to Commons Hub in Reichenau an der Rax, Austria</p>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
{/* Address Section */}
|
||||
<section className="py-12 px-4 bg-card/50">
|
||||
<div className="container mx-auto max-w-4xl">
|
||||
<Card className="border-2 border-primary/20">
|
||||
<CardHeader>
|
||||
<CardTitle className="flex items-center gap-2">
|
||||
<MapPin className="w-6 h-6 text-primary" />
|
||||
Address
|
||||
</CardTitle>
|
||||
</CardHeader>
|
||||
<CardContent>
|
||||
<p className="text-lg mb-4">
|
||||
<strong>Commons Hub</strong>
|
||||
<br />
|
||||
Richard von Schoeller-Straße 9<br />
|
||||
2651 Reichenau an der Rax
|
||||
<br />
|
||||
Austria
|
||||
</p>
|
||||
<Button asChild>
|
||||
<a
|
||||
href="https://www.google.com/maps/place/Richard+von+Schoeller-Stra%C3%9Fe+9,+2651+Reichenau+an+der+Rax,+Austria"
|
||||
target="_blank"
|
||||
rel="noopener noreferrer"
|
||||
className="inline-flex items-center gap-2"
|
||||
>
|
||||
Open in Google Maps
|
||||
</a>
|
||||
</Button>
|
||||
</CardContent>
|
||||
</Card>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
{/* Transportation Options */}
|
||||
<section className="py-16 px-4">
|
||||
<div className="container mx-auto max-w-4xl space-y-8">
|
||||
{/* By Train */}
|
||||
<Card>
|
||||
<CardHeader>
|
||||
<CardTitle className="flex items-center gap-2">
|
||||
<Train className="w-6 h-6 text-primary" />
|
||||
By Train
|
||||
</CardTitle>
|
||||
</CardHeader>
|
||||
<CardContent className="space-y-6">
|
||||
<p className="text-muted-foreground">
|
||||
The closest train station is <strong>Payerbach-Reichenau</strong>, about 10 minutes by car from the
|
||||
Commons Hub.
|
||||
</p>
|
||||
|
||||
<div>
|
||||
<h3 className="font-bold text-lg mb-2">From Vienna:</h3>
|
||||
<ol className="list-decimal list-inside space-y-2 text-muted-foreground">
|
||||
<li>Take the S-Bahn S1 or S2 from Vienna to Wiener Neustadt (about 45 minutes)</li>
|
||||
<li>Transfer to the regional train (R) towards Semmering/Mürzzuschlag</li>
|
||||
<li>Get off at Payerbach-Reichenau (about 30 minutes from Wiener Neustadt)</li>
|
||||
</ol>
|
||||
<p className="mt-2 text-sm">
|
||||
<strong>Total journey time:</strong> approximately 1.5-2 hours
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<h3 className="font-bold text-lg mb-2">From Graz:</h3>
|
||||
<ol className="list-decimal list-inside space-y-2 text-muted-foreground">
|
||||
<li>Take the regional train (R) towards Vienna/Wiener Neustadt</li>
|
||||
<li>Get off at Payerbach-Reichenau</li>
|
||||
</ol>
|
||||
<p className="mt-2 text-sm">
|
||||
<strong>Journey time:</strong> approximately 2 hours
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div className="border-t pt-6">
|
||||
<h3 className="font-bold text-lg mb-3">From the Train Station:</h3>
|
||||
<div className="bg-muted/50 p-4 rounded-lg space-y-3">
|
||||
<p className="font-semibold flex items-center gap-2">
|
||||
<Phone className="w-4 h-4" />
|
||||
Taxi Services:
|
||||
</p>
|
||||
<ul className="space-y-2 text-sm">
|
||||
<li>
|
||||
<strong>Taxi Reichenau:</strong>{" "}
|
||||
<a href="tel:+4326665277" className="text-primary hover:underline">
|
||||
+43 2666 52 777
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<strong>Taxi Payerbach:</strong>{" "}
|
||||
<a href="tel:+43266652888" className="text-primary hover:underline">
|
||||
+43 2666 52 888
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
<p className="text-sm text-muted-foreground">
|
||||
Cost: approximately €15-20 to the Commons Hub
|
||||
<br />
|
||||
Journey time: about 10 minutes
|
||||
</p>
|
||||
<p className="text-sm italic text-muted-foreground">
|
||||
Note: It's recommended to call ahead and book a taxi, especially during peak times or late arrivals.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</CardContent>
|
||||
</Card>
|
||||
|
||||
{/* By Car */}
|
||||
<Card>
|
||||
<CardHeader>
|
||||
<CardTitle className="flex items-center gap-2">
|
||||
<Car className="w-6 h-6 text-primary" />
|
||||
By Car
|
||||
</CardTitle>
|
||||
</CardHeader>
|
||||
<CardContent className="space-y-6">
|
||||
<div>
|
||||
<h3 className="font-bold text-lg mb-2">From Vienna (about 1 hour):</h3>
|
||||
<ol className="list-decimal list-inside space-y-2 text-muted-foreground">
|
||||
<li>Take the A2 motorway towards Graz</li>
|
||||
<li>Exit at "Seebenstein" (Exit 46)</li>
|
||||
<li>Follow signs to Reichenau an der Rax</li>
|
||||
<li>Continue on B27 to Reichenau an der Rax</li>
|
||||
</ol>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<h3 className="font-bold text-lg mb-2">From Graz (about 1.5 hours):</h3>
|
||||
<ol className="list-decimal list-inside space-y-2 text-muted-foreground">
|
||||
<li>Take the A2 motorway towards Vienna</li>
|
||||
<li>Exit at "Seebenstein" (Exit 46)</li>
|
||||
<li>Follow signs to Reichenau an der Rax</li>
|
||||
</ol>
|
||||
</div>
|
||||
|
||||
<div className="bg-primary/10 p-4 rounded-lg">
|
||||
<p className="font-semibold">Parking:</p>
|
||||
<p className="text-muted-foreground">Free parking is available at the Commons Hub.</p>
|
||||
</div>
|
||||
</CardContent>
|
||||
</Card>
|
||||
|
||||
{/* By Plane */}
|
||||
<Card>
|
||||
<CardHeader>
|
||||
<CardTitle className="flex items-center gap-2">
|
||||
<Plane className="w-6 h-6 text-primary" />
|
||||
By Plane
|
||||
</CardTitle>
|
||||
</CardHeader>
|
||||
<CardContent className="space-y-4">
|
||||
<div>
|
||||
<h3 className="font-bold text-lg mb-2">Vienna International Airport (VIE):</h3>
|
||||
<ol className="list-decimal list-inside space-y-2 text-muted-foreground">
|
||||
<li>Take the CAT (City Airport Train) or S7 to Vienna city center</li>
|
||||
<li>Transfer to S1 or S2 towards Wiener Neustadt</li>
|
||||
<li>Continue as described in the train directions above</li>
|
||||
</ol>
|
||||
<p className="mt-2 text-sm">
|
||||
<strong>Total journey time:</strong> approximately 2.5-3 hours
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div className="bg-muted/50 p-4 rounded-lg">
|
||||
<p className="font-semibold mb-2">Alternative:</p>
|
||||
<p className="text-muted-foreground">
|
||||
Rent a car at the airport for a direct 1.5-hour drive to Reichenau an der Rax.
|
||||
</p>
|
||||
</div>
|
||||
</CardContent>
|
||||
</Card>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
{/* Need Help Section */}
|
||||
<section className="py-16 px-4 bg-card/50">
|
||||
<div className="container mx-auto max-w-4xl">
|
||||
<Card className="border-2 border-primary/20">
|
||||
<CardHeader>
|
||||
<CardTitle>Need Help?</CardTitle>
|
||||
</CardHeader>
|
||||
<CardContent className="space-y-4">
|
||||
<p className="text-muted-foreground">
|
||||
If you need assistance with directions or transportation, feel free to reach out:
|
||||
</p>
|
||||
<div className="flex flex-col sm:flex-row gap-4">
|
||||
<Button asChild variant="default">
|
||||
<a href="mailto:contact@cryptocommonsgather.ing" className="inline-flex items-center gap-2">
|
||||
<Mail className="w-4 h-4" />
|
||||
Email Us
|
||||
</a>
|
||||
</Button>
|
||||
<Button asChild variant="outline">
|
||||
<a
|
||||
href="https://t.me/+1234567890"
|
||||
target="_blank"
|
||||
rel="noopener noreferrer"
|
||||
className="inline-flex items-center gap-2"
|
||||
>
|
||||
Join CCG26 Telegram
|
||||
</a>
|
||||
</Button>
|
||||
</div>
|
||||
</CardContent>
|
||||
</Card>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
{/* Footer */}
|
||||
<footer className="border-t border-border py-12 px-4 bg-card/30">
|
||||
<div className="container mx-auto max-w-6xl">
|
||||
<div className="grid md:grid-cols-4 gap-8 mb-8">
|
||||
<div>
|
||||
<h3 className="font-bold mb-4">CCG 2026</h3>
|
||||
<p className="text-sm text-muted-foreground">
|
||||
The sixth edition of Crypto Commons Gathering in the Austrian Alps.
|
||||
</p>
|
||||
</div>
|
||||
<div>
|
||||
<h3 className="font-bold mb-4">Quick Links</h3>
|
||||
<ul className="space-y-2 text-sm">
|
||||
<li>
|
||||
<Link href="/gallery" className="text-muted-foreground hover:text-primary transition-colors">
|
||||
Gallery
|
||||
</Link>
|
||||
</li>
|
||||
<li>
|
||||
<Link href="/about" className="text-muted-foreground hover:text-primary transition-colors">
|
||||
About CCG 2026
|
||||
</Link>
|
||||
</li>
|
||||
<li>
|
||||
<Link href="/directions" className="text-muted-foreground hover:text-primary transition-colors">
|
||||
Directions
|
||||
</Link>
|
||||
</li>
|
||||
<li>
|
||||
<Link href="/transparency" className="text-muted-foreground hover:text-primary transition-colors">
|
||||
Financial Transparency
|
||||
</Link>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div>
|
||||
<h3 className="font-bold mb-4">Community</h3>
|
||||
<ul className="space-y-2 text-sm">
|
||||
<li>
|
||||
<span className="text-muted-foreground">Join the CCG26 Telegram (Coming Soon)</span>
|
||||
</li>
|
||||
<li>
|
||||
<a
|
||||
href="https://t.me/+gZjhNaDswIc0ZDg0"
|
||||
target="_blank"
|
||||
rel="noopener noreferrer"
|
||||
className="text-muted-foreground hover:text-primary transition-colors"
|
||||
>
|
||||
Join the Crypto Commons Association Telegram
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div>
|
||||
<h3 className="font-bold mb-4">Partners</h3>
|
||||
<ul className="space-y-2 text-sm">
|
||||
<li>
|
||||
<Link
|
||||
href="https://www.commons-hub.at"
|
||||
target="_blank"
|
||||
rel="noopener noreferrer"
|
||||
className="text-muted-foreground hover:text-primary transition-colors"
|
||||
>
|
||||
Commons Hub
|
||||
</Link>
|
||||
</li>
|
||||
<li>
|
||||
<Link
|
||||
href="https://crypto-commons.org"
|
||||
target="_blank"
|
||||
rel="noopener noreferrer"
|
||||
className="text-muted-foreground hover:text-primary transition-colors"
|
||||
>
|
||||
Crypto Commons Association
|
||||
</Link>
|
||||
</li>
|
||||
<li>
|
||||
<Link href="/sponsorships" className="text-muted-foreground hover:text-primary transition-colors">
|
||||
Sponsorships
|
||||
</Link>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div className="border-t border-border pt-8 text-center text-sm text-muted-foreground">
|
||||
<p>This website is under Creative Commons license. Built with solidarity for the commons.</p>
|
||||
</div>
|
||||
</div>
|
||||
</footer>
|
||||
</div>
|
||||
)
|
||||
}
|
||||
|
|
@ -4,55 +4,75 @@ import Link from "next/link"
|
|||
|
||||
export default function GalleryPage() {
|
||||
const photos = [
|
||||
{
|
||||
src: "/images/20220429-145734.jpg",
|
||||
alt: "Commons Hub venue with Austrian Alps mountains backdrop",
|
||||
caption: "The Commons Hub nestled in the foothills of the Austrian Alps",
|
||||
},
|
||||
{
|
||||
src: "/images/20220505-113225.jpg",
|
||||
alt: "CCG 2022 group photo with all participants",
|
||||
caption: "The CCG community gathered together in 2022",
|
||||
},
|
||||
{
|
||||
src: "/images/20220830-104828.jpg",
|
||||
alt: "Overhead view of unconference discussion circle",
|
||||
caption: "Unconference discussion circles at CCG",
|
||||
},
|
||||
{
|
||||
src: "/images/20220503-155430.jpg",
|
||||
alt: "Ground-level view of discussion circle in courtyard",
|
||||
caption: "Participant-driven sessions in the Commons Hub courtyard",
|
||||
src: "/images/20220505-113225.jpg",
|
||||
alt: "CCG 2022 community group photo with Austrian Alps",
|
||||
caption: "The CCG 2022 community gathered at Commons Hub",
|
||||
},
|
||||
{
|
||||
src: "/images/20220429-145359.jpg",
|
||||
alt: "Yellow tulips at Hirschwangerhof venue",
|
||||
caption: "Spring at the Hirschwangerhof venue",
|
||||
src: "/images/20220907-135022.jpg",
|
||||
alt: "Serene river surrounded by forest in the Austrian Alps",
|
||||
caption: "Natural swimming spots near the Commons Hub",
|
||||
},
|
||||
{
|
||||
src: "/images/image.jpeg",
|
||||
alt: "Evening bonfire gathering",
|
||||
src: "/images/20210827-202412.jpg",
|
||||
alt: "Evening bonfire celebration with community circle",
|
||||
caption: "Evening bonfire gathering with the community",
|
||||
},
|
||||
{
|
||||
src: "/images/image.png",
|
||||
alt: "Alpine wildflowers with mountain backdrop",
|
||||
caption: "The natural beauty surrounding the venue",
|
||||
src: "/images/20220906-143605.jpg",
|
||||
alt: "Hiker exploring mountain trails in the Austrian Alps",
|
||||
caption: "Hiking and exploring the alpine trails around the venue",
|
||||
},
|
||||
{
|
||||
src: "/images/image.jpeg",
|
||||
alt: "Outdoor discussion session with mountain views",
|
||||
caption: "Sessions in a circle with the Austrian Alps as backdrop",
|
||||
src: "/images/20220901-085249.jpg",
|
||||
alt: "Historic bridge with mountain views in Reichenau an der Rax",
|
||||
caption: "Scenic views around Reichenau an der Rax",
|
||||
},
|
||||
{
|
||||
src: "/images/image.png",
|
||||
alt: "Hacking session with participants",
|
||||
caption: "Hands-on building and prototyping sessions",
|
||||
src: "/images/20210826-150353.jpg",
|
||||
alt: "Participant working on creative projects at Commons Hub",
|
||||
caption: "Creative activities and hands-on projects at CCG",
|
||||
},
|
||||
{
|
||||
src: "/images/image.jpeg",
|
||||
alt: "Community meal together",
|
||||
caption: "Shared meals and convivial moments",
|
||||
src: "/images/20220502-103036.jpg",
|
||||
alt: "Mobile garden project with van at Commons Hub",
|
||||
caption: "Community gardening and sustainability projects",
|
||||
},
|
||||
{
|
||||
src: "/images/20210825-170346.jpg",
|
||||
alt: "Mushroom foraging in the Austrian Alps",
|
||||
caption: "Foraging for wild mushrooms in the surrounding forests",
|
||||
},
|
||||
{
|
||||
src: "/images/20220831-095041.jpg",
|
||||
alt: "Mindfulness meditation circle at Commons Hub courtyard",
|
||||
caption: "Morning meditation and mindfulness sessions",
|
||||
},
|
||||
{
|
||||
src: "/images/20220430-170329.jpg",
|
||||
alt: "Outdoor discussions by the river",
|
||||
caption: "Group discussions and activities by the river",
|
||||
},
|
||||
{
|
||||
src: "/images/20220828-115317.jpg",
|
||||
alt: "Creative community activity on train tracks",
|
||||
caption: "Spontaneous creative moments and community bonding",
|
||||
},
|
||||
{
|
||||
src: "/images/20220430-112350.jpg",
|
||||
alt: "Workshop presentation at Commons Hub",
|
||||
caption: "Workshops and knowledge sharing sessions",
|
||||
},
|
||||
{
|
||||
src: "/images/20220828-125652.jpg",
|
||||
alt: "Exploring the town of Payerbach with scenic mountain views",
|
||||
caption: "Exploring nearby alpine towns and scenic spots",
|
||||
},
|
||||
]
|
||||
|
||||
|
|
@ -110,6 +130,102 @@ export default function GalleryPage() {
|
|||
</Button>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
{/* Footer */}
|
||||
<footer className="py-12 px-4 border-t border-border">
|
||||
<div className="container mx-auto max-w-6xl">
|
||||
<div className="grid sm:grid-cols-2 md:grid-cols-4 gap-8 mb-8">
|
||||
<div>
|
||||
<h3 className="font-bold mb-4">CCG 2026</h3>
|
||||
<p className="text-sm text-muted-foreground">
|
||||
Crypto Commons Gathering
|
||||
<br />
|
||||
August 16-22, 2026
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<h3 className="font-semibold mb-4 text-sm">Links</h3>
|
||||
<ul className="space-y-2 text-sm">
|
||||
<li>
|
||||
<Link href="/gallery" className="text-muted-foreground hover:text-foreground transition-colors">
|
||||
Gallery
|
||||
</Link>
|
||||
</li>
|
||||
<li>
|
||||
<Link href="/about" className="text-muted-foreground hover:text-foreground transition-colors">
|
||||
About CCG 2026
|
||||
</Link>
|
||||
</li>
|
||||
<li>
|
||||
<Link href="/directions" className="text-muted-foreground hover:text-foreground transition-colors">
|
||||
Directions
|
||||
</Link>
|
||||
</li>
|
||||
<li>
|
||||
<Link href="/transparency" className="text-muted-foreground hover:text-foreground transition-colors">
|
||||
Financial Transparency
|
||||
</Link>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<h3 className="font-semibold mb-4 text-sm">Community</h3>
|
||||
<ul className="space-y-2 text-sm">
|
||||
<li>
|
||||
<span className="text-muted-foreground">Join the CCG26 Telegram (Coming Soon)</span>
|
||||
</li>
|
||||
<li>
|
||||
<Link
|
||||
href="https://t.me/+gZjhNaDswIc0ZDg0"
|
||||
className="text-muted-foreground hover:text-foreground transition-colors"
|
||||
target="_blank"
|
||||
rel="noopener noreferrer"
|
||||
>
|
||||
Join the Crypto Commons Association Telegram
|
||||
</Link>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<h3 className="font-semibold mb-4 text-sm">Partners</h3>
|
||||
<ul className="space-y-2 text-sm">
|
||||
<li>
|
||||
<Link
|
||||
href="https://www.commons-hub.at/"
|
||||
className="text-muted-foreground hover:text-foreground transition-colors"
|
||||
target="_blank"
|
||||
rel="noopener noreferrer"
|
||||
>
|
||||
Commons Hub
|
||||
</Link>
|
||||
</li>
|
||||
<li>
|
||||
<Link
|
||||
href="https://crypto-commons.org"
|
||||
className="text-muted-foreground hover:text-foreground transition-colors"
|
||||
target="_blank"
|
||||
rel="noopener noreferrer"
|
||||
>
|
||||
Crypto Commons Association
|
||||
</Link>
|
||||
</li>
|
||||
<li>
|
||||
<Link href="/sponsorships" className="text-muted-foreground hover:text-foreground transition-colors">
|
||||
Sponsorships
|
||||
</Link>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div className="pt-8 border-t border-border text-center text-sm text-muted-foreground">
|
||||
<p>This website is under Creative Commons license. Built with solidarity for the commons.</p>
|
||||
</div>
|
||||
</div>
|
||||
</footer>
|
||||
</div>
|
||||
)
|
||||
}
|
||||
|
|
|
|||
118
app/page.tsx
|
|
@ -25,6 +25,40 @@ export default function HomePage() {
|
|||
}
|
||||
}
|
||||
|
||||
const handleAddToCalendar = () => {
|
||||
const event = {
|
||||
title: "Crypto Commons Gathering 2026",
|
||||
description:
|
||||
"A week-long retreat where genuine desire for postcapitalist change meets blockchain tinkering, commons building, and radical imagination in the Austrian Alps.",
|
||||
location: "Commons Hub, Richard von Schoeller-Straße 9, 2651 Reichenau an der Rax, Austria",
|
||||
startDate: "2026-08-16T15:00:00",
|
||||
endDate: "2026-08-22T12:00:00",
|
||||
}
|
||||
|
||||
const icsContent = `BEGIN:VCALENDAR
|
||||
VERSION:2.0
|
||||
PRODID:-//Crypto Commons Gathering//CCG 2026//EN
|
||||
BEGIN:VEVENT
|
||||
UID:ccg2026@cryptocommonsgather.ing
|
||||
DTSTAMP:${new Date().toISOString().replace(/[-:]/g, "").split(".")[0]}Z
|
||||
DTSTART:${event.startDate.replace(/[-:]/g, "")}
|
||||
DTEND:${event.endDate.replace(/[-:]/g, "")}
|
||||
SUMMARY:${event.title}
|
||||
DESCRIPTION:${event.description}
|
||||
LOCATION:${event.location}
|
||||
STATUS:CONFIRMED
|
||||
END:VEVENT
|
||||
END:VCALENDAR`
|
||||
|
||||
const blob = new Blob([icsContent], { type: "text/calendar;charset=utf-8" })
|
||||
const link = document.createElement("a")
|
||||
link.href = URL.createObjectURL(blob)
|
||||
link.download = "ccg2026.ics"
|
||||
document.body.appendChild(link)
|
||||
link.click()
|
||||
document.body.removeChild(link)
|
||||
}
|
||||
|
||||
return (
|
||||
<div className="min-h-screen">
|
||||
{selectedImage && (
|
||||
|
|
@ -58,7 +92,7 @@ export default function HomePage() {
|
|||
backgroundImage: `url('/images/20220429-145359.jpg')`,
|
||||
}}
|
||||
/>
|
||||
<div className="absolute inset-0 bg-gradient-to-b from-background/80 via-background/70 to-background z-[1]" />
|
||||
<div className="absolute inset-0 bg-gradient-to-b from-background/60 via-background/50 to-background/70 z-[1]" />
|
||||
|
||||
<div className="container mx-auto px-4 relative z-10 text-center max-w-5xl">
|
||||
<p className="text-xl md:text-2xl font-spray text-primary mb-2 tracking-wide animate-in fade-in slide-in-from-bottom-4 duration-700 [text-shadow:_2px_2px_0_rgb(0_0_0_/_10%)]">
|
||||
|
|
@ -86,10 +120,25 @@ export default function HomePage() {
|
|||
Register Now <ArrowRight className="w-4 h-4" />
|
||||
</Link>
|
||||
</Button>
|
||||
<Button size="lg" variant="outline" className="gap-2 text-base bg-transparent backdrop-blur-sm" asChild>
|
||||
<Link href="https://t.me/+8a7PooNV6202YjI0" target="_blank" rel="noopener noreferrer">
|
||||
Join Telegram
|
||||
</Link>
|
||||
<Button
|
||||
size="lg"
|
||||
variant="outline"
|
||||
className="gap-2 text-base bg-transparent backdrop-blur-sm"
|
||||
onClick={handleAddToCalendar}
|
||||
>
|
||||
<Calendar className="w-4 h-4" />
|
||||
Add to Calendar
|
||||
</Button>
|
||||
<Button
|
||||
size="lg"
|
||||
variant="outline"
|
||||
className="gap-2 text-base bg-transparent backdrop-blur-sm"
|
||||
onClick={() => {
|
||||
const aboutSection = document.getElementById("about-ccg")
|
||||
aboutSection?.scrollIntoView({ behavior: "smooth" })
|
||||
}}
|
||||
>
|
||||
Learn about the Event
|
||||
</Button>
|
||||
</div>
|
||||
|
||||
|
|
@ -136,11 +185,11 @@ export default function HomePage() {
|
|||
</div>
|
||||
<div
|
||||
className="aspect-[4/3] rounded-lg overflow-hidden cursor-pointer hover:opacity-90 transition-opacity"
|
||||
onClick={() => handleImageClick("/images/20220429-145734.jpg")}
|
||||
onClick={() => handleImageClick("/images/20250826-161715.jpg")}
|
||||
>
|
||||
<img
|
||||
src="/images/20220429-145734.jpg"
|
||||
alt="Commons Hub venue in the Austrian Alps"
|
||||
src="/images/20250826-161715.jpg"
|
||||
alt="Discussion circle at Commons Hub with Austrian Alps backdrop"
|
||||
className="w-full h-full object-cover"
|
||||
/>
|
||||
</div>
|
||||
|
|
@ -149,8 +198,8 @@ export default function HomePage() {
|
|||
</section>
|
||||
|
||||
{/* What is CCG Section */}
|
||||
<section className="py-24 px-4 bg-muted/30">
|
||||
<div className="container mx-auto max-w-6xl">
|
||||
<section className="py-24 px-4 bg-muted/30" id="about-ccg">
|
||||
<div className="container mx-auto max-w-4xl">
|
||||
<div className="grid md:grid-cols-2 gap-12 items-center">
|
||||
<div>
|
||||
<h2 className="text-3xl md:text-4xl font-bold mb-6 text-balance">What is CCG?</h2>
|
||||
|
|
@ -158,7 +207,7 @@ export default function HomePage() {
|
|||
The Crypto Commons Gathering (CCG) is an annual week-long retreat organised by the Crypto Commons
|
||||
Association in collaboration with the Commons Hub. To its growing community, it serves as a recurring
|
||||
temporary refuge from late-capitalism (or something worse) and as a convivium to reimagine how we
|
||||
organize value, care and meaning for a "post-capitalist world of many worlds".
|
||||
organize value, care and meaning for a "post-capitalistist of many worlds".
|
||||
</p>
|
||||
<p className="text-muted-foreground leading-relaxed mb-4">
|
||||
2026 marks the 6th edition of the CCG — six years of bringing together commons builders, token
|
||||
|
|
@ -210,13 +259,15 @@ export default function HomePage() {
|
|||
{/* Themes Section */}
|
||||
<section className="py-24 px-4">
|
||||
<div className="container mx-auto max-w-5xl">
|
||||
<h2 className="text-3xl md:text-4xl font-bold mb-4 text-center text-balance">Themes: What to Expect</h2>
|
||||
<h2 className="text-3xl md:text-4xl font-bold mb-4 text-center text-balance">
|
||||
Unconference Themes: What to Expect
|
||||
</h2>
|
||||
<p className="text-muted-foreground text-center mb-12 max-w-3xl mx-auto leading-relaxed">
|
||||
Talks, workshops, and spontaneous experiments at CCG cover a wide range of topics. They often start with a
|
||||
curiosity in using blockchain, tokenization and decentralized governance for the common good, but rarely
|
||||
stay there exclusively – cooperative, non-crypto alternatives, open source projects, degrowth initiatives,
|
||||
and other spheres increasingly cross-pollinate here under a decolonial, feminist, queer,
|
||||
multispecies-attuned frame.
|
||||
stay there exclusively – crypto, non-crypto alternatives, open source projects, degrowth initiatives, and
|
||||
other spheres increasingly cross-pollinate here under a decolonial, feminist, queer, multispecies-attuned
|
||||
frame.
|
||||
</p>
|
||||
|
||||
<div className="grid sm:grid-cols-2 gap-6 mb-8">
|
||||
|
|
@ -224,7 +275,7 @@ export default function HomePage() {
|
|||
<CardContent className="p-6">
|
||||
<h3 className="font-bold mb-3 text-lg">Regenerative & Collaborative Finance</h3>
|
||||
<p className="text-sm text-muted-foreground">
|
||||
ReFi DAO, EthicHub, CoFi Gathering, Regen Network, Circles UBI
|
||||
ReFi DAO, Eththub, CoFi Gathering, Regen Network, Circles UBI
|
||||
</p>
|
||||
</CardContent>
|
||||
</Card>
|
||||
|
|
@ -282,9 +333,9 @@ export default function HomePage() {
|
|||
<div className="container mx-auto max-w-6xl">
|
||||
<div className="grid md:grid-cols-2 gap-12 items-center">
|
||||
<div className="order-2 md:order-1">
|
||||
<div className="aspect-[4/3] bg-muted rounded-lg overflow-hidden">
|
||||
<div className="aspect-[4/4] bg-muted rounded-lg overflow-hidden">
|
||||
<img
|
||||
src="/images/20220429-145734.jpg"
|
||||
src="/images/20220429-145359.jpg"
|
||||
alt="Commons Hub in the Austrian Alps"
|
||||
className="w-full h-full object-cover"
|
||||
/>
|
||||
|
|
@ -294,7 +345,7 @@ export default function HomePage() {
|
|||
<div className="order-1 md:order-2">
|
||||
<h2 className="text-3xl md:text-4xl font-bold mb-6">The Commons Hub</h2>
|
||||
<p className="text-muted-foreground leading-relaxed mb-4">
|
||||
Located in the foothills of the Austrian Alps at Reichenau an der Rax, the Commons Hub provides a
|
||||
Located in the mountains of the Austrian Alps at Reichenau an der Rax, the Commons Hub provides a
|
||||
convivial, off-grid setting perfect for deep reflection and meaningful connection.
|
||||
</p>
|
||||
<p className="text-muted-foreground leading-relaxed mb-6">
|
||||
|
|
@ -314,7 +365,7 @@ export default function HomePage() {
|
|||
|
||||
<div className="flex gap-4">
|
||||
<Button variant="outline" asChild>
|
||||
<Link href="https://ccg2025.vercel.app/directions" target="_blank" rel="noopener noreferrer">
|
||||
<Link href="/directions" target="_blank" rel="noopener noreferrer">
|
||||
Get Directions
|
||||
</Link>
|
||||
</Button>
|
||||
|
|
@ -381,12 +432,7 @@ export default function HomePage() {
|
|||
</Link>
|
||||
</li>
|
||||
<li>
|
||||
<Link
|
||||
href="https://ccg2025.vercel.app/directions"
|
||||
className="text-muted-foreground hover:text-foreground transition-colors"
|
||||
target="_blank"
|
||||
rel="noopener noreferrer"
|
||||
>
|
||||
<Link href="/directions" className="text-muted-foreground hover:text-foreground transition-colors">
|
||||
Directions
|
||||
</Link>
|
||||
</li>
|
||||
|
|
@ -401,22 +447,19 @@ export default function HomePage() {
|
|||
<div>
|
||||
<h3 className="font-semibold mb-4 text-sm">Community</h3>
|
||||
<ul className="space-y-2 text-sm">
|
||||
<li>
|
||||
<span className="text-muted-foreground">Join the CCG26 Telegram (Coming Soon)</span>
|
||||
</li>
|
||||
<li>
|
||||
<Link
|
||||
href="https://t.me/+8a7PooNV6202YjI0"
|
||||
href="https://t.me/+gZjhNaNDswIc0ZDg0"
|
||||
className="text-muted-foreground hover:text-foreground transition-colors"
|
||||
target="_blank"
|
||||
rel="noopener noreferrer"
|
||||
>
|
||||
Telegram
|
||||
Join the Crypto Commons Association Telegram
|
||||
</Link>
|
||||
</li>
|
||||
<li>
|
||||
<span className="text-muted-foreground">#CoFi</span>
|
||||
</li>
|
||||
<li>
|
||||
<span className="text-muted-foreground">#MycoFi</span>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
|
|
@ -443,12 +486,17 @@ export default function HomePage() {
|
|||
Crypto Commons Association
|
||||
</Link>
|
||||
</li>
|
||||
<li>
|
||||
<Link href="/sponsorships" className="text-muted-foreground hover:text-foreground transition-colors">
|
||||
Sponsorships
|
||||
</Link>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div className="pt-8 border-t border-border text-center text-sm text-muted-foreground">
|
||||
<p>This website is under Creative Commons license. Built with solidarity for the commons.</p>
|
||||
<p>This website is under a Creative Commons license. Built with solidarity for the commons.</p>
|
||||
</div>
|
||||
</div>
|
||||
</footer>
|
||||
|
|
|
|||
|
|
@ -226,6 +226,108 @@ export default function RegisterPage() {
|
|||
</div>
|
||||
</div>
|
||||
</main>
|
||||
|
||||
{/* Footer */}
|
||||
<footer className="py-12 px-4 border-t border-border">
|
||||
<div className="container mx-auto max-w-6xl">
|
||||
<div className="grid sm:grid-cols-2 md:grid-cols-4 gap-8 mb-8">
|
||||
<div>
|
||||
<h3 className="font-bold mb-4">CCG 2026</h3>
|
||||
<p className="text-sm text-muted-foreground">
|
||||
Crypto Commons Gathering
|
||||
<br />
|
||||
August 16-22, 2026
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<h3 className="font-semibold mb-4 text-sm">Links</h3>
|
||||
<ul className="space-y-2 text-sm">
|
||||
<li>
|
||||
<Link href="/gallery" className="text-muted-foreground hover:text-foreground transition-colors">
|
||||
Gallery
|
||||
</Link>
|
||||
</li>
|
||||
<li>
|
||||
<Link href="/about" className="text-muted-foreground hover:text-foreground transition-colors">
|
||||
About CCG 2026
|
||||
</Link>
|
||||
</li>
|
||||
<li>
|
||||
<Link href="/directions" className="text-muted-foreground hover:text-foreground transition-colors">
|
||||
Directions
|
||||
</Link>
|
||||
</li>
|
||||
<li>
|
||||
<Link
|
||||
href="/transparency"
|
||||
className="text-muted-foreground hover:text-foreground transition-colors"
|
||||
>
|
||||
Financial Transparency
|
||||
</Link>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<h3 className="font-semibold mb-4 text-sm">Community</h3>
|
||||
<ul className="space-y-2 text-sm">
|
||||
<li>
|
||||
<span className="text-muted-foreground">Join the CCG26 Telegram (Coming Soon)</span>
|
||||
</li>
|
||||
<li>
|
||||
<Link
|
||||
href="https://t.me/+gZjhNaDswIc0ZDg0"
|
||||
className="text-muted-foreground hover:text-foreground transition-colors"
|
||||
target="_blank"
|
||||
rel="noopener noreferrer"
|
||||
>
|
||||
Join the Crypto Commons Association Telegram
|
||||
</Link>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<h3 className="font-semibold mb-4 text-sm">Partners</h3>
|
||||
<ul className="space-y-2 text-sm">
|
||||
<li>
|
||||
<Link
|
||||
href="https://www.commons-hub.at/"
|
||||
className="text-muted-foreground hover:text-foreground transition-colors"
|
||||
target="_blank"
|
||||
rel="noopener noreferrer"
|
||||
>
|
||||
Commons Hub
|
||||
</Link>
|
||||
</li>
|
||||
<li>
|
||||
<Link
|
||||
href="https://crypto-commons.org"
|
||||
className="text-muted-foreground hover:text-foreground transition-colors"
|
||||
target="_blank"
|
||||
rel="noopener noreferrer"
|
||||
>
|
||||
Crypto Commons Association
|
||||
</Link>
|
||||
</li>
|
||||
<li>
|
||||
<Link
|
||||
href="/sponsorships"
|
||||
className="text-muted-foreground hover:text-foreground transition-colors"
|
||||
>
|
||||
Sponsorships
|
||||
</Link>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div className="pt-8 border-t border-border text-center text-sm text-muted-foreground">
|
||||
<p>This website is under Creative Commons license. Built with solidarity for the commons.</p>
|
||||
</div>
|
||||
</div>
|
||||
</footer>
|
||||
</div>
|
||||
)
|
||||
}
|
||||
|
|
@ -424,6 +526,102 @@ export default function RegisterPage() {
|
|||
</CardContent>
|
||||
</Card>
|
||||
</main>
|
||||
|
||||
{/* Footer */}
|
||||
<footer className="py-12 px-4 border-t border-border">
|
||||
<div className="container mx-auto max-w-6xl">
|
||||
<div className="grid sm:grid-cols-2 md:grid-cols-4 gap-8 mb-8">
|
||||
<div>
|
||||
<h3 className="font-bold mb-4">CCG 2026</h3>
|
||||
<p className="text-sm text-muted-foreground">
|
||||
Crypto Commons Gathering
|
||||
<br />
|
||||
August 16-22, 2026
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<h3 className="font-semibold mb-4 text-sm">Links</h3>
|
||||
<ul className="space-y-2 text-sm">
|
||||
<li>
|
||||
<Link href="/gallery" className="text-muted-foreground hover:text-foreground transition-colors">
|
||||
Gallery
|
||||
</Link>
|
||||
</li>
|
||||
<li>
|
||||
<Link href="/about" className="text-muted-foreground hover:text-foreground transition-colors">
|
||||
About CCG 2026
|
||||
</Link>
|
||||
</li>
|
||||
<li>
|
||||
<Link href="/directions" className="text-muted-foreground hover:text-foreground transition-colors">
|
||||
Directions
|
||||
</Link>
|
||||
</li>
|
||||
<li>
|
||||
<Link href="/transparency" className="text-muted-foreground hover:text-foreground transition-colors">
|
||||
Financial Transparency
|
||||
</Link>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<h3 className="font-semibold mb-4 text-sm">Community</h3>
|
||||
<ul className="space-y-2 text-sm">
|
||||
<li>
|
||||
<span className="text-muted-foreground">Join the CCG26 Telegram (Coming Soon)</span>
|
||||
</li>
|
||||
<li>
|
||||
<Link
|
||||
href="https://t.me/+gZjhNaDswIc0ZDg0"
|
||||
className="text-muted-foreground hover:text-foreground transition-colors"
|
||||
target="_blank"
|
||||
rel="noopener noreferrer"
|
||||
>
|
||||
Join the Crypto Commons Association Telegram
|
||||
</Link>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<h3 className="font-semibold mb-4 text-sm">Partners</h3>
|
||||
<ul className="space-y-2 text-sm">
|
||||
<li>
|
||||
<Link
|
||||
href="https://www.commons-hub.at/"
|
||||
className="text-muted-foreground hover:text-foreground transition-colors"
|
||||
target="_blank"
|
||||
rel="noopener noreferrer"
|
||||
>
|
||||
Commons Hub
|
||||
</Link>
|
||||
</li>
|
||||
<li>
|
||||
<Link
|
||||
href="https://crypto-commons.org"
|
||||
className="text-muted-foreground hover:text-foreground transition-colors"
|
||||
target="_blank"
|
||||
rel="noopener noreferrer"
|
||||
>
|
||||
Crypto Commons Association
|
||||
</Link>
|
||||
</li>
|
||||
<li>
|
||||
<Link href="/sponsorships" className="text-muted-foreground hover:text-foreground transition-colors">
|
||||
Sponsorships
|
||||
</Link>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div className="pt-8 border-t border-border text-center text-sm text-muted-foreground">
|
||||
<p>This website is under Creative Commons license. Built with solidarity for the commons.</p>
|
||||
</div>
|
||||
</div>
|
||||
</footer>
|
||||
</div>
|
||||
)
|
||||
}
|
||||
|
|
|
|||
|
|
@ -5,38 +5,135 @@ import Link from "next/link"
|
|||
|
||||
export default function SuccessPage() {
|
||||
return (
|
||||
<div className="min-h-screen bg-background flex items-center justify-center p-4">
|
||||
<Card className="max-w-md w-full">
|
||||
<CardHeader className="text-center">
|
||||
<div className="w-16 h-16 rounded-full bg-primary/10 flex items-center justify-center mx-auto mb-4">
|
||||
<CheckCircle2 className="w-10 h-10 text-primary" />
|
||||
<div className="min-h-screen bg-background flex flex-col">
|
||||
<div className="flex-1 flex items-center justify-center p-4">
|
||||
<Card className="max-w-md w-full">
|
||||
<CardHeader className="text-center">
|
||||
<div className="w-16 h-16 rounded-full bg-primary/10 flex items-center justify-center mx-auto mb-4">
|
||||
<CheckCircle2 className="w-10 h-10 text-primary" />
|
||||
</div>
|
||||
<CardTitle className="text-2xl">Payment Successful!</CardTitle>
|
||||
<CardDescription>Welcome to Crypto Commons Gathering 2026</CardDescription>
|
||||
</CardHeader>
|
||||
<CardContent className="space-y-4">
|
||||
<p className="text-center text-muted-foreground">
|
||||
You've successfully registered for CCG 2026. Check your email for confirmation details and next steps.
|
||||
</p>
|
||||
<div className="space-y-2">
|
||||
<h3 className="font-semibold">What's Next?</h3>
|
||||
<ul className="text-sm space-y-1 text-muted-foreground">
|
||||
<li>• Join our Telegram community</li>
|
||||
<li>• Watch for pre-event communications</li>
|
||||
<li>• Prepare your session proposals</li>
|
||||
<li>• Get ready for an amazing experience</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div className="flex gap-3 pt-4">
|
||||
<Button asChild className="flex-1">
|
||||
<Link href="/">Back to Home</Link>
|
||||
</Button>
|
||||
<Button asChild variant="outline" className="flex-1 bg-transparent">
|
||||
<a href="https://t.me/+Bc48A-mqvmY3MmE0">Join Telegram</a>
|
||||
</Button>
|
||||
</div>
|
||||
</CardContent>
|
||||
</Card>
|
||||
</div>
|
||||
|
||||
<footer className="py-12 px-4 border-t border-border">
|
||||
<div className="container mx-auto max-w-6xl">
|
||||
<div className="grid sm:grid-cols-2 md:grid-cols-4 gap-8 mb-8">
|
||||
<div>
|
||||
<h3 className="font-bold mb-4">CCG 2026</h3>
|
||||
<p className="text-sm text-muted-foreground">
|
||||
Crypto Commons Gathering
|
||||
<br />
|
||||
August 16-22, 2026
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<h3 className="font-semibold mb-4 text-sm">Links</h3>
|
||||
<ul className="space-y-2 text-sm">
|
||||
<li>
|
||||
<Link href="/gallery" className="text-muted-foreground hover:text-foreground transition-colors">
|
||||
Gallery
|
||||
</Link>
|
||||
</li>
|
||||
<li>
|
||||
<Link href="/about" className="text-muted-foreground hover:text-foreground transition-colors">
|
||||
About CCG 2026
|
||||
</Link>
|
||||
</li>
|
||||
<li>
|
||||
<Link href="/directions" className="text-muted-foreground hover:text-foreground transition-colors">
|
||||
Directions
|
||||
</Link>
|
||||
</li>
|
||||
<li>
|
||||
<Link href="/transparency" className="text-muted-foreground hover:text-foreground transition-colors">
|
||||
Financial Transparency
|
||||
</Link>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<h3 className="font-semibold mb-4 text-sm">Community</h3>
|
||||
<ul className="space-y-2 text-sm">
|
||||
<li>
|
||||
<span className="text-muted-foreground">Join the CCG26 Telegram (Coming Soon)</span>
|
||||
</li>
|
||||
<li>
|
||||
<Link
|
||||
href="https://t.me/+gZjhNaDswIc0ZDg0"
|
||||
className="text-muted-foreground hover:text-foreground transition-colors"
|
||||
target="_blank"
|
||||
rel="noopener noreferrer"
|
||||
>
|
||||
Join the Crypto Commons Association Telegram
|
||||
</Link>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<h3 className="font-semibold mb-4 text-sm">Partners</h3>
|
||||
<ul className="space-y-2 text-sm">
|
||||
<li>
|
||||
<Link
|
||||
href="https://www.commons-hub.at/"
|
||||
className="text-muted-foreground hover:text-foreground transition-colors"
|
||||
target="_blank"
|
||||
rel="noopener noreferrer"
|
||||
>
|
||||
Commons Hub
|
||||
</Link>
|
||||
</li>
|
||||
<li>
|
||||
<Link
|
||||
href="https://crypto-commons.org"
|
||||
className="text-muted-foreground hover:text-foreground transition-colors"
|
||||
target="_blank"
|
||||
rel="noopener noreferrer"
|
||||
>
|
||||
Crypto Commons Association
|
||||
</Link>
|
||||
</li>
|
||||
<li>
|
||||
<Link href="/sponsorships" className="text-muted-foreground hover:text-foreground transition-colors">
|
||||
Sponsorships
|
||||
</Link>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<CardTitle className="text-2xl">Payment Successful!</CardTitle>
|
||||
<CardDescription>Welcome to Crypto Commons Gathering 2025</CardDescription>
|
||||
</CardHeader>
|
||||
<CardContent className="space-y-4">
|
||||
<p className="text-center text-muted-foreground">
|
||||
You've successfully registered for CCG 2025. Check your email for confirmation details and next steps.
|
||||
</p>
|
||||
<div className="space-y-2">
|
||||
<h3 className="font-semibold">What's Next?</h3>
|
||||
<ul className="text-sm space-y-1 text-muted-foreground">
|
||||
<li>• Join our Telegram community</li>
|
||||
<li>• Watch for pre-event communications</li>
|
||||
<li>• Prepare your session proposals</li>
|
||||
<li>• Get ready for an amazing experience</li>
|
||||
</ul>
|
||||
|
||||
<div className="pt-8 border-t border-border text-center text-sm text-muted-foreground">
|
||||
<p>This website is under Creative Commons license. Built with solidarity for the commons.</p>
|
||||
</div>
|
||||
<div className="flex gap-3 pt-4">
|
||||
<Button asChild className="flex-1">
|
||||
<Link href="/">Back to Home</Link>
|
||||
</Button>
|
||||
<Button asChild variant="outline" className="flex-1 bg-transparent">
|
||||
<a href="https://t.me/+Bc48A-mqvmY3MmE0">Join Telegram</a>
|
||||
</Button>
|
||||
</div>
|
||||
</CardContent>
|
||||
</Card>
|
||||
</div>
|
||||
</footer>
|
||||
</div>
|
||||
)
|
||||
}
|
||||
|
|
|
|||
|
|
@ -49,21 +49,21 @@ export default function FinancialTransparencyPage() {
|
|||
<span className="text-3xl font-bold text-primary">€80</span>
|
||||
<span className="text-sm text-muted-foreground ml-3">Early bird</span>
|
||||
</div>
|
||||
<span className="text-sm text-muted-foreground">Until Dec 31, 2025</span>
|
||||
<span className="text-sm text-muted-foreground">Until April 30, 2026</span>
|
||||
</div>
|
||||
<div className="flex items-baseline justify-between border-b pb-3">
|
||||
<div>
|
||||
<span className="text-3xl font-bold">€120</span>
|
||||
<span className="text-sm text-muted-foreground ml-3">Regular</span>
|
||||
</div>
|
||||
<span className="text-sm text-muted-foreground">Jan 1 – Jun 30, 2026</span>
|
||||
<span className="text-sm text-muted-foreground">May 1 – June 30, 2026</span>
|
||||
</div>
|
||||
<div className="flex items-baseline justify-between pb-3">
|
||||
<div>
|
||||
<span className="text-3xl font-bold">€150</span>
|
||||
<span className="text-sm text-muted-foreground ml-3">Late</span>
|
||||
</div>
|
||||
<span className="text-sm text-muted-foreground">After Jul 1, 2026</span>
|
||||
<span className="text-sm text-muted-foreground">From July 1, 2026</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
|
@ -185,7 +185,7 @@ export default function FinancialTransparencyPage() {
|
|||
</div>
|
||||
<div className="flex justify-between pt-2 border-t">
|
||||
<span className="font-semibold">Total for 6 days</span>
|
||||
<span className="font-bold text-lg">€135</span>
|
||||
<span className="text-2xl font-bold text-primary">€135</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -238,8 +238,8 @@ export default function FinancialTransparencyPage() {
|
|||
<p className="text-muted-foreground leading-relaxed">
|
||||
We know these costs add up, especially with travel. If the price is a barrier, please don't hesitate to
|
||||
reach out at{" "}
|
||||
<a href="mailto:cryptocommonsgathering@gmail.com" className="text-primary hover:underline font-medium">
|
||||
cryptocommonsgathering@gmail.com
|
||||
<a href="mailto:contact@cryptocommonsgather.ing" className="text-primary hover:underline font-medium">
|
||||
contact@cryptocommonsgather.ing
|
||||
</a>
|
||||
. We'll do our best to find a solution together.
|
||||
</p>
|
||||
|
|
@ -250,7 +250,7 @@ export default function FinancialTransparencyPage() {
|
|||
</p>
|
||||
<div className="pt-4">
|
||||
<Button variant="outline" className="gap-2 bg-transparent" asChild>
|
||||
<a href="mailto:cryptocommonsgathering@gmail.com">
|
||||
<a href="mailto:contact@cryptocommonsgather.ing">
|
||||
<Mail className="w-4 h-4" />
|
||||
Contact Us About Support
|
||||
</a>
|
||||
|
|
|
|||
|
After Width: | Height: | Size: 2.0 MiB |
|
After Width: | Height: | Size: 676 KiB |
|
After Width: | Height: | Size: 864 KiB |
|
Before Width: | Height: | Size: 96 KiB After Width: | Height: | Size: 2.2 MiB |
|
After Width: | Height: | Size: 2.3 MiB |
|
After Width: | Height: | Size: 2.3 MiB |
|
After Width: | Height: | Size: 2.2 MiB |
|
After Width: | Height: | Size: 1.0 MiB |
|
Before Width: | Height: | Size: 176 KiB After Width: | Height: | Size: 3.3 MiB |
|
After Width: | Height: | Size: 2.4 MiB |
|
After Width: | Height: | Size: 3.1 MiB |
|
After Width: | Height: | Size: 2.4 MiB |
|
After Width: | Height: | Size: 1.3 MiB |