Filament Gaze: Show When Multiple Users View the Same Resource

Published on by

Filament Gaze: Show When Multiple Users View the Same Resource image

Filament Gaze is a plugin for Filament PHP that allows you to display when other users view the same resource. This plugin provides a nice API to make a simple banner or even allow authorized users to take control of a locked page. Here's the most basic example of using Gaze with a form:

public static function form(Form $form): Form
{
return $form
->schema([
GazeBanner::make(),
 
// ...
]);
}

Main features:

  • Quickly display when other users are on the same resource
  • Configurable poll time to determine how often it should inform Filament and get a list of users still viewing the page
  • Lock a resource
  • Allow lock overrides, supporting custom logic
  • Conditionally hide the banner

My favorite feature is the canTakeControl() method, which lets you define custom logic for taking over a page that someone else has control over:

GazeBanner::make()
->lock()
->canTakeControl(fn() => auth()->user()->isAdmin())

Using the above code, the owning user will see that they have control of the page and which other users are on the page. Here's the interface when a user does not have control of a page, but has permission to take control:

You can get started with this package, including full documentation on GitHub at discoverydesign/filament-gaze. This plugin is also listed on the Filament community plugin page.

Paul Redmond photo

Staff writer at Laravel News. Full stack web developer and author.

Filed in:
Cube

Laravel Newsletter

Join 40k+ other developers and never miss out on new tips, tutorials, and more.

Laravel Forge logo

Laravel Forge

Easily create and manage your servers and deploy your Laravel applications in seconds.

Laravel Forge
Tinkerwell logo

Tinkerwell

The must-have code runner for Laravel developers. Tinker with AI, autocompletion and instant feedback on local and production environments.

Tinkerwell
No Compromises logo

No Compromises

Joel and Aaron, the two seasoned devs from the No Compromises podcast, are now available to hire for your Laravel project. ⬧ Flat rate of $7500/mo. ⬧ No lengthy sales process. ⬧ No contracts. ⬧ 100% money back guarantee.

No Compromises
Kirschbaum logo

Kirschbaum

Providing innovation and stability to ensure your web application succeeds.

Kirschbaum
Shift logo

Shift

Running an old Laravel version? Instant, automated Laravel upgrades and code modernization to keep your applications fresh.

Shift
Bacancy logo

Bacancy

Supercharge your project with a seasoned Laravel developer with 4-6 years of experience for just $2500/month. Get 160 hours of dedicated expertise & a risk-free 15-day trial. Schedule a call now!

Bacancy
Lucky Media logo

Lucky Media

Get Lucky Now - the ideal choice for Laravel Development, with over a decade of experience!

Lucky Media
Lunar: Laravel E-Commerce logo

Lunar: Laravel E-Commerce

E-Commerce for Laravel. An open-source package that brings the power of modern headless e-commerce functionality to Laravel.

Lunar: Laravel E-Commerce
LaraJobs logo

LaraJobs

The official Laravel job board

LaraJobs
SaaSykit: Laravel SaaS Starter Kit logo

SaaSykit: Laravel SaaS Starter Kit

SaaSykit is a Multi-tenant Laravel SaaS Starter Kit that comes with all features required to run a modern SaaS. Payments, Beautiful Checkout, Admin Panel, User dashboard, Auth, Ready Components, Stats, Blog, Docs and more.

SaaSykit: Laravel SaaS Starter Kit
Rector logo

Rector

Your partner for seamless Laravel upgrades, cutting costs, and accelerating innovation for successful companies

Rector
MongoDB logo

MongoDB

Enhance your PHP applications with the powerful integration of MongoDB and Laravel, empowering developers to build applications with ease and efficiency. Support transactional, search, analytics and mobile use cases while using the familiar Eloquent APIs. Discover how MongoDB's flexible, modern database can transform your Laravel applications.

MongoDB

The latest

View all →
Pest 3 is released! image

Pest 3 is released!

Read article
Build Your Multi-Tenant SaaS App in Days with SaaSykit Tenancy image

Build Your Multi-Tenant SaaS App in Days with SaaSykit Tenancy

Read article
Prepare your Laravel app for the cloud image

Prepare your Laravel app for the cloud

Read article
Prezet: Markdown Blogging for Laravel image

Prezet: Markdown Blogging for Laravel

Read article
Laravel raises a $57 million Series A from Accel image

Laravel raises a $57 million Series A from Accel

Read article
Chaperone Eloquent Models in Laravel 11.22 image

Chaperone Eloquent Models in Laravel 11.22

Read article