happenv-com/filament-user-profile

Simple filament user profile.
3,119 2
Install
composer require happenv-com/filament-user-profile
Latest Version:v4.0.0
PHP:^8.3
License:MIT
Last Updated:Sep 16, 2026
Links: GitHub  ·  Packagist
Maintainer: webard

Filament User Panel

This package draws inspiration from Filament Breezy but does not include two-factor authentication (2FA) functionality.

Rather than offering multiple plugin options, this package provides a streamlined approach to extending and replacing components.

Upgrading to 4.0

4.0 swaps the user agent parser again, this time to webard/agent — a maintained fork of al-saloul/agent, which had not been released since January 2025 and emitted a PHP 8.4 deprecation on every request that consumers could not suppress.

composer remove al-saloul/agent
composer require happenv-com/filament-user-profile:^4.0

The namespace is unchanged, so if you extended BrowserSessions your use Alsaloul\Agent\Agent; import keeps working. webard/agent declares "replace": {"al-saloul/agent": "*"}, so remove the old package first — the two cannot be installed side by side.

Nothing else changed; browser, platform and device detection behave exactly as in 3.x.

Upgrading to 3.0

3.0 raises the minimum PHP version to 8.3. The package previously declared ^8.2, but its own test suite could never run there — pestphp/pest 4.x requires ^8.3 — so 8.2 was untested. The CI matrix now covers 8.3 and 8.4 only.

The browser sessions component no longer depends on the abandoned jenssegers/agent (and its outdated mobiledetect/mobiledetectlib 2.x). It now uses the maintained fork al-saloul/agent.

If your application requires jenssegers/agent only because of this package, remove it:

composer remove jenssegers/agent
composer require happenv-com/filament-user-profile:^3.0

If you extended BrowserSessions and referenced the agent class, update the import:

-use Jenssegers\Agent\Agent;
+use Alsaloul\Agent\Agent;

The public API (browser(), platform(), isDesktop(), isMobile(), isTablet()) is unchanged, so no other changes are required.

Installation

To install the package, execute the following command:

composer require happenv/filament-user-panel

Register Plugin

To register the plugin, use the following code snippet:

use Happenv\FilamentUserProfile\UserProfilePlugin;

$panel->plugins([
    UserProfilePlugin::make()
]);

Options

Register User Menu Item

Control whether the plugin should automatically register the user menu item:

UserProfilePlugin::make()
    ->registerUserMenu(false);

Custom Profile Page

Replace the entire ProfilePage with your custom component:

UserProfilePlugin::make()
    ->profilePage(MyProfileComponent::class);

Custom Profile Components

Manage the registered components and their order:

use Happenv\FilamentUserProfile\Livewire\PersonalInfo;
use Happenv\FilamentUserProfile\Livewire\UpdatePassword;

UserProfilePlugin::make()
    ->profileComponents([
        'personal_info' => PersonalInfo::class,
        'update_password' => UpdatePassword::class,
    ]);

Replace Profile Component

Replace a specific profile component:

use My\Component\PersonalInfo;

UserProfilePlugin::make()
    ->replaceProfileComponent('personal_info', PersonalInfo::class);

Register New Profile Component

Register a new profile component:

use My\Component\SomeComponent;

UserProfilePlugin::make()
    ->registerProfileComponent('some_component', SomeComponent::class);

Remove Profile Component

Remove a specific profile component:

use My\Component\SomeComponent;

UserProfilePlugin::make()
    ->removeProfileComponent('personal_info');

Laravel Sanctum

Laravel Sanctum is automatically detected, and a component to manage Sanctum tokens is displayed in the profile. Control the available abilities with the following code:

UserProfilePlugin::make()
    ->sanctumAbilities(['read', 'write']);

By default, all tokens are registered with all abilities ([*]).

Two-Factor Authentication

This package is compatible with stephenjude/filament-two-factor-authentication. Simply register the component as shown below:

UserProfilePlugin::make()
    ->registerProfileComponent('2fa', \Stephenjude\FilamentTwoFactorAuthentication\Livewire\TwoFactorAuthentication::class)

Related Packages

filamerce/filament-user-profile

Simple filament user profile.

1,348 0
phpsa/filament-dadjokes

With DadJokes every time you load your control panel you'll be greeted by an epi...

14,736 17
twaambo/silhouette

Quick frontend profile page for Laravel building on the default Laravel 5.4 Auth...

3 0
phpsa/filament-password-reveal

Password Input with option to show

162,789 51
phpsa/filament-authentication

User & Role (via Spatie Roles/Permissions) Manager Resource For Filament Admin

72,289 128