finity-labs / fin-avatar
Privacy-focused SVG avatar generator for Filament.
Requires
- php: ^8.2
- filament/filament: ^4.0 | ^5.0
- illuminate/support: ^12.0
- spatie/laravel-package-tools: ^1.9
Requires (Dev)
- larastan/larastan: ^3.9
- laravel/pint: ^1.27
- orchestra/testbench: ^10.9
- pestphp/pest: ^3.8
- pestphp/pest-plugin-laravel: ^3.2
- phpstan/phpstan: ^2.1
README
A privacy-focused, high-performance avatar provider for Filament V4 and V5. It generates SVGs locally using a dedicated route, ensuring zero external requests (GDPR compliant) and utilizing browser caching for instant loads.
Features
-
Zero External APIs: No data sent to ui-avatars.com or Gravatar.
-
Smart Initials: Automatically strips "Mr.", "Dr.", "PhD" etc.
-
Theme Aware: Uses your Filament Panel's primary color automatically.
-
High Performance: SVGs are cached by the browser for 1 year.
Installation
You can install the package via composer:
composer require finity-labs/fin-avatar
Running the install command will configure the selected panels automatically:
php artisan finity-labs:install
Usage
Add in AdminPanelProvider.php:
use FinityLabs\FinAvatar\Providers\UiAvatarsProvider; public function panel(Panel $panel): Panel { return $panel // ... ->defaultAvatarProvider(UiAvatarsProvider::class); }
Configuration (Optional)
Publish the config file to customize ignored prefixes (like "Mr", "Dr"), default background color and text color:
php artisan vendor:publish --tag=fin-avatar-config
💡 Note: Leave default_bg null to use theme color as background.
Credits
License
The MIT License (MIT). Please see License File for more information.