install
This commit is contained in:
114
resources/views/vendor/filament-notifications/database-notifications.blade.php
vendored
Normal file
114
resources/views/vendor/filament-notifications/database-notifications.blade.php
vendored
Normal file
@@ -0,0 +1,114 @@
|
||||
@php
|
||||
use Filament\Support\Enums\Alignment;
|
||||
use Filament\Support\View\Components\BadgeComponent;
|
||||
use Illuminate\View\ComponentAttributeBag;
|
||||
|
||||
$notifications = $this->getNotifications();
|
||||
$unreadNotificationsCount = $this->getUnreadNotificationsCount();
|
||||
$hasNotifications = $notifications->count();
|
||||
$isPaginated = $notifications instanceof \Illuminate\Contracts\Pagination\Paginator && $notifications->hasPages();
|
||||
$pollingInterval = $this->getPollingInterval();
|
||||
@endphp
|
||||
|
||||
<div class="fi-no-database">
|
||||
<x-filament::modal
|
||||
:alignment="$hasNotifications ? null : Alignment::Center"
|
||||
close-button
|
||||
:description="$hasNotifications ? null : __('filament-notifications::database.modal.empty.description')"
|
||||
:heading="$hasNotifications ? null : __('filament-notifications::database.modal.empty.heading')"
|
||||
:icon="$hasNotifications ? null : \Filament\Support\Icons\Heroicon::OutlinedBellSlash"
|
||||
:icon-alias="
|
||||
$hasNotifications
|
||||
? null
|
||||
: \Filament\Notifications\View\NotificationsIconAlias::DATABASE_MODAL_EMPTY_STATE
|
||||
"
|
||||
:icon-color="$hasNotifications ? null : 'gray'"
|
||||
id="database-notifications"
|
||||
slide-over
|
||||
:sticky-header="$hasNotifications"
|
||||
teleport="body"
|
||||
width="md"
|
||||
class="fi-no-database"
|
||||
:attributes="
|
||||
new \Illuminate\View\ComponentAttributeBag([
|
||||
'wire:poll.' . $pollingInterval => $pollingInterval ? '' : false,
|
||||
])
|
||||
"
|
||||
>
|
||||
@if ($trigger = $this->getTrigger())
|
||||
<x-slot name="trigger">
|
||||
{{ $trigger->with(['unreadNotificationsCount' => $unreadNotificationsCount]) }}
|
||||
</x-slot>
|
||||
@endif
|
||||
|
||||
@if ($hasNotifications)
|
||||
<x-slot name="header">
|
||||
<div>
|
||||
<h2 class="fi-modal-heading">
|
||||
{{ __('filament-notifications::database.modal.heading') }}
|
||||
|
||||
@if ($unreadNotificationsCount)
|
||||
<span
|
||||
{{
|
||||
(new ComponentAttributeBag)->color(BadgeComponent::class, 'primary')->class([
|
||||
'fi-badge fi-size-xs',
|
||||
])
|
||||
}}
|
||||
>
|
||||
{{ $unreadNotificationsCount }}
|
||||
</span>
|
||||
@endif
|
||||
</h2>
|
||||
|
||||
<div class="fi-ac">
|
||||
@if ($unreadNotificationsCount && $this->markAllNotificationsAsReadAction?->isVisible())
|
||||
{{ $this->markAllNotificationsAsReadAction }}
|
||||
@endif
|
||||
|
||||
@if ($this->clearNotificationsAction?->isVisible())
|
||||
{{ $this->clearNotificationsAction }}
|
||||
@endif
|
||||
</div>
|
||||
</div>
|
||||
</x-slot>
|
||||
|
||||
@foreach ($notifications as $notification)
|
||||
<div
|
||||
@class([
|
||||
'fi-no-notification-unread-ctn' => $notification->unread(),
|
||||
])
|
||||
>
|
||||
{{ $this->getNotification($notification)->inline() }}
|
||||
</div>
|
||||
@endforeach
|
||||
|
||||
@if ($broadcastChannel = $this->getBroadcastChannel())
|
||||
@script
|
||||
<script>
|
||||
window.addEventListener('EchoLoaded', () => {
|
||||
window.Echo.private(@js($broadcastChannel)).listen(
|
||||
'.database-notifications.sent',
|
||||
() => {
|
||||
setTimeout(
|
||||
() => $wire.call('$refresh'),
|
||||
500,
|
||||
)
|
||||
},
|
||||
)
|
||||
})
|
||||
|
||||
if (window.Echo) {
|
||||
window.dispatchEvent(new CustomEvent('EchoLoaded'))
|
||||
}
|
||||
</script>
|
||||
@endscript
|
||||
@endif
|
||||
|
||||
@if ($isPaginated)
|
||||
<x-slot name="footer">
|
||||
<x-filament::pagination :paginator="$notifications" />
|
||||
</x-slot>
|
||||
@endif
|
||||
@endif
|
||||
</x-filament::modal>
|
||||
</div>
|
||||
Reference in New Issue
Block a user