This website requires JavaScript.
d33a38de4e
feat: restaurant cover photo upload
main
AyrisAI and Claude Sonnet 5
2026-08-29 01:58:10 +03:00
df250c40e8
feat(web): public menu language pill selector; fix missing cover_url column
AyrisAI and Claude Sonnet 5
2026-08-29 01:55:26 +03:00
6ec4631e82
feat(mobile): language management UI in account settings
AyrisAI and Claude Sonnet 5
2026-08-29 01:53:45 +03:00
00195ae7d7
feat(api): AI-powered multi-language menu translation
AyrisAI and Claude Sonnet 5
2026-08-29 01:46:19 +03:00
739de7de5c
feat(web): add missing qr-3/qr-8/qr-9 stand SVG templates
AyrisAI
2026-08-29 01:21:05 +03:00
1f8195ff67
feat: admin auth, web menu template studio, live text editing & Ayris Tech footer backlink
AyrisAI
2026-08-23 01:45:00 +03:00
e7ba6c7807
feat(qr): complete QR studio, dynamic google fonts, mouse canvas drag, and template sync
AyrisAI
2026-08-22 16:00:30 +03:00
c1569c0879
chore: migrate monorepo configuration strictly to pnpm v11, clean up npm leftovers and update workspace config
AyrisAI
2026-08-21 12:11:26 +03:00
ae2386eacf
feat(mobile): integrate Instagram/Canva style interactive QR Canvas Studio with touch drag, rotate, badge boxes, shadows and dynamic layers
AyrisAI
2026-08-21 01:24:17 +03:00
d00b45ce72
feat(mobile): integrate QrTemplate9 Vintage Table Menu with 9.jpeg background and live editing
AyrisAI
2026-08-21 01:19:04 +03:00
102a9a744b
feat(mobile): integrate QrTemplate8 Emerald & Gold Special with 8.jpeg background and live editing
AyrisAI
2026-08-21 01:10:40 +03:00
b0645c0ac3
feat(mobile): replace blocking modal with inline live inspector for instantaneous visual editing feedback
AyrisAI
2026-08-21 01:04:03 +03:00
2c3599839b
feat(mobile): add QrTemplate6 Stonehearth Grill, modal text editor and vertical positioning (offsetY) controls
AyrisAI
2026-08-21 01:00:29 +03:00
2530ab4005
feat(mobile): add multiline text with Enter, per-text independent font selection and font size controls
AyrisAI
2026-08-21 00:55:44 +03:00
b72846bd91
feat(mobile): integrate QrTemplate5 with 5.png background image and dynamic texts
AyrisAI
2026-08-21 00:52:26 +03:00
d2846ed628
feat(mobile): add QrTemplate4 Crimson Petal, support full Turkish characters on all system fonts and templates
AyrisAI
2026-08-21 00:41:16 +03:00
4dbb68a73a
feat(mobile): add full text editing, show/hide switches and font family selector for QR stands
AyrisAI
2026-08-21 00:36:14 +03:00
932c174b5f
fix(mobile): resolve TSpan text overlapping in QrTemplate3
AyrisAI
2026-08-21 00:31:17 +03:00
34dd24eee2
feat(mobile): register QrTemplate2 Daily Grind and filter UI to active component templates
AyrisAI
2026-08-21 00:30:14 +03:00
8481a34e61
feat(mobile): add QrTemplate3 Pizzeria, fix PDF export for component system
AyrisAI
2026-08-21 00:25:44 +03:00
ccd8c90267
fix(mobile): decode XML entities for react-native-svg text rendering
AyrisAI
2026-08-21 00:07:43 +03:00
3629f98855
fix(mobile): proper nested-g depth counting for qr-placeholder replacement
AyrisAI
2026-08-21 00:06:03 +03:00
dd282f3987
fix(mobile): strip XML comments before SvgXml parse to fix closing tag error
AyrisAI
2026-08-21 00:02:37 +03:00
4236ddb5ee
feat: re-integrate all SVGs from svg ornekleri/ fresh, add qr-6
AyrisAI
2026-08-20 23:59:45 +03:00
c7e4832441
fix(mobile): do not mutate SVG attributes, only replace qr-placeholder group
AyrisAI
2026-08-20 23:58:21 +03:00
fa50e73198
fix(mobile): inject QR directly into SVG XML for pixel-perfect placement
AyrisAI
2026-08-20 23:56:37 +03:00
808097377d
feat(qr-stands): add qr-5 L'Atelier Bistro Fine Dining template
AyrisAI
2026-08-20 23:50:30 +03:00
6cde8dfb87
feat: sync qr presets and mobile rendering with svg/ directory
AyrisAI
2026-08-20 23:43:58 +03:00
01c9f5f195
feat(mobile): render exact SVG vector templates in mobile QR stand screen
AyrisAI
2026-08-20 23:43:26 +03:00
f768b92873
feat(qr-stands): clean SVG template renderer with exact QR placement and no redundant overlays
AyrisAI
2026-08-20 23:39:56 +03:00
eb0b5d1886
feat(qr-stands): add qr-2.svg preset from user code
AyrisAI
2026-08-20 23:36:01 +03:00
38fd0dd030
feat(qr-stands): activate user provided qr-1.svg and qr-4.svg
AyrisAI
2026-08-20 23:34:57 +03:00
18396f3b99
fix(qr-stands): restore exact user-provided qr-1.svg alongside qr-4.svg
AyrisAI
2026-08-20 23:31:54 +03:00
edb7af9288
feat(qr-stands): add flat vector qr-1.svg urban preset
AyrisAI
2026-08-20 23:30:04 +03:00
a0cb04b2c6
feat(qr-stands): set qr-4 as exclusive vector stand template
AyrisAI
2026-08-20 23:25:19 +03:00
4ce6505a4d
feat(qr-stands): add custom-svg-3 preset with user provided SVG stand code
AyrisAI
2026-08-20 19:03:18 +03:00
8efb5a9ff6
fix: render true SVG template vector graphic as stand background
AyrisAI
2026-08-20 18:55:21 +03:00
0a2aae68db
feat: add qr-2.svg template preset (Classic Bistro QR Stand 2)
AyrisAI
2026-08-20 18:49:43 +03:00
984a41d0e5
refactor: simplify QR stand presets to single urban qr-1.svg template
AyrisAI
2026-08-20 18:44:44 +03:00
04863c8a78
feat: add qr-1.svg template integration for QR stand generator
AyrisAI
2026-08-20 18:43:15 +03:00
e63de8584d
style(mobile): render 1:1 pixel-perfect Urban Burger tabletop plaque layout
AyrisAI
2026-08-20 18:28:23 +03:00
3a15dd15b9
feat(mobile): build native in-app QR Stand Generator with theme switcher & A5 PDF / PNG exporter
AyrisAI
2026-08-20 18:25:20 +03:00
bf44bf3e9d
fix(docker): resolve pnpm v10 ERR_PNPM_IGNORED_BUILDS in Dockerfile
AyrisAI
2026-08-20 18:22:36 +03:00
d396cbb221
feat: implement Tabletop QR Stand Generator with high-res PNG and print-ready A5 PDF export
AyrisAI
2026-08-20 18:16:49 +03:00
54a27903c8
chore: remove confidence score step from AI menu scanner flow
AyrisAI
2026-08-20 18:03:10 +03:00
3f326fa407
feat: allow updating custom menu slug with format validation, uniqueness checking and active cache sync
AyrisAI
2026-08-20 17:58:42 +03:00
e7d0bcc505
feat: implement DELETE /restaurants/:id endpoint and mobile UI danger zone for restaurant deletion
AyrisAI
2026-08-20 17:44:55 +03:00
5103322fa1
feat: dynamically fetch live Cloudflare SSL TXT verification records in GET /domains endpoint
AyrisAI
2026-08-20 17:35:23 +03:00
8adec100af
feat: render CNAME and Cloudflare SSL TXT verification instructions with copy buttons in mobile app domain settings
AyrisAI
2026-08-20 17:33:14 +03:00
5cbd80326f
feat: setup Supabase Storage bucket for restaurant assets and add mobile upload helper
AyrisAI
2026-08-20 17:30:22 +03:00
5122ec24fc
fix: revert to stable Next.js 15 and add @swc/helpers to dependencies for Docker standalone runtime
AyrisAI
2026-08-20 17:24:40 +03:00
b950a31e3b
fix: move @import rule to top of globals.css to satisfy PostCSS specification
AyrisAI
2026-08-20 17:20:22 +03:00
f2b2537cd0
chore: upgrade Next.js to latest in web app
AyrisAI
2026-08-20 17:15:42 +03:00
484c7ce113
fix: resolve TypeScript type mismatch error in fetchRestaurantBySlug
AyrisAI
2026-08-20 17:12:32 +03:00
067d65940f
fix: fallback to basic select query when cover_url column is not present on production database
AyrisAI
2026-08-20 17:10:19 +03:00
b7e128fb8c
fix: resolve slug fallback rendering for demo/gusto-brasserie and add root [slug] routing
AyrisAI
2026-08-20 17:05:45 +03:00
6055130828
docs: record EAS env var and entitlement identifier bugs
AyrisAI
2026-08-20 16:16:14 +03:00
bb4cd1b0fc
fix(mobile): stop matching entitlement by hardcoded identifier string
AyrisAI
2026-08-20 16:15:44 +03:00
102cc0781e
fix(mobile): add missing RevenueCat key to EAS production build env
AyrisAI
2026-08-20 15:57:40 +03:00
0836fc8539
feat: redesign web menu layout, add header cover banner & dynamic header layout, refine mobile inputs and theme selector
AyrisAI
2026-08-20 15:07:13 +03:00
6fb91c94ff
fix(mobile): configure Purchases on menu editor load
AyrisAI
2026-08-20 13:52:17 +03:00
67cd5a488c
fix(mobile): fix unreachable back button on subscription screen
AyrisAI
2026-08-20 13:33:24 +03:00
55bb415e82
docs: record trial + publish-gating integration
AyrisAI
2026-08-20 13:24:16 +03:00
d87f66efff
feat(mobile): gate publish behind subscription, surface free trial
AyrisAI
2026-08-20 13:23:55 +03:00
5a0c1ddc82
docs: record RevenueCat mobile SDK integration
AyrisAI
2026-08-20 13:21:22 +03:00
b25c742eea
feat(mobile): integrate react-native-purchases (RevenueCat)
AyrisAI
2026-08-20 13:20:54 +03:00
3509388c37
docs: record App Store Connect and RevenueCat setup
AyrisAI
2026-08-20 13:13:38 +03:00
c85d3864fc
feat(subscription): implement RevenueCat webhook handler
AyrisAI
2026-08-20 13:13:02 +03:00
a719d41776
feat(web): add privacy policy and support pages for App Store listing
AyrisAI
2026-08-20 12:24:30 +03:00
6cc56a198a
perf(ai-scanner): drop confidence scoring to simplify AI menu import
AyrisAI
2026-08-20 05:47:55 +03:00
7b9cfb6858
feat(api): automate custom domain setup via Cloudflare + Coolify
AyrisAI
2026-08-20 05:43:40 +03:00
bb27c3f773
docs: record today's production infra findings and fixes
AyrisAI
2026-08-20 05:26:34 +03:00
e0581440cb
fix(api): don't undo domain verification on DNS re-check, fix theme lookup crash
AyrisAI
2026-08-20 05:25:50 +03:00
77eecd53ac
fix(web): strip trailing slash from wildcard/custom-domain rewrite target
AyrisAI
2026-08-20 05:18:59 +03:00
1a3e46f16c
fix(api): raise Fastify body size limit for AI menu photo uploads
AyrisAI
2026-08-20 05:13:03 +03:00
93b2a77127
fix(mobile): update public menu URL format to https://menul.io/menu/:slug
AyrisAI
2026-08-20 04:32:25 +03:00
c6b15ffa52
fix(mobile): install missing expo-linking and align native dependencies to 100% Expo SDK 52
AyrisAI
2026-08-20 04:09:25 +03:00
c0544251b8
feat(themes): add Eleia Coastal Kitchen Mediterranean Aegean design system
AyrisAI
2026-08-20 03:46:41 +03:00
bf637b02ed
feat(themes): add Neon Street Fuze graffiti burger/taco menu design system
AyrisAI
2026-08-20 03:44:02 +03:00
809200550e
feat(themes): add La Maison d'Élève French luxury editorial restaurant design system
AyrisAI
2026-08-20 03:41:07 +03:00
de8bd506b8
feat(themes): add Swiss Brutalist restaurant design system with chapter numbers and high-contrast grid
AyrisAI
2026-08-20 03:35:44 +03:00
83fa4236ea
fix(mobile): disable experimental newArchEnabled to prevent TurboModule SIGABRT crash
AyrisAI
2026-08-20 03:10:48 +03:00
4e65d3f708
feat(web): make category navigation and section headers sticky with frosted glass effect
AyrisAI
2026-08-20 02:59:24 +03:00
89c2f62995
feat(themes): add Amber Artisan 2-column bento gourmet dark theme
AyrisAI
2026-08-20 02:56:38 +03:00
da3d4d291b
chore(assets): ensure 1024x1024 app icon is flattened without alpha for Apple App Store compliance
AyrisAI
2026-08-20 02:45:19 +03:00
32818766f0
fix(mobile): remove custom font loader causing SIGABRT crash on iOS release
AyrisAI
2026-08-20 02:43:22 +03:00
3257f7fe57
security: remove any hardcoded credentials from codebase
AyrisAI
2026-08-20 02:39:21 +03:00
f5eebed0a7
fix(mobile): add hardcoded production env fallbacks to prevent launch crash
AyrisAI
2026-08-20 02:38:37 +03:00
856347cabd
fix(api): add GET / root healthcheck endpoint for Coolify
AyrisAI
2026-08-20 02:31:04 +03:00
1379642832
chore: add type module to root package.json
AyrisAI
2026-08-20 02:26:57 +03:00
373de65d07
fix(docker): add curl and healthcheck routes for Coolify
AyrisAI
2026-08-20 02:26:21 +03:00
4f4f68b924
chore(eas): set ios build image to latest
AyrisAI
2026-08-20 02:18:37 +03:00
31ace73a09
chore(api): set production default port to 3000
AyrisAI
2026-08-20 02:16:48 +03:00
e56f92bf56
fix(api): bundle with tsup to resolve ESM shared module execution
AyrisAI
2026-08-20 02:16:07 +03:00
bace019314
fix(docker): ensure public directory exists for web standalone build
AyrisAI
2026-08-20 02:10:07 +03:00
660c38e5e2
fix: add expo-asset and expo-constants to mobile dependencies
AyrisAI
2026-08-20 02:09:23 +03:00
6843c153ef
fix(docker): copy tsconfig.base.json in Dockerfiles
AyrisAI
2026-08-20 01:58:57 +03:00
437af0b251
fix: eas config and dockerfiles
AyrisAI
2026-08-20 01:53:41 +03:00
97b83c7fd4
first commit
AyrisAI
2026-08-20 01:51:59 +03:00