Commit Graph

6 Commits

Author SHA1 Message Date
Dwindi Ramadhana
b8f179a984 feat: password reset email event with WooNooW template 2026-01-01 20:54:27 +07:00
Dwindi Ramadhana
65dd847a66 feat: add Newsletter Campaigns backend infrastructure
- Add CampaignManager.php with CPT registration, CRUD, batch sending
- Add CampaignsController.php with 8 REST endpoints (list, create, get, update, delete, send, test, preview)
- Register newsletter_campaign event in EventRegistry for email template
- Initialize CampaignManager in Bootstrap.php
- Register routes in Routes.php
2025-12-31 14:58:57 +07:00
Dwindi Ramadhana
9ac09582d2 feat: implement header/footer visibility controls for checkout and thankyou pages
- Created LayoutWrapper component to conditionally render header/footer based on route
- Created MinimalHeader component (logo only)
- Created MinimalFooter component (trust badges + policy links)
- Created usePageVisibility hook to get visibility settings per page
- Wrapped ClassicLayout with LayoutWrapper for conditional rendering
- Header/footer visibility now controlled directly in React SPA
- Settings: show/minimal/hide for both header and footer
- Background color support for checkout and thankyou pages
2025-12-25 22:20:48 +07:00
dwindown
29a7b55fda fix: Add variable dropdown to TipTap rich text editor
Fixed missing variable dropdown in email template editor.

Problem:
- RichTextEditor component had dropdown functionality
- But variables prop was empty array
- Users had to manually type {variable_name}

Solution:
- Added comprehensive list of 40+ available variables
- Includes order, customer, payment, shipping, URL, store variables
- Variables now show in dropdown for easy insertion

Available Variables:
- Order: order_number, order_total, order_items_table, etc.
- Customer: customer_name, customer_email, customer_phone
- Payment: payment_method, transaction_id, payment_retry_url
- Shipping: tracking_number, tracking_url, shipping_carrier
- URLs: order_url, review_url, shop_url, my_account_url
- Store: site_name, support_email, current_year

Now users can click dropdown and select variables instead of typing them manually.
2025-11-19 16:35:27 +07:00
dwindown
d3e36688cd feat: Add all WooCommerce order status events
Added missing order status events that were not showing in admin UI.

New Events Added (Staff + Customer):
- Order On-Hold (awaiting payment)
- Order Failed (payment/processing failed)
- Order Refunded (full refund processed)
- Order Pending (initial order state)

Changes:
1. EventRegistry.php - Added 8 new event definitions
2. DefaultTemplates.php - Added 8 new email templates
3. DefaultTemplates.php - Added subject lines for all new events

Now Available in Admin:
- Staff: 11 order events total
- Customer: 12 events total (including new customer)

All events can be toggled on/off per channel (email/push) in admin UI.
2025-11-18 23:10:46 +07:00
dwindown
4471cd600f feat: Complete markdown syntax refinement and variable protection
 New cleaner syntax implemented:
- [card:type] instead of [card type='type']
- [button:style](url)Text[/button] instead of [button url='...' style='...']
- Standard markdown images: ![alt](url)

 Variable protection from markdown parsing:
- Variables with underscores (e.g., {order_items_table}) now protected
- HTML comment placeholders prevent italic/bold parsing
- All variables render correctly in preview

 Button rendering fixes:
- Buttons work in Visual mode inside cards
- Buttons work in Preview mode
- Button clicks prevented in visual editor
- Proper styling for solid and outline buttons

 Backward compatibility:
- Old syntax still supported
- No breaking changes

 Bug fixes:
- Fixed order_item_table → order_items_table naming
- Fixed button regex to match across newlines
- Added button/image parsing to parseMarkdownBasics
- Prevented button clicks on .button and .button-outline classes

📚 Documentation:
- NEW_MARKDOWN_SYNTAX.md - Complete user guide
- MARKDOWN_SYNTAX_AND_VARIABLES.md - Technical analysis
2025-11-15 20:05:50 +07:00