@extends('backend.settings.index') @section('setting_title', __('Integration Center')) @section('setting_content') @php $activePlugins = $plugins->where('status', true)->count(); $inactivePlugins = $plugins->count() - $activePlugins; $pluginGroupMeta = [ 'general' => [ 'label' => __('Core Integrations'), 'description' => __('Core system integrations and operational services for the platform.'), 'icon' => 'plugin', ], 'notification' => [ 'label' => __('Notification Providers'), 'description' => __('Channel and provider integrations for alerts, emails, and messaging.'), 'icon' => 'notification', ], 'exchange_rate' => [ 'label' => __('Exchange Rate Feeds'), 'description' => __('Market data providers used to refresh conversion rates.'), 'icon' => 'currency-exchange', ], 'mobile_recharge' => [ 'label' => __('Mobile Recharge Providers'), 'description' => __('Airtime and top-up provider credentials used by Mobile Recharge.'), 'icon' => 'mobile-recharge', ], ]; $groupedPlugins = $plugins->groupBy('type'); $pluginGroups = collect(array_keys($pluginGroupMeta)) ->merge($groupedPlugins->keys()) ->unique() ->mapWithKeys(fn (string $type): array => [$type => $groupedPlugins->get($type, collect())]) ->filter(fn ($groupPlugins): bool => $groupPlugins->isNotEmpty()); $activePluginType = $selectedPluginType && $pluginGroups->has($selectedPluginType) ? $selectedPluginType : $pluginGroups->keys()->first(); @endphp
{{ __('Integration Center') }}

{{ __('Integration Center') }}

{{ __('Configure plugin credentials, status, and operational controls from one grouped integration surface.') }}

{{ $plugins->count() }} {{ __('Total') }} {{ $pluginGroups->count() }} {{ __('Groups') }} {{ $activePlugins }} {{ __('Active') }} {{ $inactivePlugins }} {{ __('Inactive') }}
{{ __('Available Integrations') }}
{{ __('Plugin Registry') }}
{{ trans_choice(':count plugin|:count plugins', $plugins->count(), ['count' => $plugins->count()]) }}
@if($plugins->isNotEmpty())
@foreach($pluginGroups as $type => $groupPlugins) @php $groupMeta = $pluginGroupMeta[$type] ?? [ 'label' => __(str($type)->replace('_', ' ')->title()->toString()), 'description' => __('Additional integrations installed for this platform.'), 'icon' => 'plugin', ]; $isActiveGroup = $activePluginType === $type; $groupSlug = str($type)->slug(); @endphp
{{ $groupMeta['label'] }}

{{ $groupMeta['description'] }}

{{ trans_choice(':count plugin|:count plugins', $groupPlugins->count(), ['count' => $groupPlugins->count()]) }} {{ $groupPlugins->where('status', true)->count() }} {{ __('active') }}
@foreach($groupPlugins as $plugin)
{{ $plugin->status ? __('Active') : __('Inactive') }}
{{ $plugin->name }}

{{ $plugin->description }}

@endforeach
@endforeach
@else @endif
{{-- plugin mange modal --}} @include('backend.settings.plugin.partials._manage') @endsection @push('scripts') @include('backend.settings.plugin.partials._scripts') @endpush