dwindown
b405fd49cc
feat: Add Store Settings backend with full countries/timezones
...
✅ StoreSettingsProvider.php:
- get_countries() - All WooCommerce countries
- get_timezones() - All PHP timezones with UTC offsets
- get_currencies() - All WooCommerce currencies with symbols
- get_settings() - Current store settings
- save_settings() - Save store settings
✅ StoreController.php:
- GET /woonoow/v1/store/settings
- POST /woonoow/v1/store/settings
- GET /woonoow/v1/store/countries (200+ countries)
- GET /woonoow/v1/store/timezones (400+ timezones)
- GET /woonoow/v1/store/currencies (100+ currencies)
- Response caching (1 hour for static data)
🔌 Integration:
- Registered in Api/Routes.php
- Permission checks (manage_woocommerce)
- Error handling
Next: Update Store.tsx to use real API
2025-11-05 22:08:53 +07:00
dwindown
247b2c6b74
feat: Implement Payment Gateways backend foundation
...
✅ Phase 1 Backend Complete:
📦 PaymentGatewaysProvider.php:
- Read WC gateways from WC()->payment_gateways()
- Transform to clean JSON format
- Categorize: manual/provider/other
- Extract settings: basic/api/advanced
- Check requirements (SSL, extensions)
- Generate webhook URLs
- Respect WC bone structure (WC_Payment_Gateway)
📡 PaymentsController.php:
- GET /woonoow/v1/payments/gateways (list all)
- GET /woonoow/v1/payments/gateways/{id} (single)
- POST /woonoow/v1/payments/gateways/{id} (save settings)
- POST /woonoow/v1/payments/gateways/{id}/toggle (enable/disable)
- Permission checks (manage_woocommerce)
- Error handling with proper HTTP codes
- Response caching (5 min)
🔌 Integration:
- Registered in Api/Routes.php
- Auto-discovers all WC-compliant gateways
- No new hooks - listens to WC structure
📋 Checklist Progress:
- [x] PaymentGatewaysProvider.php
- [x] PaymentsController.php
- [x] REST API registration
- [ ] Frontend components (next)
2025-11-05 21:09:49 +07:00
dwindown
f8247faf22
refactor: Adopt Shopify-inspired settings structure
...
- Updated SETTINGS_TREE_PLAN.md with modern SaaS approach
- Renamed settings pages for clarity (Store Details, Shipping & Delivery, etc.)
- Card-based UI design instead of boring forms
- Progressive disclosure and smart defaults
- Updated navigation in both backend (NavigationRegistry.php) and frontend (tree.ts)
- Added comprehensive comparison table and design decisions
- 8 pages total, 40-53 hours estimated
2025-11-05 14:51:00 +07:00
dwindown
70440120ec
fix: Add settings submenu to backend NavigationRegistry (single source of truth)
2025-11-05 12:15:48 +07:00
dwindown
3e7d75c98c
fix: Settings submenu standalone-only, dashboard path, add admin bar link
2025-11-05 10:44:08 +07:00
dwindown
7c24602965
fix: Clear auth cookies before setting new ones + trigger wp_login action
2025-11-05 10:02:40 +07:00
dwindown
ff29f95264
fix: Use wp_authenticate + wp_set_auth_cookie + wp_set_current_user for proper session
2025-11-05 00:42:11 +07:00
dwindown
ea97a95f34
fix: Enable period selector, add SSL support for wp_signon, add debug logging
2025-11-05 00:27:00 +07:00
dwindown
15f0bcb4e4
fix: Use wp_signon for proper WordPress authentication in standalone login
2025-11-05 00:11:20 +07:00
dwindown
8960ee1149
feat: Add WooCommerce store settings (currency, formatting) to standalone mode
2025-11-04 23:43:07 +07:00
dwindown
0fbe35f198
fix: Add WNW_API config to standalone mode for API compatibility
2025-11-04 23:37:38 +07:00
dwindown
8a0f2e581e
fix: Trust PHP auth check, skip redundant REST API call
2025-11-04 23:28:03 +07:00
dwindown
e8e380231e
fix: Login flow - remove reload, sync auth state reactively
2025-11-04 23:19:53 +07:00
dwindown
4e1eb22c8f
fix: Use parse_request hook for /admin + Dashboard menu now active on Overview (root path)
2025-11-04 22:43:20 +07:00
dwindown
4f75a5b501
fix: Remove blur on mobile for all bars + add template_redirect solution (no .htaccess needed)
2025-11-04 22:31:36 +07:00
dwindown
e161163362
feat: Implement standalone admin at /admin with custom login page and auth system
2025-11-04 21:28:00 +07:00
dwindown
a2dd6a98a3
feat: Implement conversion rate as (Completed Orders / Total Orders) × 100 and fix Recharts prop warning
2025-11-04 18:36:45 +07:00
dwindown
3c76d571cc
feat: Fill all dates in sales chart including dates with no data (industry best practice)
2025-11-04 18:10:25 +07:00
dwindown
7c0d9639b6
feat: Complete analytics implementation with all 7 pages, ROI calculation, conversion rate formatting, and chart improvements
2025-11-04 18:08:00 +07:00
dwindown
232059e928
feat: Complete Dashboard API Integration with Analytics Controller
...
✨ Features:
- Implemented API integration for all 7 dashboard pages
- Added Analytics REST API controller with 7 endpoints
- Full loading and error states with retry functionality
- Seamless dummy data toggle for development
📊 Dashboard Pages:
- Customers Analytics (complete)
- Revenue Analytics (complete)
- Orders Analytics (complete)
- Products Analytics (complete)
- Coupons Analytics (complete)
- Taxes Analytics (complete)
- Dashboard Overview (complete)
🔌 Backend:
- Created AnalyticsController.php with REST endpoints
- All endpoints return 501 (Not Implemented) for now
- Ready for HPOS-based implementation
- Proper permission checks
🎨 Frontend:
- useAnalytics hook for data fetching
- React Query caching
- ErrorCard with retry functionality
- TypeScript type safety
- Zero build errors
📝 Documentation:
- DASHBOARD_API_IMPLEMENTATION.md guide
- Backend implementation roadmap
- Testing strategy
🔧 Build:
- All pages compile successfully
- Production-ready with dummy data fallback
- Zero TypeScript errors
2025-11-04 11:19:00 +07:00