<?php

namespace Database\Seeders;

use App\Models\SiteManagementComponent;
use App\Models\SiteManagementComponentField;
use App\Models\SiteManagementFieldType;
use Illuminate\Database\Console\Seeds\WithoutModelEvents;
use Illuminate\Database\Seeder;

class SiteManagementComponentFieldSeeder extends Seeder {
	use WithoutModelEvents;
	/**
	 * Run the database seeds.
	 */
	public function run(): void {
		$siteManagementComponents = [
			'banner' => SiteManagementComponent::where('value', 'site.components.banner')->first()->id,
			'container' => SiteManagementComponent::where('value', 'site.components.container')->first()->id,
			'about' => SiteManagementComponent::where('value', 'site.components.about')->first()->id,
		];

		$siteManagementFieldTypes = [
			'text' => SiteManagementFieldType::whereNull('site_management_field_type_id')->where('value', 'text')->first()->id,
			'textarea' => SiteManagementFieldType::whereNull('site_management_field_type_id')->where('value', 'textarea')->first()->id,
			'link' => SiteManagementFieldType::whereNull('site_management_field_type_id')->where('value', 'link')->first()->id,
			'image' => SiteManagementFieldType::whereNull('site_management_field_type_id')->where('value', 'image')->first()->id,
		];

		$siteManagementComponentField = [
			[
				[
					'site_management_component_id' => $siteManagementComponents['banner'],
					'site_management_field_type_id' => $siteManagementFieldTypes['text'],
					'value' => 'title',
				],
				[
					'label' => 'Título',
					'is_required' => true,
				]
			],
			[
				[
					'site_management_component_id' => $siteManagementComponents['banner'],
					'site_management_field_type_id' => $siteManagementFieldTypes['text'],
					'value' => 'subtitle',
				],
				[
					'label' => 'Subtítulo',
					'is_required' => true,
				]
			],
			[
				[
					'site_management_component_id' => $siteManagementComponents['banner'],
					'site_management_field_type_id' => $siteManagementFieldTypes['textarea'],
					'value' => 'description',
				],
				[
					'label' => 'Descrição',
					'is_required' => true,
				]
			],
			[
				[
					'site_management_component_id' => $siteManagementComponents['banner'],
					'site_management_field_type_id' => $siteManagementFieldTypes['link'],
					'value' => 'btn1',
				],
				[
					'label' => 'Botão 1',
					'is_required' => true,
				]
			],
			[
				[
					'site_management_component_id' => $siteManagementComponents['banner'],
					'site_management_field_type_id' => $siteManagementFieldTypes['link'],
					'value' => 'btn2',
				],
				[
					'label' => 'Botão 2',
					'is_required' => true,
				]
			],
			[
				[
					'site_management_component_id' => $siteManagementComponents['banner'],
					'site_management_field_type_id' => $siteManagementFieldTypes['image'],
					'value' => 'image',
				],
				[
					'label' => 'Imagem Principal',
					'is_required' => true,
				]
			],
			[
				[
					'site_management_component_id' => $siteManagementComponents['banner'],
					'site_management_field_type_id' => $siteManagementFieldTypes['image'],
					'value' => 'image1',
				],
				[
					'label' => 'Imagem 1',
					'is_required' => true,
				]
			],
			[
				[
					'site_management_component_id' => $siteManagementComponents['banner'],
					'site_management_field_type_id' => $siteManagementFieldTypes['image'],
					'value' => 'image2',
				],
				[
					'label' => 'Imagem 2',
					'is_required' => true,
				]
			],
			[
				[
					'site_management_component_id' => $siteManagementComponents['banner'],
					'site_management_field_type_id' => $siteManagementFieldTypes['image'],
					'value' => 'image3',
				],
				[
					'label' => 'Imagem 3',
					'is_required' => true,
				]
			],
			[
				[
					'site_management_component_id' => $siteManagementComponents['banner'],
					'site_management_field_type_id' => $siteManagementFieldTypes['image'],
					'value' => 'image4',
				],
				[
					'label' => 'Imagem 4',
					'is_required' => true,
				]
			],
			//-----
			[
				[
					'site_management_component_id' => $siteManagementComponents['container'],
					'site_management_field_type_id' => $siteManagementFieldTypes['image'],
					'value' => 'oneImageMain',
				],
				[
					'label' => 'Imagem Main',
					'is_required' => true,
				]
			],
			[
				[
					'site_management_component_id' => $siteManagementComponents['container'],
					'site_management_field_type_id' => $siteManagementFieldTypes['image'],
					'value' => 'oneImageHover',
				],
				[
					'label' => 'Imagem Hover',
					'is_required' => true,
				]
			],
			[
				[
					'site_management_component_id' => $siteManagementComponents['container'],
					'site_management_field_type_id' => $siteManagementFieldTypes['text'],
					'value' => 'oneCounter',
				],
				[
					'label' => 'Contador',
					'is_required' => true,
				]
			],
			[
				[
					'site_management_component_id' => $siteManagementComponents['container'],
					'site_management_field_type_id' => $siteManagementFieldTypes['textarea'],
					'value' => 'oneDescr',
				],
				[
					'label' => 'Descrição',
					'is_required' => true,
				]
			],

			[
				[
					'site_management_component_id' => $siteManagementComponents['container'],
					'site_management_field_type_id' => $siteManagementFieldTypes['image'],
					'value' => 'twoImageMain',
				],
				[
					'label' => 'Imagem Main',
					'is_required' => true,
				]
			],
			[
				[
					'site_management_component_id' => $siteManagementComponents['container'],
					'site_management_field_type_id' => $siteManagementFieldTypes['image'],
					'value' => 'twoImageHover',
				],
				[
					'label' => 'Imagem Hover',
					'is_required' => true,
				]
			],
			[
				[
					'site_management_component_id' => $siteManagementComponents['container'],
					'site_management_field_type_id' => $siteManagementFieldTypes['text'],
					'value' => 'twoCounter',
				],
				[
					'label' => 'Contador',
					'is_required' => true,
				]
			],
			[
				[
					'site_management_component_id' => $siteManagementComponents['container'],
					'site_management_field_type_id' => $siteManagementFieldTypes['textarea'],
					'value' => 'twoDescr',
				],
				[
					'label' => 'Descrição',
					'is_required' => true,
				]
			],

			[
				[
					'site_management_component_id' => $siteManagementComponents['container'],
					'site_management_field_type_id' => $siteManagementFieldTypes['image'],
					'value' => 'threeImageMain',
				],
				[
					'label' => 'Imagem Main',
					'is_required' => true,
				]
			],
			[
				[
					'site_management_component_id' => $siteManagementComponents['container'],
					'site_management_field_type_id' => $siteManagementFieldTypes['image'],
					'value' => 'threeImageHover',
				],
				[
					'label' => 'Imagem Hover',
					'is_required' => true,
				]
			],
			[
				[
					'site_management_component_id' => $siteManagementComponents['container'],
					'site_management_field_type_id' => $siteManagementFieldTypes['text'],
					'value' => 'threeCounter',
				],
				[
					'label' => 'Contador',
					'is_required' => true,
				]
			],
			[
				[
					'site_management_component_id' => $siteManagementComponents['container'],
					'site_management_field_type_id' => $siteManagementFieldTypes['textarea'],
					'value' => 'threeDescr',
				],
				[
					'label' => 'Descrição',
					'is_required' => true,
				]
			],

			[
				[
					'site_management_component_id' => $siteManagementComponents['container'],
					'site_management_field_type_id' => $siteManagementFieldTypes['image'],
					'value' => 'shape1',
				],
				[
					'label' => 'Forma 1',
					'is_required' => true,
				]
			],
			[
				[
					'site_management_component_id' => $siteManagementComponents['container'],
					'site_management_field_type_id' => $siteManagementFieldTypes['image'],
					'value' => 'shape2',
				],
				[
					'label' => 'Forma 2',
					'is_required' => true,
				]
			],
			//-----
			[
				[
					'site_management_component_id' => $siteManagementComponents['about'],
					'site_management_field_type_id' => $siteManagementFieldTypes['image'],
					'value' => 'image',
				],
				[
					'label' => 'Imagem Principal',
					'is_required' => true,
				]
			],
			[
				[
					'site_management_component_id' => $siteManagementComponents['about'],
					'site_management_field_type_id' => $siteManagementFieldTypes['text'],
					'value' => 'title',
				],
				[
					'label' => 'Título',
					'is_required' => true,
				]
			],
			[
				[
					'site_management_component_id' => $siteManagementComponents['about'],
					'site_management_field_type_id' => $siteManagementFieldTypes['textarea'],
					'value' => 'descr',
				],
				[
					'label' => 'Descrição',
					'is_required' => true,
				]
			],
		];

		foreach ($siteManagementComponentField as $field) {
			SiteManagementComponentField::updateOrCreate($field[0], $field[1]);
		}
	}
}
