<?php

namespace Foxstudio\Plugins\Template\Utils;

class LogisticMinimum {

    private int $minimumOrderPrice, $fee;
    
    public function __construct($minimumOrderPrice, $fee) 
    {

        $this->minimumOrderPrice = $minimumOrderPrice;
        $this->fee = $fee;
        \add_action('woocommerce_cart_calculate_fees', [$this, 'wc_add_surcharge']);

    }

    function wc_add_surcharge($cart)
    {
        $total_price = 0;
    
        foreach ($cart->get_cart() as $cart_item) {
            if (isset($cart_item['custom_data']['technology'])) {
                $price = $cart_item['data']->get_price();
                $quantity = $cart_item['quantity'];

                $total_price += $price * $quantity;
            }
        }
    
        if ($total_price < $this->minimumOrderPrice && $total_price > 0):
            $cart->add_fee('Minimum logistyczne (dla zamówień poniżej 350 zł)', $this->fee);
        endif;
    
    }
}
