<?php
declare(strict_types=1);

namespace WP_AUX\Entities\AuxCF\PageFieldGroups;

use AuxCF\Entities\FieldGroup\Enum\FieldGroupPositionEnum;
use AuxCF\Entities\FieldGroup\FieldGroupPageTemplateLocationEntity;
use AuxCF\Entities\FieldGroup\FieldGroupPostTypeLocationEntity;
use AuxCF\Entities\FieldGroupEntity;
use WP_AUX\Entities\AuxCF\PageFields\Page\PageBackgroundFieldEntity;
use WP_AUX\Entities\AuxCF\PageFields\Page\PageCtasFieldEntity;
use WP_AUX\Entities\AuxCF\PageFields\Page\PageFactoidFieldEntity;
use WP_AUX\Entities\AuxCF\PageFields\Page\PageHeaderTypeFieldEntity;
use WP_AUX\Entities\AuxCF\PageFields\Page\PageHeaderStyleFieldEntity;
use WP_AUX\Entities\AuxCF\PageFields\Page\PageLayoutFieldEntity;
use WP_AUX\Entities\AuxCF\PageFields\Page\PageMediaTypeFieldEntity;
use WP_AUX\Entities\AuxCF\PageFields\Page\PageSubheaderFieldEntity;
use WP_AUX\Entities\AuxCF\PageFields\Page\PageSuperheaderFieldEntity;
use WP_AUX\Entities\AuxCF\PageFields\Page\PageHeroVideoOptionsFieldEntity;
use WP_AUX\Entities\AuxCF\PageFields\Page\PageHeaderMediaHeightFieldEntity;

class AcfInternalPageGroupEntity extends FieldGroupEntity
{
  public static string $key = 'aux_internal_page';
  protected string $title = 'Page Display Options';
  protected FieldGroupPositionEnum $position = FieldGroupPositionEnum::Normal;

  protected array $initFields = [
    PageHeaderTypeFieldEntity::class,
    PageHeaderStyleFieldEntity::class,
    PageBackgroundFieldEntity::class,
    PageSuperheaderFieldEntity::class,
    PageSubheaderFieldEntity::class,
    PageCtasFieldEntity::class,
    PageMediaTypeFieldEntity::class,
    PageFactoidFieldEntity::class,
    PageHeaderMediaHeightFieldEntity::class,
    PageHeroVideoOptionsFieldEntity::class,
    PageLayoutFieldEntity::class,
  ];

  protected array $initLocations = [
    [ FieldGroupPageTemplateLocationEntity::class, 'templates/page-internal.php' ],
    [ FieldGroupPostTypeLocationEntity::class, 'page' ],
  ];
}
