Self-hosted Next.js mirror of commons-hub.at
  • TypeScript 87.7%
  • Python 4.1%
  • PLpgSQL 2.8%
  • CSS 2.5%
  • JavaScript 2.5%
  • Other 0.4%
Find a file
Jeff Emmett fe51dfc68b Deep-link Artizen CTA straight to the fund-drive checkout
artizenProjectUrl({ toCheckout: true }) appends Artizen's own recognized
?scroll=fund-drive-checkout anchor so the /support CTA lands visitors on the
primed checkout widget instead of the top of the project page. Degrades to a
normal page load if Artizen drops the anchor. No amount-prefill param exists
(checkout amount is set client-side), so this primes but cannot pre-fill.

Also corrected the stale Hasura/GraphQL header comment (Artizen is a Bubble.io
app; stats are client-rendered).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-24 16:33:46 +02:00
.windsurf/rules Initial commit: self-hosted Next.js + Directus stack 2026-04-26 18:49:04 -04:00
app Deep-link Artizen CTA straight to the fund-drive checkout 2026-06-24 16:33:46 +02:00
components Add Artizen campaign support page + homepage teaser 2026-06-24 16:05:56 +02:00
content/snapshot i18n Phase 2: wire next-intl (cookie locale) + machine-translated content 2026-06-18 13:57:46 +02:00
data Initial commit: self-hosted Next.js + Directus stack 2026-04-26 18:49:04 -04:00
docs Add Artizen campaign support page + homepage teaser 2026-06-24 16:05:56 +02:00
i18n i18n Phase 2: wire next-intl (cookie locale) + machine-translated content 2026-06-18 13:57:46 +02:00
lib Deep-link Artizen CTA straight to the fund-drive checkout 2026-06-24 16:33:46 +02:00
messages Add Artizen campaign support page + homepage teaser 2026-06-24 16:05:56 +02:00
migrations Phase 1: real booking forms with VAT calc + Directus storage 2026-05-14 17:53:30 -06:00
public Fix broken images: SSL cert, missing placeholder, OG metadataBase 2026-05-09 20:50:00 -04:00
scripts Add native-review checklists for machine-translated strings 2026-06-18 14:11:49 +02:00
.dockerignore Initial commit: self-hosted Next.js + Directus stack 2026-04-26 18:49:04 -04:00
.gitignore Initial commit: self-hosted Next.js + Directus stack 2026-04-26 18:49:04 -04:00
components.json Initial commit: self-hosted Next.js + Directus stack 2026-04-26 18:49:04 -04:00
docker-compose.yml Inquiry email via Mailcow SMTP + Booking 2-col layout 2026-05-20 12:25:31 +01:00
Dockerfile Drop Supabase / PostgREST; admin now talks to Directus 2026-05-14 17:39:08 -06:00
eslint.config.mjs Initial commit: self-hosted Next.js + Directus stack 2026-04-26 18:49:04 -04:00
middleware.ts Add Artizen campaign support page + homepage teaser 2026-06-24 16:05:56 +02:00
next.config.ts i18n Phase 2: wire next-intl (cookie locale) + machine-translated content 2026-06-18 13:57:46 +02:00
package-lock.json i18n Phase 1: next-intl foundation + translated UI catalogs (DE/HU/CS/SK) 2026-06-17 19:16:11 +02:00
package.json i18n Phase 1: next-intl foundation + translated UI catalogs (DE/HU/CS/SK) 2026-06-17 19:16:11 +02:00
postcss.config.mjs Initial commit: self-hosted Next.js + Directus stack 2026-04-26 18:49:04 -04:00
README.md Document dev/build, repos, and auto-deploy pipeline in README 2026-06-24 16:20:56 +02:00
tailwind.config.ts Initial commit: self-hosted Next.js + Directus stack 2026-04-26 18:49:04 -04:00
tsconfig.json Initial commit: self-hosted Next.js + Directus stack 2026-04-26 18:49:04 -04:00

Commons Hub Website

The website for the Commons Hub — a community guesthouse and event venue in the Austrian Alps. Built with Next.js (App Router) and next-intl (multilingual: EN/DE/HU/CS/SK).

Development

npm install
npm run dev      # http://localhost:3000
npm run build    # production build

Repositories

  • Primary: Gitea — ssh://git@gitea.jeffemmett.com:223/jeffemmett/commons-hub-website.git
  • Mirror: GitHub (public, downstream backup)

Work on dev; deploy from main.

Deployment (auto)

Production runs on Netcup (/opt/apps/commons-hub-app, container commons-hub-web, behind Traefik + Cloudflare). Deploys are automatic on push to main:

push origin main → Gitea webhook → deploy.jeffemmett.com/deploy/commons-hub-website
                 → git reset --hard origin/main → docker compose up -d --build

The server dir is a Gitea checkout pinned to main; server-only files (.env, docker-compose.yml) are untracked and preserved across deploys. Pushing dev does not deploy. See docs/artizen-integration.md for the campaign integration notes.