Greeter plugin screenshot
Dark mode ready
Multilingual support
Supports v5.x

Greeter by Mücahit Uğur

Community

Greet your users with a personal dashboard widget: custom name, title, avatar and action.

Tags: Widget
Supported versions:
5.x 4.x 3.x
Mücahit Uğur avatar Author: Mücahit Uğur

Package health

Automated checks of this plugin's Composer package

78 / 100
Security 61
Maintenance 100
Ecosystem 100
15 checks
  • Failed: GitHub Actions pinned to SHA — View details on Plumb
  • Skipped: GitLab CI includes pinned to SHA
  • Passed: Open security advisories
  • Passed: Dependabot PR responsiveness — No open Dependabot PRs.
  • Skipped: Renovate MR responsiveness
  • Failed: Dependabot or Renovate configured — No dependency updater configuration found. View details on Plumb
  • Skipped: Dependency update cooldown configured
  • Passed: Provides a security policy
  • Passed: Abandoned or archived — No consulted source marks the package abandoned (packagist, github).
  • Passed: Commit and release recency — Active: last commit 1 days ago; last release 635 days ago.
  • Passed: composer.lock not committed by library — composer.lock is absent from the released dist archive.
  • Passed: Dist archive is lean
  • Passed: Current Laravel version supported — Package dependencies resolve together with current Laravel 13.0.
  • Passed: Current PHP version supported — Constraint ^8.2 supports current PHP 8.5.
  • Skipped: Current Symfony version supported
Third-party plugin. This is built by the community, not the Filament team. Filament does not review, endorse, or vet the security of plugins outside the filament/ namespace. Review the source and install at your own risk. Found malware or an unresolved security issue the author won't address? Report it .
Powered by Plumb Last scanned 17 hours ago

Documentation

Latest Version on Packagist Total Downloads

This Filament plugin is the sibling of nova-greeter that extends the default account widget and lets you:

  • Give yourself and your users fancy titles
  • Add a custom action
  • Change welcome message
  • Change avatar size
  • Disable avatar

example-daenerys

#Version compatibility

Filament Package
4.x, 5.x 1.x
3.x 0.2.x

#Installation

You can install the package via composer:

composer require oriondevelops/filament-greeter

If you are still on Filament 3, stay on the 0.2.x line:

composer require oriondevelops/filament-greeter:^0.2

#Usage

You need to register the plugin with your preferred Filament panel providers. This can be done inside your PanelProvider, e.g. AdminPanelProvider.

<?php

namespace App\Providers\Filament;

use Filament\Panel;
use Filament\PanelProvider;
use Filament\Actions\Action;
use Orion\FilamentBackup\BackupPlugin;
use Orion\FilamentGreeter\GreeterPlugin;
use Orion\FilamentFeedback\FeedbackPlugin;

class AdminPanelProvider extends PanelProvider
{
    public function panel(Panel $panel): Panel
    {
        return $panel
            // ...
            ->plugins([
                BackupPlugin::make()
                    ->queue('monitors'),
                // ...    
                GreeterPlugin::make()
                    ->message('Welcome,')
                    ->name('Daenerys Targaryen')
                    ->title('The First of Her Name, the Unburnt, Queen of Meereen, Queen of the Andals and the Rhoynar and the First Men, Khalisee of the Great Grass Sea, Breaker of Chains and Mother of Dragons')
                    ->avatar(size: '2xl', url: 'https://avatarfiles.alphacoders.com/236/236674.jpg')
                    ->action(
                        Action::make('action')
                            ->label('Buy more unsullied')
                            ->icon('heroicon-o-shopping-cart')
                            ->url('https://buyunsulliedonline.com')
                    )
                    ->sort(-1)
                    ->columnSpan('full'),
                // ...
                FeedbackPlugin::make()
                    ->sendResponsesTo(email: '[email protected]'),
            ])
    }
}

Message

->message(text: 'Welcome')

To determine the welcome message dynamically you can use a closure:

 ->message(text: fn() => auth()->user()->hasRole('Super Administrator') ? __('Welcome my lord') : __('Welcome'))

Time-Sensitive Greeting

->timeSensitive(morningStart: 6, afternoonStart: 12, eveningStart: 17, nightStart: 22)

The greeting message will change to "Good morning", "Good afternoon", "Good evening", or "Good night" based on the current time. You can omit the hour parameters to use the default times.

Title

->title(text: 'Administrator', enabled: true)

To change the title based on the user you can use a closure:

->title(text: fn() => auth()->user()->title)

Avatar

Setting up user avatars

->avatar(size: 'lg', enabled: true),

Sizes are sm, md, lg, xl and 2xl. Any other value is added as CSS classes, which Filament only renders if your custom theme compiles them.

Action

->action(
    Action::make('action')
        ->label('Buy more unsullied')
        ->icon('heroicon-o-shopping-cart')
        ->url('https://buyunsulliedonline.com')
)

#Customizing visibility

<?php

namespace App\Providers\Filament;

use Filament\Panel;
use Filament\PanelProvider;
use Orion\FilamentGreeter\GreeterPlugin;

class AdminPanelProvider extends PanelProvider
{
    public function panel(Panel $panel): Panel
    {
        return $panel
            // ...
            ->plugin(
                GreeterPlugin::make()
                    ->visible(fn() => auth()->user()->can('view greeter'))
                    // OR
                    ->hidden(fn() => auth()->user()->cannot('view greeter')),
            );
    }
}

#Examples

example-rand

GreeterPlugin::make()
    ->message('Welcome')
    ->name("Rand al'Thor")
    ->title("Dragon Reborn, Coramoor, Car'a'carn, He Who Comes With the Dawn, Shadowkiller, King of Illian, Lord of the Morning")
    ->avatar(size: '2xl')
    ->columnSpan('full')
    ->action(
        Action::make('action')
            ->label('Reborn')
            ->color('danger')
            ->icon('heroicon-o-arrow-path')
            ->action(function () {
                Notification::make()
                    ->title('Reborn successfully')
                    ->success()
                    ->send();
            })
    ),

example-annatar

GreeterPlugin::make()
    ->message('Welcome')
    ->name("Annatar")
    ->action(
        Action::make('action')
            ->label('Gift a ring')
            ->color('warning')
            ->icon('heroicon-o-gift')
            ->action(function () {
                Notification::make()
                    ->title('Target deceived successfully')
                    ->warning()
                    ->send();
            })
    ),

example-no-avatar

GreeterPlugin::make()
    ->avatar(enabled: false),

example-dayne

GreeterPlugin::make()
    ->timeSensitive()
    ->name('Ser Arthur Dayne')
    ->title('Sword of the Morning')
    ->avatar(size: '2xl')
    ->columnSpan('full')
    ->action(
        Action::make('action')
            ->label('Protect the Heir')
            ->icon('heroicon-o-shield-check')
            ->action(fn () => Notification::make()->title('You failed! You’ve been stabbed in the back.')->danger()->send())
    ),

#Upgrading from 0.2.x (Filament 3)

  1. Upgrade your app to Filament 4 or 5 first (v4 upgrade guide, v5 upgrade guide).
  2. Require the new version: composer require oriondevelops/filament-greeter:^1.0.
  3. Replace Tailwind classes passed to ->avatar(size: ...), such as 'w-16 h-16', with 'xl' or '2xl'. Filament 4+ no longer compiles classes used in plugin views.
  4. If you extend GreeterWidget, note that $view is no longer static and the custom action now comes from getGreeterAction() instead of action().

#Contributing

Please see CONTRIBUTING for details.

#Security

Please review Security Policy on how to report security vulnerabilities.

#Credits

#License

The MIT License (MIT). Please see License File for more information.

The author

Mücahit Uğur avatar Author: Mücahit Uğur

A solopreneur based in İstanbul.

Plugins
1
Stars
22