@php /** * Çok dilli sözleşme editörü. * Beklenen değişkenler: * $languages : Language koleksiyonu * $primaryLanguage : Language|null (ana metnin dili) * $contract : AgencyContract|null * $translationsData : array (language_id => ['title'=>, 'content'=>]) */ $contract = $contract ?? null; $translationsData = $translationsData ?? []; $primaryId = $primaryLanguage->id ?? null; $isSystem = (bool) ($contract->is_system ?? false); $baseTitle = old('title', $contract->title ?? ''); $baseContent = old('content', $contract->content ?? ''); $otherLanguages = $languages->filter(fn ($l) => $l->id !== $primaryId)->values(); // Başlangıç durumu: ana metin + yalnızca içeriği olan diller "aktif" sekme olur $langState = ['base' => ['title' => $baseTitle, 'content' => $baseContent]]; $activeLangs = collect(); foreach ($otherLanguages as $l) { $t = old("translations.{$l->id}.title", $translationsData[$l->id]['title'] ?? ''); $c = old("translations.{$l->id}.content", $translationsData[$l->id]['content'] ?? ''); if (trim(strip_tags((string) $c)) !== '' || trim((string) $t) !== '') { $langState[(string) $l->id] = ['title' => $t, 'content' => $c]; $activeLangs->push($l); } } $activeIds = $activeLangs->pluck('id')->all(); $contractContext = old('context', $contract->context ?? 'general'); $mergeCatalog = \App\Services\Operation\ContractRenderService::catalog(); @endphp {{-- Kontrat Bağlamı --}}