Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
27 commits
Select commit Hold shift + click to select a range
8a5b376
chore: add repo metadata and cleanup starter assets
rahulwebvoltz Sep 7, 2026
9a0a13e
chore: update frontend dependencies
rahulwebvoltz Sep 7, 2026
08956ec
refactor: replace alert flows with controlled ui state
rahulwebvoltz Sep 7, 2026
9863ab5
test: add seating interaction coverage
rahulwebvoltz Sep 7, 2026
b256034
ci: add validation workflow
rahulwebvoltz Sep 7, 2026
39e4958
docs: expand seating map architecture readme
rahulwebvoltz Sep 7, 2026
3559ece
ci: bump actions to Node 24 runtime majors
rahulwebvoltz Sep 7, 2026
169e0d7
feat: add booking history and rework responsive layout across the app
rahulwebvoltz Sep 8, 2026
0c79501
chore: align project tooling with Webvoltz engineering standards
rahulwebvoltz Sep 8, 2026
b059686
refactor: replace scroll-based pan/zoom with a pointer-anchored viewport
Sep 9, 2026
62fe791
feat: give section-focus a slower, smoother zoom transition
Sep 9, 2026
e1a460d
fix: fit section-focus zoom to the section's own bounds
Sep 9, 2026
f9d52ca
chore: add start script to serve the production build
Sep 9, 2026
6c89c95
ci: add dependency-audit job and stage sequencing to CI workflow
rahulwebvoltz Sep 9, 2026
6b90099
Merge branch 'develop' of github.com:webvoltz/Interactive-Event-Seati…
rahulwebvoltz Sep 9, 2026
799633f
ci: fix pnpm version mismatch by relying on packageManager field
rahulwebvoltz Sep 9, 2026
0bcdb22
docs: document viewTransform utility and its test coverage in README
rahulwebvoltz Sep 9, 2026
11882b6
docs: document the pnpm start script for serving production builds
Sep 10, 2026
08260fe
fix: preserve sub-pixel precision when generating seat coordinates
Sep 10, 2026
dc92426
feat: find the best block of adjacent seats for a party
Sep 10, 2026
7779fad
feat: live seat-hold contention across tabs, with a checkout timer
Sep 10, 2026
ccd8092
docs: document the best-seats solver and live seat-hold contention
Sep 10, 2026
a9cb0a6
fix: zoom to the exact seats for a viewed booking or a found seat block
Sep 10, 2026
2370cad
feat: surface seat status as a persistent map corner card and add a f…
Sep 10, 2026
7d88acb
test: verify cross-tab hold delivery over a real BroadcastChannel
Sep 10, 2026
1089486
refactor: trim comments across the solver and live-hold work to essen…
Sep 10, 2026
f23f62c
fix: adjust position of selection toolbar to bottom of the viewport
viral-webvoltz Sep 11, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 9 additions & 0 deletions .editorconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
root = true

[*]
charset = utf-8
end_of_line = lf
indent_style = space
indent_size = 2
insert_final_newline = true
trim_trailing_whitespace = true
1 change: 1 addition & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
* text=auto eol=lf
118 changes: 118 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,118 @@
name: CI

on:
push:
branches: ['**']
pull_request:
workflow_dispatch:

concurrency:
group: ci-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true

env:
NODE_VERSION: '24'

jobs:
secret-scan:
name: Secret scan
runs-on: ubuntu-latest
container:
image: ghcr.io/gitleaks/gitleaks:v8.30.1
options: --entrypoint ''
steps:
- uses: actions/checkout@v5
with:
fetch-depth: 0
- run: gitleaks git --config .gitleaks.toml --redact --verbose .

dependency-audit:
name: Dependency audit
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v5
- uses: pnpm/action-setup@v5
- uses: actions/setup-node@v5
with:
node-version: ${{ env.NODE_VERSION }}
cache: pnpm
- run: pnpm install --frozen-lockfile
- run: pnpm run security:audit

quality:
name: Quality
needs: [secret-scan, dependency-audit]
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v5
- uses: pnpm/action-setup@v5
- uses: actions/setup-node@v5
with:
node-version: ${{ env.NODE_VERSION }}
cache: pnpm
- run: pnpm install --frozen-lockfile
- run: pnpm run quality

commitlint:
name: Commit lint
needs: [secret-scan, dependency-audit]
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v5
with:
fetch-depth: 0
- uses: pnpm/action-setup@v5
- uses: actions/setup-node@v5
with:
node-version: ${{ env.NODE_VERSION }}
cache: pnpm
- run: pnpm install --frozen-lockfile
- name: Lint commit range
env:
BASE_SHA: ${{ github.event.pull_request.base.sha }}
HEAD_SHA: ${{ github.event.pull_request.head.sha || github.sha }}
BEFORE_SHA: ${{ github.event.before }}
DEFAULT_BRANCH: ${{ github.event.repository.default_branch }}
run: |
set -eu
if [ -n "${BASE_SHA:-}" ]; then
npx --no -- commitlint --from "$BASE_SHA" --to "$HEAD_SHA" --verbose
elif [ -n "${BEFORE_SHA:-}" ] && [ "$BEFORE_SHA" != "0000000000000000000000000000000000000000" ]; then
npx --no -- commitlint --from "$BEFORE_SHA" --to "$HEAD_SHA" --verbose
else
git fetch origin "$DEFAULT_BRANCH:refs/remotes/origin/$DEFAULT_BRANCH"
BASE="$(git merge-base "$HEAD_SHA" "origin/$DEFAULT_BRANCH")"
if [ "$BASE" = "$HEAD_SHA" ]; then
git log -1 --format=%B "$HEAD_SHA" | npx --no -- commitlint --verbose
else
npx --no -- commitlint --from "$BASE" --to "$HEAD_SHA" --verbose
fi
fi

test:
name: Test
needs: [quality, commitlint]
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v5
- uses: pnpm/action-setup@v5
- uses: actions/setup-node@v5
with:
node-version: ${{ env.NODE_VERSION }}
cache: pnpm
- run: pnpm install --frozen-lockfile
- run: pnpm test

build:
name: Build
needs: [test]
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v5
- uses: pnpm/action-setup@v5
- uses: actions/setup-node@v5
with:
node-version: ${{ env.NODE_VERSION }}
cache: pnpm
- run: pnpm install --frozen-lockfile
- run: pnpm run build
12 changes: 12 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -11,11 +11,23 @@ node_modules
dist
dist-ssr
*.local
coverage
.vite/
.npm/

.env
.env.*
!.env.example

src/generated/
public/generated/
*.generated.*

# Editor directories and files
.vscode/*
!.vscode/extensions.json
.idea
.claude/
.DS_Store
*.suo
*.ntvs*
Expand Down
4 changes: 4 additions & 0 deletions .gitleaks.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
title = "Interactive Event Seating Map secret scanning"

[extend]
useDefault = true
1 change: 1 addition & 0 deletions .husky/commit-msg
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
npx --no -- commitlint --edit "$1"
12 changes: 12 additions & 0 deletions .husky/pre-commit
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
#!/usr/bin/env sh
set -eu

if ! command -v gitleaks >/dev/null 2>&1; then
echo "gitleaks 8.30.x is required before committing." >&2
exit 1
fi

git diff --cached --no-ext-diff --unified=0 | gitleaks stdin --config .gitleaks.toml --redact --no-banner
npx lint-staged
pnpm run quality
pnpm run build
4 changes: 4 additions & 0 deletions .npmrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
engine-strict=true
save-exact=true
audit=true
fund=false
1 change: 1 addition & 0 deletions .nvmrc
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
24
17 changes: 17 additions & 0 deletions .prettierignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
dist/
coverage/
node_modules/
.claude/

src/generated/
public/generated/
**/*.generated.*

package-lock.json
npm-shrinkwrap.json
pnpm-lock.yaml
yarn.lock
bun.lock
bun.lockb

public/venue.json
12 changes: 12 additions & 0 deletions .prettierrc.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
{
"arrowParens": "always",
"bracketSameLine": false,
"endOfLine": "lf",
"printWidth": 100,
"semi": true,
"singleAttributePerLine": false,
"singleQuote": true,
"tabWidth": 2,
"trailingComma": "all",
"useTabs": false
}
Loading
Loading