fix: Major UX improvements and API error handling
Fixed Issues:
1. ✅ API error handling - Added try-catch and validation
2. ✅ Pipe separator UX - Now accepts comma OR pipe naturally
3. ✅ Tab restructuring - Merged pricing into General tab
Changes:
🔧 API (ProductsController.php):
- Added try-catch error handling in create_product
- Validate required fields (name)
- Better empty field checks (use !empty instead of ??)
- Support virtual, downloadable, featured flags
- Array validation for categories/tags/variations
- Return proper WP_Error on exceptions
🎨 UX Improvements:
1. Attribute Options Input (VariationsTab.tsx):
❌ Old: Pipe only, spaces rejected
✅ New: Comma OR pipe, spaces allowed
- Split by /[,|]/ regex
- Display as comma-separated (more natural)
- Help text: "Type naturally: Red, Blue, Green"
- No more cursor gymnastics!
2. Tab Restructuring (ProductFormTabbed.tsx):
❌ Old: 5 tabs (General, Pricing, Inventory, Variations, Organization)
✅ New: 3-4 tabs (General+Pricing, Inventory, Variations*, Organization)
- Pricing merged into General tab
- Variable products: 4 tabs (Variations shown)
- Simple products: 3 tabs (Variations hidden)
- Dynamic grid: grid-cols-3 or grid-cols-4
- Less tab switching!
3. GeneralTab.tsx Enhancement:
- Added pricing fields section
- SKU, Regular Price, Sale Price
- Savings calculator ("Customers save X%")
- Context-aware help text:
* Simple: "Base price before discounts"
* Variable: "Base price (can override per variation)"
- All in one place!
📊 Result:
- Simpler navigation (3-4 tabs vs 5)
- Natural typing (comma works!)
- Better context (pricing with product info)
- Less cognitive load
- Faster product creation