@php $isEditing = isset($instituicao) && $instituicao->exists; $inst = $instituicao ?? null; $benefits = old('benefits', $isEditing ? $inst->benefits : []); $selectedUnidadeRegionalId = old('unidade_regional_id', $isEditing && $inst->unidadesRegionais->isNotEmpty() ? $inst->unidadesRegionais->first()->id : ''); $storageSvc = app(\V2\Services\Storage\StorageService::class); $defaultSocial = [ ['network' => 'linkedin', 'icon' => 'bi-linkedin', 'url' => '', 'order' => 1, 'active' => true], ['network' => 'facebook', 'icon' => 'bi-facebook', 'url' => '', 'order' => 2, 'active' => true], ['network' => 'instagram', 'icon' => 'bi-instagram', 'url' => '', 'order' => 3, 'active' => true], ]; $socialMediaJson = old('social_media_json', $isEditing ? json_encode($inst->social_media) : json_encode($defaultSocial)); /** @var array $selectedTags */ $selectedTags = old('tags', $isEditing && $inst->relationLoaded('tags') ? $inst->tags->pluck('name')->toArray() : []); @endphp @push('css') @endpush {{-- ============================================= --}} {{-- SEÇÃO 1: METADADOS --}} {{-- ============================================= --}}
Metadados
{{-- Linha 1: Nome + Categoria (área) --}}
@if($errors->has('name'))
{{ $errors->first('name') }}
@endif
@if(!empty($selectedTags)) @foreach($selectedTags as $tagName) {{ $tagName }} @endforeach @endif
@if(isset($allTags) && $allTags->isNotEmpty())
@foreach($allTags as $tag) @endforeach
Clique em uma tag disponível para adicioná-la. @endif
{{-- Hidden inputs para envio --}}
@if($errors->has('tags'))
{{ $errors->first('tags') }}
@endif
{{-- Unidade Regional (sempre visível e obrigatória) --}}
@if($errors->has('unidade_regional_id'))
{{ $errors->first('unidade_regional_id') }}
@endif Todos os associados devem estar vinculados a uma unidade regional.
{{-- Linha 2: Site + Redes Sociais --}}
{{-- Linha 3: Badge de Desconto + Benefícios key-value --}}
@if($errors->has('discount_badge'))
{{ $errors->first('discount_badge') }}
@endif
@if(count($benefits) > 0) @foreach($benefits as $idx => $benefit)
@endforeach @endif
Nome + link opcional para cada benefício.
{{-- ============================================= --}} {{-- SEÇÃO 2: CONTEÚDO --}} {{-- ============================================= --}}
Conteúdo
Logo
@php $logoId = ($inst->metadata ?? [])['logo_id'] ?? ''; @endphp @include('v2-service-media::components.media-input', [ 'name' => 'gallery_logo_id', 'label' => 'Logo', 'accept' => 'image/*', 'required' => false, 'ownerModule' => 'associados', 'currentId' => $logoId, 'currentUrl' => $isEditing && $inst->logo ? v2_storage_url($inst->logo) : '', 'currentAlt' => $inst->name ?? '', ])
@php $coverId = ($inst->metadata ?? [])['cover_image_id'] ?? ''; @endphp
Imagem de Fundo (Hero)
@include('v2-service-media::components.media-input', [ 'name' => 'gallery_cover_image_id', 'label' => 'Imagem de Fundo', 'accept' => 'image/*', 'required' => false, 'ownerModule' => 'associados', 'currentId' => $coverId, 'currentUrl' => $isEditing && $inst->cover_image ? v2_storage_url($inst->cover_image) : '', 'currentAlt' => $inst->name ?? '', 'help' => 'Recomendado: 1920×400px, formato landscape. Usada como fundo do cabeçalho da página.', ])
{{-- Atalho para inputs hidden de is_active e sort_order --}} @push('scripts') @endpush