AyrisAI and Claude Sonnet 5
df250c40e8
feat(web): public menu language pill selector; fix missing cover_url column
...
Public menu page now shows a TR|EN|... pill selector (styled after the
Menulio design reference) that switches category/item text to the AI
translations added via the mobile app, falling back to Turkish for
anything not yet translated.
Also adds a migration for restaurants.cover_url, which was referenced by
existing code but was missing from the live database — the public menu
page was silently forcing cover photos to null on every restaurant.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com >
2026-08-29 01:55:26 +03:00
AyrisAI
739de7de5c
feat(web): add missing qr-3/qr-8/qr-9 stand SVG templates
...
QR_STAND_PRESETS (packages/shared) references qr-1..qr-9 (skipping
qr-7), but apps/web/public only had qr-1,2,4,5,6.svg — qr-3, qr-8,
and qr-9 404'd wherever the raw preset list renders before/instead of
a DB-driven override. Built to match the existing qr-1.svg structure
(layer-background/layer-icons/qr-placeholder/layer-texts, same 400x650
canvas, QR box at translate(90,215) 220x220 — verified this aligns
with QrStandGeneratorClient's hardcoded 33.08%/55% overlay position),
using each preset's own color palette from qr-stands.ts.
2026-08-29 01:21:05 +03:00
AyrisAI
1f8195ff67
feat: admin auth, web menu template studio, live text editing & Ayris Tech footer backlink
2026-08-23 01:45:00 +03:00
AyrisAI
e7ba6c7807
feat(qr): complete QR studio, dynamic google fonts, mouse canvas drag, and template sync
2026-08-22 16:00:30 +03:00
AyrisAI
4236ddb5ee
feat: re-integrate all SVGs from svg ornekleri/ fresh, add qr-6
2026-08-20 23:59:45 +03:00
AyrisAI
808097377d
feat(qr-stands): add qr-5 L'Atelier Bistro Fine Dining template
2026-08-20 23:50:30 +03:00
AyrisAI
f768b92873
feat(qr-stands): clean SVG template renderer with exact QR placement and no redundant overlays
2026-08-20 23:39:56 +03:00
AyrisAI
eb0b5d1886
feat(qr-stands): add qr-2.svg preset from user code
2026-08-20 23:36:01 +03:00
AyrisAI
38fd0dd030
feat(qr-stands): activate user provided qr-1.svg and qr-4.svg
2026-08-20 23:34:57 +03:00
AyrisAI
18396f3b99
fix(qr-stands): restore exact user-provided qr-1.svg alongside qr-4.svg
2026-08-20 23:31:54 +03:00
AyrisAI
edb7af9288
feat(qr-stands): add flat vector qr-1.svg urban preset
2026-08-20 23:30:04 +03:00
AyrisAI
a0cb04b2c6
feat(qr-stands): set qr-4 as exclusive vector stand template
2026-08-20 23:25:19 +03:00
AyrisAI
4ce6505a4d
feat(qr-stands): add custom-svg-3 preset with user provided SVG stand code
2026-08-20 19:03:18 +03:00
AyrisAI
8efb5a9ff6
fix: render true SVG template vector graphic as stand background
2026-08-20 18:55:21 +03:00
AyrisAI
0a2aae68db
feat: add qr-2.svg template preset (Classic Bistro QR Stand 2)
2026-08-20 18:49:43 +03:00
AyrisAI
984a41d0e5
refactor: simplify QR stand presets to single urban qr-1.svg template
2026-08-20 18:44:44 +03:00
AyrisAI
04863c8a78
feat: add qr-1.svg template integration for QR stand generator
2026-08-20 18:43:15 +03:00
AyrisAI
bf44bf3e9d
fix(docker): resolve pnpm v10 ERR_PNPM_IGNORED_BUILDS in Dockerfile
2026-08-20 18:22:36 +03:00
AyrisAI
d396cbb221
feat: implement Tabletop QR Stand Generator with high-res PNG and print-ready A5 PDF export
2026-08-20 18:16:49 +03:00
AyrisAI
5cbd80326f
feat: setup Supabase Storage bucket for restaurant assets and add mobile upload helper
2026-08-20 17:30:22 +03:00
AyrisAI
5122ec24fc
fix: revert to stable Next.js 15 and add @swc/helpers to dependencies for Docker standalone runtime
2026-08-20 17:24:40 +03:00
AyrisAI
b950a31e3b
fix: move @import rule to top of globals.css to satisfy PostCSS specification
2026-08-20 17:20:22 +03:00
AyrisAI
f2b2537cd0
chore: upgrade Next.js to latest in web app
2026-08-20 17:15:42 +03:00
AyrisAI
484c7ce113
fix: resolve TypeScript type mismatch error in fetchRestaurantBySlug
2026-08-20 17:12:32 +03:00
AyrisAI
067d65940f
fix: fallback to basic select query when cover_url column is not present on production database
2026-08-20 17:10:19 +03:00
AyrisAI
b7e128fb8c
fix: resolve slug fallback rendering for demo/gusto-brasserie and add root [slug] routing
2026-08-20 17:05:45 +03:00
AyrisAI
0836fc8539
feat: redesign web menu layout, add header cover banner & dynamic header layout, refine mobile inputs and theme selector
2026-08-20 15:07:13 +03:00
AyrisAI
a719d41776
feat(web): add privacy policy and support pages for App Store listing
2026-08-20 12:24:30 +03:00
AyrisAI
77eecd53ac
fix(web): strip trailing slash from wildcard/custom-domain rewrite target
...
Root-path requests to a subdomain or custom domain rewrote to
/menu/<slug>/ (trailing slash), which the [slug] dynamic route can't
match — the app fell through to notFound() even for verified,
published restaurants. Custom domains (e.g. ad.ayris.tech) always hit
this since their only real traffic is the root path.
2026-08-20 05:18:59 +03:00
AyrisAI
c0544251b8
feat(themes): add Eleia Coastal Kitchen Mediterranean Aegean design system
2026-08-20 03:46:41 +03:00
AyrisAI
bf637b02ed
feat(themes): add Neon Street Fuze graffiti burger/taco menu design system
2026-08-20 03:44:02 +03:00
AyrisAI
809200550e
feat(themes): add La Maison d'Élève French luxury editorial restaurant design system
2026-08-20 03:41:07 +03:00
AyrisAI
de8bd506b8
feat(themes): add Swiss Brutalist restaurant design system with chapter numbers and high-contrast grid
2026-08-20 03:35:44 +03:00
AyrisAI
4e65d3f708
feat(web): make category navigation and section headers sticky with frosted glass effect
2026-08-20 02:59:24 +03:00
AyrisAI
89c2f62995
feat(themes): add Amber Artisan 2-column bento gourmet dark theme
2026-08-20 02:56:38 +03:00
AyrisAI
373de65d07
fix(docker): add curl and healthcheck routes for Coolify
2026-08-20 02:26:21 +03:00
AyrisAI
bace019314
fix(docker): ensure public directory exists for web standalone build
2026-08-20 02:10:07 +03:00
AyrisAI
6843c153ef
fix(docker): copy tsconfig.base.json in Dockerfiles
2026-08-20 01:58:57 +03:00
AyrisAI
97b83c7fd4
first commit
2026-08-20 01:51:59 +03:00