Commit graph

394 commits

Author SHA1 Message Date
John Mizerek
8aeca335fd Add ZIP upload for saved webpage import
For Cloudflare-protected sites, users can now:
1. Save the page from their browser (Webpage, Complete)
2. ZIP the HTML and assets folder
3. Upload the ZIP in the wizard
4. Server extracts to temp folder, Playwright scans local copy

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-13 07:02:51 -08:00
John Mizerek
1438267af6 Use wrapper script for Playwright to set browser path 2026-02-12 21:54:02 -08:00
John Mizerek
5c50ce2cf9 Use Playwright for JS-rendered menu scraping
- Replace cfhttp with Playwright headless browser
- Capture images from network requests during page render
- No longer needs to fetch subpages (JS renders everything)
- Should capture subcategory items that load dynamically

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-12 21:43:37 -08:00
John Mizerek
22fc113461 Add NOW() for AddedOn in business INSERT
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-12 21:24:28 -08:00
John Mizerek
40c91c82cf Fix add new business link to point to setup-wizard.html
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-12 21:12:02 -08:00
John Mizerek
a32614be17 Restore CommunityMealType column in business INSERT (added column to dev DB)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-12 21:06:28 -08:00
John Mizerek
f8afbb57e9 Add bulk item image upload: accept all sizes, pick best, upload after save 2026-02-12 20:56:27 -08:00
John Mizerek
04f65e3495 Fix image matching to use Toast item ID from filename, not alt text 2026-02-12 20:51:37 -08:00
John Mizerek
4471ddc92b Add automatic image downloading from URLs during menu import 2026-02-12 20:48:17 -08:00
John Mizerek
f882e84704 Add image type breakdown to setup wizard summary 2026-02-12 20:44:42 -08:00
John Mizerek
1a7c342ac9 Remove manual image upload step - use automatic matching 2026-02-12 20:36:43 -08:00
John Mizerek
dbe05a8b12 Update prompt to extract imageUrl from item containers in HTML 2026-02-12 20:36:16 -08:00
John Mizerek
112f343ecf Fix wizard: header preview uses cover, add image matching step after HTML import 2026-02-12 20:31:29 -08:00
John Mizerek
a1b557cdc7 Look for embedded JSON data in menu pages 2026-02-12 20:22:35 -08:00
John Mizerek
361e54c17a Add debug: Beverages HTML snippet to see subcategory structure 2026-02-12 20:06:07 -08:00
John Mizerek
794d2ceee5 Add debug for menuGroup/menuSection structure detection 2026-02-12 20:01:43 -08:00
John Mizerek
bed088d0ff Explicit subcategory rule: outer section = parent, inner sections = subcats 2026-02-12 19:56:29 -08:00
John Mizerek
2163bb3009 Explicit subcategory detection with HTML structure example 2026-02-12 19:55:00 -08:00
John Mizerek
99c2a6aa10 Add HTML snippet debug to see actual structure 2026-02-12 19:50:56 -08:00
John Mizerek
549f3cb31f Explicit Toast subcategory instructions: parent in category, subcat in subcategory 2026-02-12 19:44:10 -08:00
John Mizerek
436861970e Add h4 tag debug to find subcategory tags 2026-02-12 19:40:51 -08:00
John Mizerek
3e9f07df1a Simplify: categories as strings, subcategory on items 2026-02-12 19:37:04 -08:00
John Mizerek
dfb264eba6 Simplify image extraction to single imageUrl per item 2026-02-12 19:29:41 -08:00
John Mizerek
89adfbc92e Add JSON parse error handling with debug output 2026-02-12 19:29:00 -08:00
John Mizerek
ec59f05814 Restore working prompt, add subcategory support without breaking item extraction 2026-02-12 19:22:45 -08:00
John Mizerek
d8dacb198e Fix CFML hash escape in system prompt 2026-02-12 19:17:28 -08:00
John Mizerek
e372f67901 Improve Toast POS subcategory detection with explicit h3 search and debug output 2026-02-12 19:14:15 -08:00
John Mizerek
813628cecb Add HTML file upload option for menu import
- Backend now accepts either url or html content in request body
- Frontend adds HTML file upload option below URL input
- Useful when websites block the crawler (403 errors)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-12 17:13:32 -08:00
John Mizerek
31773b0acf Add analyzeMenuUrl to public endpoints 2026-02-12 16:44:33 -08:00
John Mizerek
f6518932db Add URL-based menu import to setup wizard 2026-02-12 16:43:37 -08:00
John Mizerek
fccbc17fe3 Escape # symbol in CFML prompt 2026-02-12 14:34:54 -08:00
John Mizerek
2905d0f9f8 Fix missing closing tag in CFML 2026-02-12 14:26:17 -08:00
John Mizerek
800d1f1246 Add brand color extraction and auto-header detection to setup wizard 2026-02-12 14:20:35 -08:00
John Mizerek
02d77b662a Fix hours extraction to explicitly require weekend hours 2026-02-12 14:08:50 -08:00
John Mizerek
0d04ae8463 Resolve merge conflict in myBusinesses.cfm - keep ActiveTaskCount 2026-02-11 22:33:44 -08:00
John Mizerek
e4422996b2 Fix column names in saveWizard.cfm for production DB
- BusinessCommunityMealType → CommunityMealType
- BusinessAddedOn → AddedOn

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-11 22:33:20 -08:00
John Pinkyfloyd
a2be30b952 Add UUID to getDetail.cfm response for receipt link
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-09 18:54:02 -08:00
John Pinkyfloyd
237f09ef93 Add beacon-sharding/get_shard_pool.cfm to public allowlist
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-09 18:33:49 -08:00
John Mizerek
7745e1ed86 Fix pending task count to exclude completed tasks
The PendingTaskCount subquery was only checking ClaimedByUserID = 0
but not CompletedOn IS NULL, causing completed-but-unclaimed tasks
to show up in the business selection screen count.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-09 17:20:30 -08:00
John Pinkyfloyd
d2985e193a Fix submit.cfm: remove ServicePoints join that was causing column name errors 2026-02-09 16:32:00 -08:00
John Pinkyfloyd
add65346c9 Fix submit.cfm: correct column names for OrderLineItems and ServicePoints queries 2026-02-09 15:58:13 -08:00
John Pinkyfloyd
abf444ffe6 Use PayfritFee from database in Stripe payment intent 2026-02-09 15:50:05 -08:00
John Pinkyfloyd
1787671239 Add PayfritFee to cart API responses 2026-02-09 15:42:57 -08:00
John Pinkyfloyd
e03e021ea2 Add all biz debug 2026-02-09 14:33:25 -08:00
John Pinkyfloyd
a1c3e71db0 Add all businesses debug endpoint 2026-02-09 14:32:01 -08:00
John Pinkyfloyd
696cb90ba9 Fix johns debug query 2026-02-09 14:30:37 -08:00
John Pinkyfloyd
133f57f689 Add Johns Beverages debug endpoint 2026-02-09 14:29:04 -08:00
John Mizerek
b8cf2ce150 Fix beacon sharding to support Major/Minor starting from 0
- allocate_business_namespace: Start Major from 0 (was 1)
- allocate_servicepoint_minor: Start Minor from 0 (was 1)
- register_beacon_hardware: Set BeaconMinor if empty instead of rejecting
- lookup: Allow Major=0 in validation (was LTE 0, now LT 0)
- servicepoints/save: Auto-allocate BeaconMinor on insert, include in response

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-09 13:43:32 -08:00
John Pinkyfloyd
872897eabc Add Stripe Checkout Session for web-based payments (iOS app) 2026-02-09 13:10:27 -08:00
John Pinkyfloyd
c155a6ab78 Add Stripe status debug endpoint 2026-02-09 12:49:23 -08:00