From 0a07ece5ff10cbb000f6fdecdc9d310d9d3034fd Mon Sep 17 00:00:00 2001 From: v0 Date: Wed, 10 Dec 2025 22:20:30 +0000 Subject: [PATCH] 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> --- app/about/page.tsx | 95 ++++++- app/api/create-checkout-session/route.ts | 16 +- app/directions/page.tsx | 343 +++++++++++++++++++++++ app/gallery/page.tsx | 176 ++++++++++-- app/page.tsx | 118 +++++--- app/register/page.tsx | 198 +++++++++++++ app/success/page.tsx | 157 +++++++++-- app/transparency/page.tsx | 14 +- public/images/20210825-170346.jpg | Bin 0 -> 2099197 bytes public/images/20210826-150353.jpg | Bin 0 -> 692038 bytes public/images/20210827-202412.jpg | Bin 0 -> 884490 bytes public/images/20220430-112350.jpg | Bin 98126 -> 2288735 bytes public/images/20220430-170329.jpg | Bin 0 -> 2370569 bytes public/images/20220502-103036.jpg | Bin 0 -> 2453212 bytes public/images/20220828-115317.jpg | Bin 0 -> 2284327 bytes public/images/20220828-125652.jpg | Bin 0 -> 1094676 bytes public/images/20220830-104828.jpg | Bin 179805 -> 3497477 bytes public/images/20220831-095041.jpg | Bin 0 -> 2505086 bytes public/images/20220906-143605.jpg | Bin 0 -> 3251497 bytes public/images/20220907-135022.jpg | Bin 0 -> 2480847 bytes public/images/20250826-161715.jpg | Bin 0 -> 1352880 bytes 21 files changed, 1005 insertions(+), 112 deletions(-) create mode 100644 app/directions/page.tsx create mode 100644 public/images/20210825-170346.jpg create mode 100644 public/images/20210826-150353.jpg create mode 100644 public/images/20210827-202412.jpg create mode 100644 public/images/20220430-170329.jpg create mode 100644 public/images/20220502-103036.jpg create mode 100644 public/images/20220828-115317.jpg create mode 100644 public/images/20220828-125652.jpg create mode 100644 public/images/20220831-095041.jpg create mode 100644 public/images/20220906-143605.jpg create mode 100644 public/images/20220907-135022.jpg create mode 100644 public/images/20250826-161715.jpg diff --git a/app/about/page.tsx b/app/about/page.tsx index 7b90267..1f09097 100644 --- a/app/about/page.tsx +++ b/app/about/page.tsx @@ -222,10 +222,97 @@ export default function AboutPage() { {/* Footer */} diff --git a/app/api/create-checkout-session/route.ts b/app/api/create-checkout-session/route.ts index faca94a..d58f012 100644 --- a/app/api/create-checkout-session/route.ts +++ b/app/api/create-checkout-session/route.ts @@ -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 }, + ) +} diff --git a/app/directions/page.tsx b/app/directions/page.tsx new file mode 100644 index 0000000..6d57f76 --- /dev/null +++ b/app/directions/page.tsx @@ -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 ( +
+ {/* Header */} +
+
+ + CCG 2026 + + +
+
+ + {/* Hero Section */} +
+
+ +

Directions to the Hub

+

Getting to Commons Hub in Reichenau an der Rax, Austria

+
+
+ + {/* Address Section */} +
+
+ + + + + Address + + + +

+ Commons Hub +
+ Richard von Schoeller-Straße 9
+ 2651 Reichenau an der Rax +
+ Austria +

+ +
+
+
+
+ + {/* Transportation Options */} +
+
+ {/* By Train */} + + + + + By Train + + + +

+ The closest train station is Payerbach-Reichenau, about 10 minutes by car from the + Commons Hub. +

+ +
+

From Vienna:

+
    +
  1. Take the S-Bahn S1 or S2 from Vienna to Wiener Neustadt (about 45 minutes)
  2. +
  3. Transfer to the regional train (R) towards Semmering/Mürzzuschlag
  4. +
  5. Get off at Payerbach-Reichenau (about 30 minutes from Wiener Neustadt)
  6. +
+

+ Total journey time: approximately 1.5-2 hours +

+
+ +
+

From Graz:

+
    +
  1. Take the regional train (R) towards Vienna/Wiener Neustadt
  2. +
  3. Get off at Payerbach-Reichenau
  4. +
+

+ Journey time: approximately 2 hours +

+
+ +
+

From the Train Station:

+
+

+ + Taxi Services: +

+ +

+ Cost: approximately €15-20 to the Commons Hub +
+ Journey time: about 10 minutes +

+

+ Note: It's recommended to call ahead and book a taxi, especially during peak times or late arrivals. +

+
+
+
+
+ + {/* By Car */} + + + + + By Car + + + +
+

From Vienna (about 1 hour):

+
    +
  1. Take the A2 motorway towards Graz
  2. +
  3. Exit at "Seebenstein" (Exit 46)
  4. +
  5. Follow signs to Reichenau an der Rax
  6. +
  7. Continue on B27 to Reichenau an der Rax
  8. +
+
+ +
+

From Graz (about 1.5 hours):

+
    +
  1. Take the A2 motorway towards Vienna
  2. +
  3. Exit at "Seebenstein" (Exit 46)
  4. +
  5. Follow signs to Reichenau an der Rax
  6. +
+
+ +
+

Parking:

+

Free parking is available at the Commons Hub.

+
+
+
+ + {/* By Plane */} + + + + + By Plane + + + +
+

Vienna International Airport (VIE):

+
    +
  1. Take the CAT (City Airport Train) or S7 to Vienna city center
  2. +
  3. Transfer to S1 or S2 towards Wiener Neustadt
  4. +
  5. Continue as described in the train directions above
  6. +
+

+ Total journey time: approximately 2.5-3 hours +

+
+ +
+

Alternative:

+

+ Rent a car at the airport for a direct 1.5-hour drive to Reichenau an der Rax. +

+
+
+
+
+
+ + {/* Need Help Section */} +
+
+ + + Need Help? + + +

+ If you need assistance with directions or transportation, feel free to reach out: +

+ +
+
+
+
+ + {/* Footer */} +
+
+
+
+

CCG 2026

+

+ The sixth edition of Crypto Commons Gathering in the Austrian Alps. +

+
+
+

Quick Links

+
    +
  • + + Gallery + +
  • +
  • + + About CCG 2026 + +
  • +
  • + + Directions + +
  • +
  • + + Financial Transparency + +
  • +
+
+
+

Community

+ +
+
+

Partners

+
    +
  • + + Commons Hub + +
  • +
  • + + Crypto Commons Association + +
  • +
  • + + Sponsorships + +
  • +
+
+
+
+

This website is under Creative Commons license. Built with solidarity for the commons.

+
+
+
+
+ ) +} diff --git a/app/gallery/page.tsx b/app/gallery/page.tsx index 2744ac1..f9f4a4b 100644 --- a/app/gallery/page.tsx +++ b/app/gallery/page.tsx @@ -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() { + + {/* Footer */} + ) } diff --git a/app/page.tsx b/app/page.tsx index e8ea34d..b432a45 100644 --- a/app/page.tsx +++ b/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 (
{selectedImage && ( @@ -58,7 +92,7 @@ export default function HomePage() { backgroundImage: `url('/images/20220429-145359.jpg')`, }} /> -
+

@@ -86,10 +120,25 @@ export default function HomePage() { Register Now - +

@@ -136,11 +185,11 @@ export default function HomePage() {
handleImageClick("/images/20220429-145734.jpg")} + onClick={() => handleImageClick("/images/20250826-161715.jpg")} > Commons Hub venue in the Austrian Alps
@@ -149,8 +198,8 @@ export default function HomePage() { {/* What is CCG Section */} -
-
+
+

What is CCG?

@@ -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".

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 */}

-

Themes: What to Expect

+

+ Unconference Themes: What to Expect +

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.

@@ -224,7 +275,7 @@ export default function HomePage() {

Regenerative & Collaborative Finance

- ReFi DAO, EthicHub, CoFi Gathering, Regen Network, Circles UBI + ReFi DAO, Eththub, CoFi Gathering, Regen Network, Circles UBI

@@ -282,9 +333,9 @@ export default function HomePage() {
-
+
Commons Hub in the Austrian Alps @@ -294,7 +345,7 @@ export default function HomePage() {

The Commons Hub

- 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.

@@ -314,7 +365,7 @@ export default function HomePage() {

@@ -381,12 +432,7 @@ export default function HomePage() {
  • - + Directions
  • @@ -401,22 +447,19 @@ export default function HomePage() {

    Community

      +
    • + Join the CCG26 Telegram (Coming Soon) +
    • - Telegram + Join the Crypto Commons Association Telegram
    • -
    • - #CoFi -
    • -
    • - #MycoFi -
    @@ -443,12 +486,17 @@ export default function HomePage() { Crypto Commons Association +
  • + + Sponsorships + +
  • -

    This website is under Creative Commons license. Built with solidarity for the commons.

    +

    This website is under a Creative Commons license. Built with solidarity for the commons.

    diff --git a/app/register/page.tsx b/app/register/page.tsx index 50dc3cf..06526ed 100644 --- a/app/register/page.tsx +++ b/app/register/page.tsx @@ -226,6 +226,108 @@ export default function RegisterPage() {
    + + {/* Footer */} +
    +
    +
    +
    +

    CCG 2026

    +

    + Crypto Commons Gathering +
    + August 16-22, 2026 +

    +
    + +
    +

    Links

    +
      +
    • + + Gallery + +
    • +
    • + + About CCG 2026 + +
    • +
    • + + Directions + +
    • +
    • + + Financial Transparency + +
    • +
    +
    + +
    +

    Community

    +
      +
    • + Join the CCG26 Telegram (Coming Soon) +
    • +
    • + + Join the Crypto Commons Association Telegram + +
    • +
    +
    + +
    +

    Partners

    +
      +
    • + + Commons Hub + +
    • +
    • + + Crypto Commons Association + +
    • +
    • + + Sponsorships + +
    • +
    +
    +
    + +
    +

    This website is under Creative Commons license. Built with solidarity for the commons.

    +
    +
    +
    ) } @@ -424,6 +526,102 @@ export default function RegisterPage() { + + {/* Footer */} +
    +
    +
    +
    +

    CCG 2026

    +

    + Crypto Commons Gathering +
    + August 16-22, 2026 +

    +
    + +
    +

    Links

    +
      +
    • + + Gallery + +
    • +
    • + + About CCG 2026 + +
    • +
    • + + Directions + +
    • +
    • + + Financial Transparency + +
    • +
    +
    + +
    +

    Community

    +
      +
    • + Join the CCG26 Telegram (Coming Soon) +
    • +
    • + + Join the Crypto Commons Association Telegram + +
    • +
    +
    + +
    +

    Partners

    +
      +
    • + + Commons Hub + +
    • +
    • + + Crypto Commons Association + +
    • +
    • + + Sponsorships + +
    • +
    +
    +
    + +
    +

    This website is under Creative Commons license. Built with solidarity for the commons.

    +
    +
    +
    ) } diff --git a/app/success/page.tsx b/app/success/page.tsx index a5c7ac5..5553d92 100644 --- a/app/success/page.tsx +++ b/app/success/page.tsx @@ -5,38 +5,135 @@ import Link from "next/link" export default function SuccessPage() { return ( -
    - - -
    - +
    +
    + + +
    + +
    + Payment Successful! + Welcome to Crypto Commons Gathering 2026 +
    + +

    + You've successfully registered for CCG 2026. Check your email for confirmation details and next steps. +

    +
    +

    What's Next?

    +
      +
    • • Join our Telegram community
    • +
    • • Watch for pre-event communications
    • +
    • • Prepare your session proposals
    • +
    • • Get ready for an amazing experience
    • +
    +
    +
    + + +
    +
    +
    +
    + +
    +
    +
    +
    +

    CCG 2026

    +

    + Crypto Commons Gathering +
    + August 16-22, 2026 +

    +
    + +
    +

    Links

    +
      +
    • + + Gallery + +
    • +
    • + + About CCG 2026 + +
    • +
    • + + Directions + +
    • +
    • + + Financial Transparency + +
    • +
    +
    + +
    +

    Community

    +
      +
    • + Join the CCG26 Telegram (Coming Soon) +
    • +
    • + + Join the Crypto Commons Association Telegram + +
    • +
    +
    + +
    +

    Partners

    +
      +
    • + + Commons Hub + +
    • +
    • + + Crypto Commons Association + +
    • +
    • + + Sponsorships + +
    • +
    +
    - Payment Successful! - Welcome to Crypto Commons Gathering 2025 - - -

    - You've successfully registered for CCG 2025. Check your email for confirmation details and next steps. -

    -
    -

    What's Next?

    -
      -
    • • Join our Telegram community
    • -
    • • Watch for pre-event communications
    • -
    • • Prepare your session proposals
    • -
    • • Get ready for an amazing experience
    • -
    + +
    +

    This website is under Creative Commons license. Built with solidarity for the commons.

    -
    - - -
    - - +
    +
    ) } diff --git a/app/transparency/page.tsx b/app/transparency/page.tsx index 484217f..f9632bb 100644 --- a/app/transparency/page.tsx +++ b/app/transparency/page.tsx @@ -49,21 +49,21 @@ export default function FinancialTransparencyPage() { €80 Early bird
    - Until Dec 31, 2025 + Until April 30, 2026
    €120 Regular
    - Jan 1 – Jun 30, 2026 + May 1 – June 30, 2026
    €150 Late
    - After Jul 1, 2026 + From July 1, 2026
    @@ -185,7 +185,7 @@ export default function FinancialTransparencyPage() {
    Total for 6 days - €135 + €135
    @@ -238,8 +238,8 @@ export default function FinancialTransparencyPage() {

    We know these costs add up, especially with travel. If the price is a barrier, please don't hesitate to reach out at{" "} - - cryptocommonsgathering@gmail.com + + contact@cryptocommonsgather.ing . We'll do our best to find a solution together.

    @@ -250,7 +250,7 @@ export default function FinancialTransparencyPage() {