- TypeScript 94.8%
- CSS 3.5%
- Dockerfile 0.9%
- HTML 0.8%
|
All checks were successful
🐳 Build demo image / 🐳 Build demo image (push) Successful in 25s
|
||
|---|---|---|
| .claude | ||
| .forgejo/workflows | ||
| src | ||
| .dockerignore | ||
| .env.example | ||
| .gitignore | ||
| bun.lock | ||
| components.json | ||
| Dockerfile | ||
| index.html | ||
| nginx.conf | ||
| package.json | ||
| README.md | ||
| tsconfig.app.json | ||
| tsconfig.json | ||
| tsconfig.node.json | ||
| vite.config.ts | ||
Tillor demo park
A fictional holiday park website, Vakantiepark De Zilverberk, that shows what the Tillor
online booking widget does: every widget feature is pointed out on the page with dotted callouts,
the way wijdwater.nl demos its booking flow, and the callouts light up on the track events the
widget posts to the page.
Built with React, Vite, Tailwind and shadcn/ui. Published as a Docker image (nginx) from the
Forgejo pipeline in .forgejo/workflows/build.yml.
The last section, Voor ontwikkelaars, uses the booking SDK (booking-sdk.js, served next to
the loader) instead of the iframe: the accommodation tiles, date range, party, extras and the
live quote are drawn by this page from getConfig(), getAvailability() and quote(), and the
tillor_booking_* events come in through booking.on("*").
Run it
bun install
bun run dev
The widget and the SDK load from the Tillor app named in VITE_TILLOR_APP_URL (default
http://localhost:3000, see .env.example). The org id and widget key default to the seeded
Vlasaard park. VITE_TILLOR_SDK_URL loads booking-sdk.js from somewhere else, for local work
against an app that does not serve it yet.
Image
docker build -t tillor/demo --build-arg VITE_TILLOR_APP_URL=https://app.tillor.eu .
docker run -p 8080:80 tillor/demo
The CI build reads TILLOR_APP_URL, TILLOR_ORG_ID and TILLOR_WIDGET_KEY from the repository's
Actions variables when set.