Files
WooNooW/admin-spa
dwindown 479293ed09 feat: Product New/Edit pages with comprehensive form
Implemented full Product CRUD create/edit functionality.

Product New Page (New.tsx):
 Create new products
 Page header with back/create buttons
 Form submission with React Query mutation
 Success toast & navigation
 Error handling

Product Edit Page (Edit.tsx):
 Load existing product data
 Update product with PUT request
 Loading & error states
 Page header with back/save buttons
 Query invalidation on success

ProductForm Component (partials/ProductForm.tsx - 600+ lines):
 Basic Information (name, type, status, descriptions)
 Product Types: Simple, Variable, Grouped, External
 Pricing (regular, sale, SKU) for simple products
 Inventory Management (stock tracking, quantity, status)
 Categories & Tags (multi-select with checkboxes)
 Attributes & Variations (for variable products)
  - Add/remove attributes
  - Define attribute options
  - Generate all variations automatically
  - Per-variation pricing & stock
 Additional Options (virtual, downloadable, featured)
 Form validation
 Reusable for create/edit modes
 Full i18n support

Features:
- Dynamic category/tag fetching from API
- Variation generator from attributes
- Manage stock toggle
- Stock status badges
- Form ref for external submit
- Hide submit button option (for page header buttons)
- Comprehensive validation
- Toast notifications

Pattern:
- Follows PROJECT_SOP.md CRUD template
- Consistent with Orders module
- Clean separation of concerns
- Type-safe with TypeScript
2025-11-19 20:36:26 +07:00
..
2025-11-13 10:13:17 +07:00