@extends('layouts.app') @section('content')

Guide Notifications

Publish in-app notices for admins, creators, readers, or all guide users.

@if(auth()->user()->isAdmin()) Back to Admin @else Back to Guide @endif
@if(session('success'))
{{ session('success') }}
@endif @if($errors->any())
{{ $errors->first() }}
@endif
Publish Notification
Notifications appear inside the mobile app feed. No background push is sent.
@csrf
Tap Behavior
Choose what should happen when a reader taps this notification in the mobile app.
Select the topic the app should open.
Choose a PDF, image, or video resource to open directly.
Channel: In App
Published Notifications
Readers fetch these notifications from the API and keep them in the local app feed.
@forelse($notifications as $notification) @empty @endforelse
Title Audience Destination Reads Published Actions
{{ $notification->title }}
{{ \Illuminate\Support\Str::limit($notification->message, 120) }}
By {{ $notification->creator->name ?? 'Unknown' }} @if($notification->creator) {{ $notification->creator->typeLabel() }} @endif
{{ $notification->target_type ? ($targetOptions[$notification->target_type] ?? ('Type '.$notification->target_type)) : 'All guide users' }} @if($notification->opensDocument())
Open resource
{{ $notification->action_document_title ?: basename((string) $notification->action_document_url) }}
{{ $categoryLabelMap[$notification->action_category_id] ?? $notification->action_category_id }}
@elseif($notification->opensCategory())
Open topic
{{ $categoryLabelMap[$notification->action_category_id] ?? $notification->action_category_id }}
@else Feed only @endif
{{ number_format($notification->reads_count ?? 0) }}
{{ optional($notification->published_at)->format('Y-m-d H:i') ?? 'Draft' }}
{{ $notification->delivery_channel }}
@csrf @method('DELETE')
No notifications published yet.
{{ $notifications->links() }}
@if(!$canManageAllNotifications)
Content creators can delete only notifications they created.
@endif
@endsection