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 and Claude Sonnet 5
6ec4631e82
feat(mobile): language management UI in account settings
...
Restaurant owners can now enable/disable AI-translated menu languages
(EN/DE/AR/RU/FR) from the account screen, calling the new
/restaurants/:id/languages endpoints. Turkish stays as the fixed base
language; adding a language triggers a full AI translation pass, removing
one just hides it (translations are kept for a fast re-enable).
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com >
2026-08-29 01:53:45 +03:00
AyrisAI and Claude Sonnet 5
00195ae7d7
feat(api): AI-powered multi-language menu translation
...
Adds enabled_languages on restaurants and translations JSONB on menu
categories/items. New /restaurants/:id/languages endpoints bulk-translate
the full menu via Gemini/GPT-4o-mini (reusing the ai-scanner dual-provider
pattern) when a language is enabled. New categories/items are auto-
translated in the background into any already-enabled languages.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com >
2026-08-29 01:46:19 +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
c1569c0879
chore: migrate monorepo configuration strictly to pnpm v11, clean up npm leftovers and update workspace config
2026-08-21 12:11:26 +03:00
AyrisAI
ae2386eacf
feat(mobile): integrate Instagram/Canva style interactive QR Canvas Studio with touch drag, rotate, badge boxes, shadows and dynamic layers
2026-08-21 01:24:17 +03:00
AyrisAI
d00b45ce72
feat(mobile): integrate QrTemplate9 Vintage Table Menu with 9.jpeg background and live editing
2026-08-21 01:19:04 +03:00
AyrisAI
102a9a744b
feat(mobile): integrate QrTemplate8 Emerald & Gold Special with 8.jpeg background and live editing
2026-08-21 01:10:40 +03:00
AyrisAI
b0645c0ac3
feat(mobile): replace blocking modal with inline live inspector for instantaneous visual editing feedback
2026-08-21 01:04:03 +03:00
AyrisAI
2c3599839b
feat(mobile): add QrTemplate6 Stonehearth Grill, modal text editor and vertical positioning (offsetY) controls
2026-08-21 01:00:29 +03:00
AyrisAI
2530ab4005
feat(mobile): add multiline text with Enter, per-text independent font selection and font size controls
2026-08-21 00:55:44 +03:00
AyrisAI
b72846bd91
feat(mobile): integrate QrTemplate5 with 5.png background image and dynamic texts
2026-08-21 00:52:26 +03:00
AyrisAI
d2846ed628
feat(mobile): add QrTemplate4 Crimson Petal, support full Turkish characters on all system fonts and templates
2026-08-21 00:41:16 +03:00
AyrisAI
4dbb68a73a
feat(mobile): add full text editing, show/hide switches and font family selector for QR stands
2026-08-21 00:36:14 +03:00
AyrisAI
932c174b5f
fix(mobile): resolve TSpan text overlapping in QrTemplate3
2026-08-21 00:31:17 +03:00
AyrisAI
34dd24eee2
feat(mobile): register QrTemplate2 Daily Grind and filter UI to active component templates
2026-08-21 00:30:14 +03:00
AyrisAI
8481a34e61
feat(mobile): add QrTemplate3 Pizzeria, fix PDF export for component system
2026-08-21 00:25:44 +03:00
AyrisAI
ccd8c90267
fix(mobile): decode XML entities for react-native-svg text rendering
2026-08-21 00:07:43 +03:00
AyrisAI
3629f98855
fix(mobile): proper nested-g depth counting for qr-placeholder replacement
2026-08-21 00:06:03 +03:00
AyrisAI
dd282f3987
fix(mobile): strip XML comments before SvgXml parse to fix closing tag error
2026-08-21 00:02:37 +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
c7e4832441
fix(mobile): do not mutate SVG attributes, only replace qr-placeholder group
2026-08-20 23:58:21 +03:00
AyrisAI
fa50e73198
fix(mobile): inject QR directly into SVG XML for pixel-perfect placement
2026-08-20 23:56:37 +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
6cde8dfb87
feat: sync qr presets and mobile rendering with svg/ directory
2026-08-20 23:43:58 +03:00
AyrisAI
01c9f5f195
feat(mobile): render exact SVG vector templates in mobile QR stand screen
2026-08-20 23:43:26 +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
e63de8584d
style(mobile): render 1:1 pixel-perfect Urban Burger tabletop plaque layout
2026-08-20 18:28:23 +03:00
AyrisAI
3a15dd15b9
feat(mobile): build native in-app QR Stand Generator with theme switcher & A5 PDF / PNG exporter
2026-08-20 18:25:20 +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
54a27903c8
chore: remove confidence score step from AI menu scanner flow
2026-08-20 18:03:10 +03:00
AyrisAI
3f326fa407
feat: allow updating custom menu slug with format validation, uniqueness checking and active cache sync
2026-08-20 17:58:42 +03:00
AyrisAI
e7d0bcc505
feat: implement DELETE /restaurants/:id endpoint and mobile UI danger zone for restaurant deletion
2026-08-20 17:44:55 +03:00
AyrisAI
5103322fa1
feat: dynamically fetch live Cloudflare SSL TXT verification records in GET /domains endpoint
2026-08-20 17:35:23 +03:00
AyrisAI
8adec100af
feat: render CNAME and Cloudflare SSL TXT verification instructions with copy buttons in mobile app domain settings
2026-08-20 17:33:14 +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