<?php

namespace CouponsPlus\App\Conditions\BuiltIn\Filters;

use CouponsPlus\App\Conditions\Filter;
use CouponsPlus\App\Conditions\IntersectionFilter;
use CouponsPlus\App\Conditions\ItemsSet;
use CouponsPlus\Original\Collections\Collection;

#[\AllowDynamicProperties]
Class AnyProducts extends Filter
{
    const TYPE = 'AnyProducts';
    const SET = IntersectionFilter::class;
    
    public static function getName() : string
    {
        return __('Any Products', 'coupons-plus-for-woocommerce');
    }

    public static function getDescription() : string
    {
        return '';
    }

    public static function getUseCases(): Collection
    {
        return new Collection([
            [
                'title' => __('Apply offers without requiring buying specific products', 'coupons-plus-for-woocommerce'),
                'content' => [
                    __('$10 off cart subtotal only for select user roles.', 'coupons-plus-for-woocommerce'),
                    __('50% off shipping on your first purchase.', 'coupons-plus-for-woocommerce'),
                    __('Cart subtotal tiered discounts: $100 or more - 10% OFF. $200 or more - 15% OFF. $300 or more - 20% off.', 'coupons-plus-for-woocommerce'),
                ]
            ],
/*            [
                'title' => __('Add a product', 'coupons-plus-for-woocommerce'),
                'content' => [
                    __('Automatically add a FREE Product A when using this coupon', 'coupons-plus-for-woocommerce'),
                ]
            ]*/
        ]);
    }

    public static function getOptions() : Collection
    {
        return new Collection([]);   
    }

    public function filterSet(ItemsSet $itemsSet) : ItemsSet
    {
        return $itemsSet;
    }
}