<?php

namespace Autogedal\Extend\Controller\Adminhtml\Answer;

use Magediary\ProductQuestion\Block\Adminhtml\Answer\Add;
use Magediary\ProductQuestion\Block\Adminhtml\Answer\Question\Grid;
use Magediary\ProductQuestion\Controller\Adminhtml\Answer;
use Magento\Backend\Model\View\Result\Page;
use Magento\Framework\Controller\ResultFactory;

class NewAction extends \Magediary\ProductQuestion\Controller\Adminhtml\Answer\NewAction
{
    /**
     * Execute action
     *
     * @return Page
     */
    public function execute()
    {
        /** @var Page $resultPage */
        $resultPage = $this->resultFactory->create(ResultFactory::TYPE_PAGE);
        $resultPage->getConfig()->getTitle()->prepend(__('Product Question'));
        
        $questionId = $this->getRequest()->getParam('question_id');
        
        if ($questionId) {
            $resultPage->getConfig()->getTitle()->prepend(__('Add Answer for Question #%1', $questionId));
            
            $addBlock = $resultPage->getLayout()->createBlock(Add::class);
            $addBlock->setData('question_id', $questionId);
            $resultPage->addContent($addBlock);
            
            $scriptBlock = $resultPage->getLayout()->createBlock(
                \Magento\Framework\View\Element\Template::class,
                'answer_direct_script'
            );
            $scriptBlock->setTemplate('Autogedal_Extend::answer/direct_form_script.phtml');
            $scriptBlock->setData('question_id', $questionId);
            $resultPage->addContent($scriptBlock);
            
        } else {
            $resultPage->getConfig()->getTitle()->prepend(__('Add Answer'));
            $resultPage->addContent($resultPage->getLayout()->createBlock(Add::class));
            $resultPage->addContent($resultPage->getLayout()->createBlock(Grid::class));
        }
        
        return $resultPage;
    }
}
