Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
8 changes: 7 additions & 1 deletion .claude/rules/features/homepage-sections.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,9 @@
paths:
- "backend/app/**/*HomepageSection*.php"
- "frontend/src/utilites/homepageSection*.ts"
- "frontend/src/components/layouts/EventHomepage/Sections/**"
- "frontend/src/components/layouts/EventHomepage/**"
- "frontend/src/components/layouts/HomepageFrame/**"
- "frontend/src/constants/eventLayouts.ts"
- "frontend/src/components/routes/event/HomepageDesigner/**"
- "frontend/src/components/routes/organizer/OrganizerHomepageDesigner/**"
---
Expand All @@ -11,3 +13,7 @@ paths:

- User-supplied `homepage_sections` (events and organizers) are saved only through `HomepageSectionsSanitizer`: it purifies HTML, keeps only image ids owned by this event/organizer, and only allows YouTube/Vimeo video links.
- The About section renders `event.description`; never copy the description into a section, because SEO, listings, emails and the API all read it. Extra copy belongs in `TEXT` sections.
- Event page layouts (Marquee, Flyer, Story, Invite) are rows of traits in `constants/eventLayouts.ts`; CSS keys off the traits (`data-rail`, `data-poster`, `data-width`, `data-centered`), never layout names. A new layout is a new row, a designer sketch in `LayoutPicker/LayoutPreview.tsx`, and a backend `HomepageLayout` case. `DEFAULT_EVENT_LAYOUT` applies to every event without a saved layout.
- Sections render in columns from ~350px (phones, Flyer on tablet) to ~690px, so their responsive rules use container queries (`hp.narrow`, `hp.compact`) on the section, never viewport media queries. Dialogs portal to `main` and keep viewport rules.
- Status labels ("This event has ended", "Happening now") come from the server's `lifecycle_status`, never the client clock, so SSR and hydration agree. An ended event renders no Tickets block and no ticket rail; Marquee drops to the medium width.
- The intro always shows the venue's full address with Get directions, even when the Location section repeats it lower down.
1 change: 1 addition & 0 deletions AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -87,6 +87,7 @@ Integrations call the API with API keys, so endpoints in the `auth:api,sanctum`
## Frontend

- SSR app: guard `window`/`document`, and keep per-request state in `AsyncLocalStorage` (`utilites/ssrRequestContext.ts`), never in axios defaults or module globals.
- Public routes set `handle: {styles: '<module path>'}` in `router.tsx` so production SSR links their CSS in `<head>` and skips the white `ssr-loader` overlay; without it the page paints unstyled and shifts (CLS) on hydration.
- React Query for all API calls (patterns: `queries/useGetCapacityAssignment.ts`, `mutations/useCreateAffiliate.ts`).
- Mantine components; SCSS modules for layout. Reuse existing components before adding new ones, and skip unnecessary React imports.
- Notifications via `showSuccess`/`showError` (`utilites/notifications.tsx`), never Mantine's `showNotification`; validation errors via `useFormErrorResponseHandler`. Handle errors in parent components.
Expand Down
2 changes: 2 additions & 0 deletions README.de.md
Original file line number Diff line number Diff line change
Expand Up @@ -132,6 +132,8 @@ Entwickelt mit **Laravel 13** (PHP >=8.3) · **React 19** mit SSR · **TypeScrip
git clone https://github.com/HiEventsDev/hi.events.git
cd hi.events/docker/all-in-one

cp .env.example .env

# Generate keys (Linux/macOS)
echo "APP_KEY=base64:$(openssl rand -base64 32)" >> .env
echo "JWT_SECRET=$(openssl rand -base64 32)" >> .env
Expand Down
2 changes: 2 additions & 0 deletions README.el.md
Original file line number Diff line number Diff line change
Expand Up @@ -132,6 +132,8 @@ branding, το checkout και τα δεδομένα σας.
git clone https://github.com/HiEventsDev/hi.events.git
cd hi.events/docker/all-in-one

cp .env.example .env

# Generate keys (Linux/macOS)
echo "APP_KEY=base64:$(openssl rand -base64 32)" >> .env
echo "JWT_SECRET=$(openssl rand -base64 32)" >> .env
Expand Down
2 changes: 2 additions & 0 deletions README.es.md
Original file line number Diff line number Diff line change
Expand Up @@ -132,6 +132,8 @@ Desarrollado con **Laravel 13** (PHP >=8.3) · **React 19** con SSR · **TypeScr
git clone https://github.com/HiEventsDev/hi.events.git
cd hi.events/docker/all-in-one

cp .env.example .env

# Generate keys (Linux/macOS)
echo "APP_KEY=base64:$(openssl rand -base64 32)" >> .env
echo "JWT_SECRET=$(openssl rand -base64 32)" >> .env
Expand Down
2 changes: 2 additions & 0 deletions README.fi.md
Original file line number Diff line number Diff line change
Expand Up @@ -132,6 +132,8 @@ Rakennettu teknologioilla **Laravel 13** (PHP >=8.3) · **React 19** ja SSR · *
git clone https://github.com/HiEventsDev/hi.events.git
cd hi.events/docker/all-in-one

cp .env.example .env

# Generate keys (Linux/macOS)
echo "APP_KEY=base64:$(openssl rand -base64 32)" >> .env
echo "JWT_SECRET=$(openssl rand -base64 32)" >> .env
Expand Down
2 changes: 2 additions & 0 deletions README.fr.md
Original file line number Diff line number Diff line change
Expand Up @@ -132,6 +132,8 @@ Développé avec **Laravel 13** (PHP >=8.3) · **React 19** avec SSR · **TypeSc
git clone https://github.com/HiEventsDev/hi.events.git
cd hi.events/docker/all-in-one

cp .env.example .env

# Generate keys (Linux/macOS)
echo "APP_KEY=base64:$(openssl rand -base64 32)" >> .env
echo "JWT_SECRET=$(openssl rand -base64 32)" >> .env
Expand Down
2 changes: 2 additions & 0 deletions README.hu.md
Original file line number Diff line number Diff line change
Expand Up @@ -132,6 +132,8 @@ Technológiák: **Laravel 13** (PHP >=8.3) · **React 19** SSR-rel · **TypeScri
git clone https://github.com/HiEventsDev/hi.events.git
cd hi.events/docker/all-in-one

cp .env.example .env

# Generate keys (Linux/macOS)
echo "APP_KEY=base64:$(openssl rand -base64 32)" >> .env
echo "JWT_SECRET=$(openssl rand -base64 32)" >> .env
Expand Down
2 changes: 2 additions & 0 deletions README.it.md
Original file line number Diff line number Diff line change
Expand Up @@ -132,6 +132,8 @@ Realizzato con **Laravel 13** (PHP >=8.3) · **React 19** con SSR · **TypeScrip
git clone https://github.com/HiEventsDev/hi.events.git
cd hi.events/docker/all-in-one

cp .env.example .env

# Generate keys (Linux/macOS)
echo "APP_KEY=base64:$(openssl rand -base64 32)" >> .env
echo "JWT_SECRET=$(openssl rand -base64 32)" >> .env
Expand Down
2 changes: 2 additions & 0 deletions README.ja.md
Original file line number Diff line number Diff line change
Expand Up @@ -132,6 +132,8 @@ Eventbrite、Tickettailor、Dice.fm などのチケット販売プラットフ
git clone https://github.com/HiEventsDev/hi.events.git
cd hi.events/docker/all-in-one

cp .env.example .env

# Generate keys (Linux/macOS)
echo "APP_KEY=base64:$(openssl rand -base64 32)" >> .env
echo "JWT_SECRET=$(openssl rand -base64 32)" >> .env
Expand Down
2 changes: 2 additions & 0 deletions README.ko.md
Original file line number Diff line number Diff line change
Expand Up @@ -132,6 +132,8 @@
git clone https://github.com/HiEventsDev/hi.events.git
cd hi.events/docker/all-in-one

cp .env.example .env

# Generate keys (Linux/macOS)
echo "APP_KEY=base64:$(openssl rand -base64 32)" >> .env
echo "JWT_SECRET=$(openssl rand -base64 32)" >> .env
Expand Down
2 changes: 2 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -132,6 +132,8 @@ Built with **Laravel 13** (PHP >=8.3) · **React 19** with SSR · **TypeScript**
git clone https://github.com/HiEventsDev/hi.events.git
cd hi.events/docker/all-in-one

cp .env.example .env

# Generate keys (Linux/macOS)
echo "APP_KEY=base64:$(openssl rand -base64 32)" >> .env
echo "JWT_SECRET=$(openssl rand -base64 32)" >> .env
Expand Down
2 changes: 2 additions & 0 deletions README.nl.md
Original file line number Diff line number Diff line change
Expand Up @@ -132,6 +132,8 @@ Gebouwd met **Laravel 13** (PHP >=8.3) · **React 19** met SSR · **TypeScript**
git clone https://github.com/HiEventsDev/hi.events.git
cd hi.events/docker/all-in-one

cp .env.example .env

# Generate keys (Linux/macOS)
echo "APP_KEY=base64:$(openssl rand -base64 32)" >> .env
echo "JWT_SECRET=$(openssl rand -base64 32)" >> .env
Expand Down
2 changes: 2 additions & 0 deletions README.pl.md
Original file line number Diff line number Diff line change
Expand Up @@ -132,6 +132,8 @@ Zbudowany na **Laravel 13** (PHP >=8.3) · **React 19** z SSR · **TypeScript**
git clone https://github.com/HiEventsDev/hi.events.git
cd hi.events/docker/all-in-one

cp .env.example .env

# Generate keys (Linux/macOS)
echo "APP_KEY=base64:$(openssl rand -base64 32)" >> .env
echo "JWT_SECRET=$(openssl rand -base64 32)" >> .env
Expand Down
2 changes: 2 additions & 0 deletions README.pt-br.md
Original file line number Diff line number Diff line change
Expand Up @@ -132,6 +132,8 @@ Desenvolvido com **Laravel 13** (PHP >=8.3) · **React 19** com SSR · **TypeScr
git clone https://github.com/HiEventsDev/hi.events.git
cd hi.events/docker/all-in-one

cp .env.example .env

# Generate keys (Linux/macOS)
echo "APP_KEY=base64:$(openssl rand -base64 32)" >> .env
echo "JWT_SECRET=$(openssl rand -base64 32)" >> .env
Expand Down
2 changes: 2 additions & 0 deletions README.pt.md
Original file line number Diff line number Diff line change
Expand Up @@ -132,6 +132,8 @@ Desenvolvido com **Laravel 13** (PHP >=8.3) · **React 19** com SSR · **TypeScr
git clone https://github.com/HiEventsDev/hi.events.git
cd hi.events/docker/all-in-one

cp .env.example .env

# Generate keys (Linux/macOS)
echo "APP_KEY=base64:$(openssl rand -base64 32)" >> .env
echo "JWT_SECRET=$(openssl rand -base64 32)" >> .env
Expand Down
2 changes: 2 additions & 0 deletions README.sk.md
Original file line number Diff line number Diff line change
Expand Up @@ -132,6 +132,8 @@ Postavené na **Laravel 13** (PHP >=8.3) · **React 19** so SSR · **TypeScript*
git clone https://github.com/HiEventsDev/hi.events.git
cd hi.events/docker/all-in-one

cp .env.example .env

# Generate keys (Linux/macOS)
echo "APP_KEY=base64:$(openssl rand -base64 32)" >> .env
echo "JWT_SECRET=$(openssl rand -base64 32)" >> .env
Expand Down
2 changes: 2 additions & 0 deletions README.sv.md
Original file line number Diff line number Diff line change
Expand Up @@ -132,6 +132,8 @@ Byggt med **Laravel 13** (PHP >=8.3) · **React 19** med SSR · **TypeScript**
git clone https://github.com/HiEventsDev/hi.events.git
cd hi.events/docker/all-in-one

cp .env.example .env

# Generate keys (Linux/macOS)
echo "APP_KEY=base64:$(openssl rand -base64 32)" >> .env
echo "JWT_SECRET=$(openssl rand -base64 32)" >> .env
Expand Down
2 changes: 2 additions & 0 deletions README.tr.md
Original file line number Diff line number Diff line change
Expand Up @@ -132,6 +132,8 @@ ve konferans düzenleyicilerine kadar. Kendiniz çalıştırın ya da Hi.Events
git clone https://github.com/HiEventsDev/hi.events.git
cd hi.events/docker/all-in-one

cp .env.example .env

# Generate keys (Linux/macOS)
echo "APP_KEY=base64:$(openssl rand -base64 32)" >> .env
echo "JWT_SECRET=$(openssl rand -base64 32)" >> .env
Expand Down
2 changes: 2 additions & 0 deletions README.vi.md
Original file line number Diff line number Diff line change
Expand Up @@ -132,6 +132,8 @@ Xây dựng với **Laravel 13** (PHP >=8.3) · **React 19** với SSR · **Type
git clone https://github.com/HiEventsDev/hi.events.git
cd hi.events/docker/all-in-one

cp .env.example .env

# Generate keys (Linux/macOS)
echo "APP_KEY=base64:$(openssl rand -base64 32)" >> .env
echo "JWT_SECRET=$(openssl rand -base64 32)" >> .env
Expand Down
2 changes: 2 additions & 0 deletions README.zh-cn.md
Original file line number Diff line number Diff line change
Expand Up @@ -132,6 +132,8 @@
git clone https://github.com/HiEventsDev/hi.events.git
cd hi.events/docker/all-in-one

cp .env.example .env

# Generate keys (Linux/macOS)
echo "APP_KEY=base64:$(openssl rand -base64 32)" >> .env
echo "JWT_SECRET=$(openssl rand -base64 32)" >> .env
Expand Down
2 changes: 2 additions & 0 deletions README.zh-hk.md
Original file line number Diff line number Diff line change
Expand Up @@ -132,6 +132,8 @@
git clone https://github.com/HiEventsDev/hi.events.git
cd hi.events/docker/all-in-one

cp .env.example .env

# Generate keys (Linux/macOS)
echo "APP_KEY=base64:$(openssl rand -base64 32)" >> .env
echo "JWT_SECRET=$(openssl rand -base64 32)" >> .env
Expand Down
Loading
Loading