Loading your workspace...
Preparing MenuCraft for you.
// DEPLOY_CONFIG: {"triggers": [{"name": "menu_item_sold_out_notify_staff", "on": "collection.update", "collection": "menu_items", "actions": [{"type": "email", "to": "{{staff_notification_email}}", "subject": "Menu item sold out: {{name}}", "body": "Menu item '{{name}}' has been marked unavailable/sold out and may need attention."}], "conditions": [{"field": "available", "operator": "changed_to", "value": false}]}]} import { useMemo, useState } from 'react'; import { useAuth } from '@deplixo/sdk'; import { MenuCreator } from './components/MenuCreator.jsx'; import { CustomerMenu } from './components/CustomerMenu.jsx'; function App() { const { user, loading, login, logout } = useAuth(); const [view, setView] = useState('creator'); const publicMenuUrl = useMemo(() => { if (typeof window === 'undefined') return ''; const { origin, pathname } = window.location; return `${origin}${pathname}#menu=customer`; }, []); const qrCodeUrl = useMemo(() => { if (!publicMenuUrl) return ''; return `https://api.qrserver.com/v1/create-qr-code/?size=280x280&margin=12&data=${encodeURIComponent(publicMenuUrl)}`; }, [publicMenuUrl]); const handlePrintTableQr = () => { window.print(); }; if (loading) { return (
Preparing MenuCraft for you.
Sign in with Google to manage your restaurant menu, add categories, and publish a beautiful customer preview.
Restaurant owner access only
Share this scannable code with guests to open the public menu view on their phone.
Tip: use Print to generate a clean, table-friendly QR sheet for placing at each table.
{publicMenuUrl}
{qrCodeUrl &&