<?php

namespace PrestaShop\Module\LCVPrestaTheme\Forms;


use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\FormBuilderInterface;
use Symfony\Component\Form\Extension\Core\Type\SubmitType;
use Symfony\Component\Form\Extension\Core\Type\FileType;
use PrestaShopBundle\Form\Admin\Type\SwitchType;
use Symfony\Component\Form\Extension\Core\Type\TextType;
use Symfony\Component\Form\Extension\Core\Type\ChoiceType;

class PopUpType extends AbstractType{
    public function buildForm(FormBuilderInterface $builder, array $options)
    {

        $builder
           ->add('isVisible', SwitchType::class, [
                'label' => 'Activer',
                'required' => false,
            ])

            ->add('version', ChoiceType::class, [
                'label' => 'Style d\'affichage du pop up',
                'choices' => [
                    'Image' => 'image',
                    'Plein cadre' => 'bleed',
                ],
                'expanded' => true,  // boutons radio
                'multiple' => false, // un seul choix
                'label_html' => true, // autorise le <img> dans le libellé des choix
                'attr' => [
                    'class' => 'theme-choice',
                ],
                'choice_label' => function ($choice) {
                    $baseUri = __PS_BASE_URI__; // URL de base de PrestaShop
                    switch ($choice) {
                        case 'image':
                            return '<img src="' . $baseUri . 'modules/lcvprestatheme/img/popup_image.svg" alt="Pop up image" />';
                        case 'bleed':
                            return '<img src="' . $baseUri . 'modules/lcvprestatheme/img/popup_bleed.svg" alt="Pop up plein cadre" />';
                    }
                },
            ])

            ->add('title', TextType::class,[
                'label'    => 'Titre',
                'empty_data' => '',
                "attr"=>[
                    "placeholder" => "Ajouter un titre au popup"
                ]
            ])

            ->add('subTitle', TextType::class,[
                'label'    => 'sous-titre',
                'required' => false,
                'empty_data' => '',
                "attr"=>[
                    "placeholder" => "sous titre deu popup"
                ]
            ])

            ->add('codeReduction', textType::class, [
                'label' => 'Code de réduction à appliquer à l\'inscription',
                'required' => false,
                'empty_data' => '',
                'attr' => [
                    'placeholder' => 'Entrez le code de réduction',
                ],
            ])

           ->add('image', FileType::class ,[
            'label' => 'Image de présentation',
            'mapped' => false, // Important si ce champ n'est pas lié directement à l'entité
            'required' => false,
        ])

            ->add('save', SubmitType::class, [
                'label' => 'Enregistrer',
            ]);
    }


      public function getName()
    {
        return '';
    }
    
    public function getBlockPrefix()
    {
        return '';
    }

        public static function getIntro(): ?string
    {
        return 'Cette page vous permet de personnaliser l’affichage du pop up Newsletter</br>
        - Afficher ou masquer le pop up</br>
        - Choisissez le style d’affichage : « Image » (image sur le côté) ou « Plein cadre » (image en fond, texte superposé)</br>
        - Renseignez un titre pour le pop up. Le sous-titre est facultatif et peut être laissé vide.</br>
        - ajouter une image au popup facultatif et peut être laissé vide.</br>
        - ajouter un code de réduction à l\'inscription facultatif et peut être laissé vide.<br>
        ';
    }

     
}