diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 7f65e01..de02833 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -75,6 +75,26 @@ jobs: - name: Typecheck web run: npm --prefix apps/web run typecheck + web-lint: + name: Web lint + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v4 + + - name: Setup Node.js + uses: actions/setup-node@v4 + with: + node-version: 22 + cache: npm + cache-dependency-path: apps/web/package-lock.json + + - name: Install web dependencies + run: npm --prefix apps/web ci + + - name: Lint web + run: npm --prefix apps/web run lint + docker: name: Docker builds runs-on: ubuntu-latest diff --git a/apps/web/components/booking/booking-map-explorer.tsx b/apps/web/components/booking/booking-map-explorer.tsx index 32063a8..77eebe3 100644 --- a/apps/web/components/booking/booking-map-explorer.tsx +++ b/apps/web/components/booking/booking-map-explorer.tsx @@ -2,6 +2,7 @@ import { memo, useCallback, useEffect, useMemo, useRef, useState } from "react"; import { HugeiconsIcon } from "@hugeicons/react"; +import Image from "next/image"; import { ArrowLeft01Icon, Dollar01Icon, @@ -574,15 +575,20 @@ const MapCanvas = memo(function MapCanvas({ style={{ transform: `scale(${mapData.zoomScale})`, willChange: "transform" }} > {mapData.tiles.map((tile) => ( - + > + + ))}
{mapData.points.map((p) => ( diff --git a/apps/web/components/landing/metrix-landing.tsx b/apps/web/components/landing/metrix-landing.tsx index 6cd5b1c..88ecd71 100644 --- a/apps/web/components/landing/metrix-landing.tsx +++ b/apps/web/components/landing/metrix-landing.tsx @@ -33,6 +33,12 @@ type VenueOption = { unit: string; seats: string; }; +type ChatMessageProps = { + accent?: boolean; + children: React.ReactNode; + from?: "bot" | "me"; + visible: boolean; +}; const Pict = ({ icon, size = 56, label, className }: PictProps & { icon: IconSvgElement; className?: string }) => (