<?php

namespace App\Controller\Admin;

use App\Entity\Site\Page;
use EasyCorp\Bundle\EasyAdminBundle\Field\TextField;
use Lc\SovBundle\Controller\AbstractAdminController as AbstractCrudController;
use Lc\SovBundle\Field\CKEditorField;
use Lc\SovBundle\Field\StatusField;
use Lc\SovBundle\Repository\RepositoryQueryInterface;

class PageCrudController extends AbstractCrudController
{
    public static function getEntityFqcn(): string
    {
        return Page::class;
    }

    public function getRepositoryQuery(): RepositoryQueryInterface
    {
        return $this->getPageContainer()->getRepositoryQuery();
    }

    public function configureFields(string $pageName): iterable
    {
        if ($this->isGranted("ROLE_SUPER_ADMIN")) {
            $fields[] = TextField::new('devAlias');
        }
        $fields[] = TextField::new('devAlias');
        $fields[] = TextField::new('title');
        $fields[] = CKEditorField::new('description')->hideOnIndex();
        $fields[] = StatusField::new('status');

        return $fields;
    }
}
