Essentials

Components

Infolist component, relation manager, and header action.

Infolist component

One infolist entry is shipped. It calls $record->timeline() and requires HasTimeline.

use Relaticle\ActivityLog\Filament\Infolists\Components\ActivityLog;

ActivityLog::make('activity')
    ->heading('Activity')
    ->groupByDate()                  // bucket by today / this week / older (default: true)
    ->perPage(20)                    // Livewire page size (default: 3)
    ->emptyState('No activity yet.') // custom empty-state message
    ->infiniteScroll(true)           // false renders a "Load more" button (default: true)
    ->columnSpanFull();

Pagination UX: infiniteScroll(bool)

The infiniteScroll() fluent flag switches the bottom control:

  • true (default) - renders a wire:intersect sentinel; the next page loads automatically as the user scrolls (Livewire 4).
  • false - renders a Load more button the user clicks.

Relation manager

A read-only relation manager renders the activity log as a tab on the resource's view/edit page:

use Relaticle\ActivityLog\Filament\RelationManagers\ActivityLogRelationManager;

public static function getRelations(): array
{
    return [
        ActivityLogRelationManager::class,
    ];
}

canViewForRecord() always returns true. It declares a dummy HasOne relationship so it doesn't write to the DB - the page just hosts the Livewire component.

The relation manager carries a protected static bool $infiniteScroll = true that is forwarded to the Livewire component. Flip it from a service provider if you want the opposite UX:

ActivityLogRelationManager::$infiniteScroll = false;

Header action

Show the activity log in a slide-over modal from any resource table or page header:

use Relaticle\ActivityLog\Filament\Actions\ActivityLogAction;

protected function getHeaderActions(): array
{
    return [
        ActivityLogAction::make(),
    ];
}

The action opens a 2XL slide-over with the Livewire component. Customize label/icon/modal width as with any Filament action.

Copyright © 2026