fix(events): resolve the ticket QR logo through @brand-app-logo #151

Merged
padreug merged 1 commit from fix/events-ticket-qr-brand-logo into dev 2026-09-09 13:00:01 +00:00
Owner

Problem

src/modules/events/lib/ticketQr.ts (from #146's guest-checkout work) imports the brand logo by literal filename:

import brandLogo from '@brand/logo.png'

Any brand kit that ships its logo as SVG only fails the events standalone build with ENOENT … /logo.png. cfaun's kit (hosts/cfaun/branding/ in server-deploy) has logo.svg and no PNG, so ./deploy.sh cfaun broke on the aio-webapp-events derivation.

Fix

Use the @brand-app-logo?url alias like every other logo consumer (EventsPage.vue, MobileDrawer.vue, AppSidebar.vue). It resolves the per-app override or the brand's primary logo in SVG-then-PNG order via resolveAppLogo('events'), so the import is satisfied by any valid kit. Canvas drawImage handles an SVG <img> fine given the explicit size we already pass (cfaun's SVG also declares width/height).

Verification

Built nixosConfigurations.cfaun.config.system.build.toplevel in server-deploy with --override-input webapp-dev pointing at this branch: the events standalone and the full system build succeed. Follow-up in server-deploy after merge: bump the webapp-dev lock input and redeploy cfaun.

🤖 Generated with Claude Code

https://claude.ai/code/session_01Nx87UjQtd1HS5u4DwCMve8

## Problem `src/modules/events/lib/ticketQr.ts` (from #146's guest-checkout work) imports the brand logo by literal filename: ```ts import brandLogo from '@brand/logo.png' ``` Any brand kit that ships its logo as SVG only fails the events standalone build with `ENOENT … /logo.png`. cfaun's kit (`hosts/cfaun/branding/` in server-deploy) has `logo.svg` and no PNG, so `./deploy.sh cfaun` broke on the `aio-webapp-events` derivation. ## Fix Use the `@brand-app-logo?url` alias like every other logo consumer (`EventsPage.vue`, `MobileDrawer.vue`, `AppSidebar.vue`). It resolves the per-app override or the brand's primary logo in SVG-then-PNG order via `resolveAppLogo('events')`, so the import is satisfied by any valid kit. Canvas `drawImage` handles an SVG `<img>` fine given the explicit size we already pass (cfaun's SVG also declares `width`/`height`). ## Verification Built `nixosConfigurations.cfaun.config.system.build.toplevel` in server-deploy with `--override-input webapp-dev` pointing at this branch: the events standalone and the full system build succeed. Follow-up in server-deploy after merge: bump the `webapp-dev` lock input and redeploy cfaun. 🤖 Generated with [Claude Code](https://claude.com/claude-code) https://claude.ai/code/session_01Nx87UjQtd1HS5u4DwCMve8
ticketQr.ts imported @brand/logo.png by literal filename, so any brand
kit that ships its logo as SVG only (cfaun's does) failed the events
standalone build with ENOENT. Every other logo consumer goes through
the @brand-app-logo alias, which resolves the per-app or brand logo in
SVG-then-PNG order; use the same alias here.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Nx87UjQtd1HS5u4DwCMve8
padreug deleted branch fix/events-ticket-qr-brand-logo 2026-09-09 13:00:01 +00:00
Sign in to join this conversation.
No description provided.