122 lines
6.2 KiB
PHP
122 lines
6.2 KiB
PHP
<x-filament-panels::page wire:init="loadAdmins">
|
|
@if(!$adminsLoaded)
|
|
<x-filament::section>
|
|
<div class="flex items-center justify-center gap-2 py-12">
|
|
<x-filament::loading-indicator class="h-5 w-5 text-gray-400 dark:text-gray-500" />
|
|
<span class="text-sm text-gray-500 dark:text-gray-400">{{ trans('blockland-config::blockland-config.loading_admins') }}</span>
|
|
</div>
|
|
</x-filament::section>
|
|
@else
|
|
<div class="flex flex-col gap-6">
|
|
|
|
{{-- Confirmation modal popup --}}
|
|
@if($this->confirmingDemote || $this->confirmingRemove)
|
|
<div
|
|
class="fixed inset-0 z-50 flex items-center justify-center p-4"
|
|
role="dialog"
|
|
aria-modal="true"
|
|
@keydown.escape.window="$wire.cancelConfirm()"
|
|
>
|
|
<div
|
|
class="absolute inset-0 bg-black/50"
|
|
wire:click="cancelConfirm"
|
|
></div>
|
|
<div class="relative z-10 w-full max-w-md rounded-xl bg-white dark:bg-gray-900 shadow-xl dark:ring-1 dark:ring-white/10 p-6 text-center">
|
|
@if($this->confirmingDemote)
|
|
<p class="text-sm text-gray-700 dark:text-gray-300 mb-8">
|
|
{{ trans('blockland-config::blockland-config.admins.confirm_demote', ['bl_id' => $demoteBlId]) }}
|
|
</p>
|
|
@else
|
|
<p class="text-sm text-gray-700 dark:text-gray-300 mb-8">
|
|
{{ trans('blockland-config::blockland-config.admins.confirm_remove', ['bl_id' => $this->confirmingRemove['blId'], 'role' => $this->confirmingRemove['list'] === 'super' ? trans('blockland-config::blockland-config.admins.super_admins') : trans('blockland-config::blockland-config.admins.admins')]) }}
|
|
</p>
|
|
@endif
|
|
<div class="flex justify-center gap-3">
|
|
<x-filament::button color="gray" outlined icon="tabler-x" wire:click="cancelConfirm">
|
|
{{ trans('blockland-config::blockland-config.admins.cancel') }}
|
|
</x-filament::button>
|
|
@if($this->confirmingDemote)
|
|
<x-filament::button color="danger" icon="tabler-user-minus" wire:click="demoteByBlId" wire:loading.attr="disabled">
|
|
{{ trans('blockland-config::blockland-config.admins.demote') }}
|
|
</x-filament::button>
|
|
@else
|
|
<x-filament::button color="danger" icon="tabler-user-minus" wire:click="confirmRemoveFromList" wire:loading.attr="disabled">
|
|
{{ trans('blockland-config::blockland-config.admins.remove') }}
|
|
</x-filament::button>
|
|
@endif
|
|
</div>
|
|
</div>
|
|
</div>
|
|
@endif
|
|
|
|
{{-- Add by BL_ID --}}
|
|
<x-filament::section :heading="trans('blockland-config::blockland-config.admins.add_by_blid')">
|
|
<div class="space-y-6">
|
|
<div>
|
|
{{ $this->addForm }}
|
|
</div>
|
|
<div class="mt-8 pt-6">
|
|
<x-filament::button icon="tabler-plus" wire:click="addByBlId" wire:loading.attr="disabled">
|
|
{{ trans('blockland-config::blockland-config.admins.add') }}
|
|
</x-filament::button>
|
|
</div>
|
|
</div>
|
|
</x-filament::section>
|
|
|
|
{{-- Demote by BL_ID --}}
|
|
<x-filament::section
|
|
:heading="trans('blockland-config::blockland-config.admins.demote_by_blid')"
|
|
:description="trans('blockland-config::blockland-config.admins.demote_by_blid_hint')"
|
|
>
|
|
<div class="space-y-6">
|
|
<div>
|
|
{{ $this->demoteForm }}
|
|
</div>
|
|
<div class="mt-8 pt-6">
|
|
<x-filament::button color="danger" icon="tabler-user-minus" wire:click="askConfirmDemote" wire:loading.attr="disabled">
|
|
{{ trans('blockland-config::blockland-config.admins.demote') }}
|
|
</x-filament::button>
|
|
</div>
|
|
</div>
|
|
</x-filament::section>
|
|
|
|
{{-- Super Admins --}}
|
|
<x-filament::section :heading="trans('blockland-config::blockland-config.admins.super_admins')" collapsible collapsed>
|
|
@if(count($this->superAdmins) > 0)
|
|
<div class="divide-y divide-transparent dark:divide-white/10">
|
|
@foreach($this->superAdmins as $blId)
|
|
<div class="flex items-center justify-between py-4 gap-4">
|
|
<span class="text-sm text-gray-950 dark:text-white">BL_ID {{ $blId }}</span>
|
|
<x-filament::button color="danger" size="sm" icon="tabler-user-minus" wire:click="askRemoveFromList('{{ $blId }}', 'super')" wire:loading.attr="disabled">
|
|
{{ trans('blockland-config::blockland-config.admins.remove') }}
|
|
</x-filament::button>
|
|
</div>
|
|
@endforeach
|
|
</div>
|
|
@else
|
|
<p class="text-sm text-gray-500 dark:text-gray-400">{{ trans('blockland-config::blockland-config.admins.no_super_admins') }}</p>
|
|
@endif
|
|
</x-filament::section>
|
|
|
|
{{-- Admins --}}
|
|
<x-filament::section :heading="trans('blockland-config::blockland-config.admins.admins')" collapsible collapsed>
|
|
@if(count($this->admins) > 0)
|
|
<div class="divide-y divide-transparent dark:divide-white/10">
|
|
@foreach($this->admins as $blId)
|
|
<div class="flex items-center justify-between py-4 gap-4">
|
|
<span class="text-sm text-gray-950 dark:text-white">BL_ID: {{ $blId }}</span>
|
|
<x-filament::button color="danger" size="sm" icon="tabler-user-minus" wire:click="askRemoveFromList('{{ $blId }}', 'admin')" wire:loading.attr="disabled">
|
|
{{ trans('blockland-config::blockland-config.admins.remove') }}
|
|
</x-filament::button>
|
|
</div>
|
|
@endforeach
|
|
</div>
|
|
@else
|
|
<p class="text-sm text-gray-500 dark:text-gray-400">{{ trans('blockland-config::blockland-config.admins.no_admins') }}</p>
|
|
@endif
|
|
</x-filament::section>
|
|
|
|
</div>
|
|
@endif
|
|
</x-filament-panels::page>
|