@extends('layouts.main_dashboard.app') @section('title', app()->getLocale() === 'ar' ? 'إدارة خدمات الطرف الثالث' : 'Third-Party Services') @section('skip_page_hero', true) @php $isArabic = app()->getLocale() === 'ar'; $labelMap = [ 'pusher_channels_app_id' => $isArabic ? 'معرّف التطبيق' : 'App ID', 'pusher_channels_app_key' => $isArabic ? 'مفتاح التطبيق' : 'App Key', 'pusher_channels_app_secret' => $isArabic ? 'السر' : 'App Secret', 'pusher_channels_app_cluster' => $isArabic ? 'المجموعة' : 'Cluster', 'pusher_channels_host' => $isArabic ? 'المضيف' : 'Host', 'pusher_channels_port' => $isArabic ? 'المنفذ' : 'Port', 'pusher_channels_scheme' => $isArabic ? 'البروتوكول' : 'Scheme', 'pusher_beams_instance_id' => $isArabic ? 'معرّف النسخة' : 'Instance ID', 'pusher_beams_secret_key' => $isArabic ? 'المفتاح السري' : 'Secret Key', 'pusher_beams_publishable_key' => $isArabic ? 'المفتاح العام' : 'Publishable Key', 'tinymce_api_key' => $isArabic ? 'مفتاح الواجهة' : 'API Key', ]; $maskValue = function ($value) { if (!$value) return ''; $len = strlen($value); if ($len <= 8) return str_repeat('*', $len); return substr($value, 0, 4) . str_repeat('*', $len - 8) . substr($value, -4); }; $serviceItems = collect($services)->map(function ($service, $serviceKey) use ($settings) { $service['key'] = $serviceKey; $service['enabled'] = ($settings->get($service['enabled_key'])?->value ?? '0') === '1'; $service['test_status'] = $settings->get($serviceKey . '_last_test_status')?->value; $service['test_message'] = $settings->get($serviceKey . '_last_test_message')?->value; $service['tested_at'] = $settings->get($serviceKey . '_last_test_tested_at')?->value; return $service; }); $enabledCount = $serviceItems->where('enabled', true)->count(); $testedCount = $serviceItems->where('can_test', true)->whereIn('test_status', ['success', 'failed'])->count(); $successfulTests = $serviceItems->where('test_status', 'success')->count(); @endphp @section('content')

{{ $isArabic ? 'إدارة خدمات الطرف الثالث' : 'Third-Party Services' }}

{{ $isArabic ? 'إدارة تكاملات النظام ومفاتيحها وحالة اختبار الاتصال من واجهة أوضح وأبسط.' : 'Manage system integrations, credentials, and connection test states from a cleaner, simpler workspace.' }}

{{ $isArabic ? 'إجمالي الخدمات' : 'Total Services' }}

{{ $serviceItems->count() }}

{{ $isArabic ? 'الخدمات المفعلة' : 'Enabled Services' }}

{{ $enabledCount }}

{{ $isArabic ? 'الخدمات المختبرة' : 'Tested Services' }}

{{ $testedCount }}

{{ $isArabic ? 'اختبارات ناجحة' : 'Successful Tests' }}

{{ $successfulTests }}

@foreach($serviceItems as $service)

{{ $service['label'] }}

{{ $service['enabled'] ? ($isArabic ? 'مفعلة' : 'Enabled') : ($isArabic ? 'متوقفة' : 'Disabled') }} @if($service['can_test']) {{ $service['test_status'] === 'success' ? ($isArabic ? 'اختبار ناجح' : 'Test Passed') : ($service['test_status'] === 'failed' ? ($isArabic ? 'اختبار فاشل' : 'Test Failed') : ($isArabic ? 'غير مختبرة' : 'Untested')) }} @endif

{{ $service['description'] }}

@csrf @method('PUT') @foreach($service['fields'] as $fieldKey) @php $field = $settings->get($fieldKey); @endphp
@if($field?->value) @endif
@endforeach
@if($service['can_test'])

{{ $isArabic ? 'آخر نتيجة اختبار' : 'Latest Test Result' }}

{{ $service['test_message'] ?: ($isArabic ? 'لا توجد نتيجة بعد.' : 'No result yet.') }}

{{ $service['tested_at'] ?: ($isArabic ? 'لم يتم الاختبار بعد' : 'Not tested yet') }}

@csrf
@endif
@csrf @method('PATCH')
@endforeach
@endsection