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
This commit is contained in:
Dwindi Ramadhana
2025-12-25 22:20:48 +07:00
parent c37ecb8e96
commit 9ac09582d2
104 changed files with 14801 additions and 1213 deletions

View File

@@ -20,17 +20,23 @@ use WooNooW\Api\ActivityLogController;
use WooNooW\Api\ProductsController;
use WooNooW\Api\CouponsController;
use WooNooW\Api\CustomersController;
use WooNooW\Api\NewsletterController;
use WooNooW\Frontend\ShopController;
use WooNooW\Frontend\CartController as FrontendCartController;
use WooNooW\Frontend\AccountController;
use WooNooW\Frontend\HookBridge;
use WooNooW\Api\Controllers\SettingsController;
use WooNooW\Api\Controllers\CartController as ApiCartController;
use WooNooW\Admin\AppearanceController;
class Routes {
public static function init() {
// Initialize controllers (register action hooks)
OrdersController::init();
AppearanceController::init();
// Initialize CartController auth bypass (must be before rest_api_init)
FrontendCartController::init();
// Log ALL REST API requests to debug routing
add_filter('rest_pre_dispatch', function($result, $server, $request) {
@@ -76,9 +82,9 @@ class Routes {
$settings_controller = new SettingsController();
$settings_controller->register_routes();
// Cart controller (API)
$api_cart_controller = new ApiCartController();
$api_cart_controller->register_routes();
// Cart controller (API) - DISABLED: Using Frontend CartController instead to avoid route conflicts
// $api_cart_controller = new ApiCartController();
// $api_cart_controller->register_routes();
// Payments controller
$payments_controller = new PaymentsController();
@@ -131,6 +137,9 @@ class Routes {
// Customers controller
CustomersController::register_routes();
// Newsletter controller
NewsletterController::register_routes();
// Frontend controllers (customer-facing)
error_log('WooNooW Routes: Registering Frontend controllers');
ShopController::register_routes();