PHP code example of gabrielesbaiz / nova-password-toolkit

1. Go to this page and download the library: Download gabrielesbaiz/nova-password-toolkit library. Choose the download type require.

2. Extract the ZIP file and open the index.php.

3. Add this code to the index.php.
    
        
<?php
require_once('vendor/autoload.php');

/* Start to develop here. Best regards https://php-download.com/ */

    

gabrielesbaiz / nova-password-toolkit example snippets


// app/Providers/NovaServiceProvider.php
use Gabrielesbaiz\NovaPasswordToolkit\NovaPasswordToolkit;

NovaPasswordToolkit::authorizeManagementUsing(
    fn ($user): bool => $user?->hasRole('Super Admin') === true,
);

// app/Providers/NovaServiceProvider.php
public function tools(): array
{
    return [
        new NovaPasswordToolkit,
    ];
}

use Laravel\Nova\Fields\Password;

Password::make(__('Password'), 'password')
    ->withPasswordSuggestion();

Password::make(__('Password'), 'password')
    ->withPasswordSuggestion(gallery: false, meter: true, target: 'password-input');

// Or the meter on its own.
Password::make(__('Password'), 'password')
    ->withPasswordStrengthMeter('password-input');

> ->help('Minimum eight characters.')->withPasswordSuggestion()  // both
> ->withPasswordSuggestion()->help('Minimum eight characters.')  // prose only
> 

Gate::define('manage-password-toolkit', fn ($user) => $user->isAdmin());

NovaPasswordToolkit::authorizeManagementUsing(fn ($user) => $user?->hasRole('Super Admin') === true);
NovaPasswordToolkit::authorizeSuggestionsUsing(fn ($user) => $user !== null);

// app/Providers/AppServiceProvider.php
NovaPasswordToolkit::resolveConfigPathUsing(
    fn (): string => config_path('password-toolkit/'.currentBrand().'.php'),
);

NovaPasswordToolkit::discoverConfigPathsUsing(
    fn (): array => File::glob(config_path('password-toolkit/*.php')),
);

$this->app->bind(ConfigPathResolver::class, MyResolver::class);
bash
php artisan vendor:publish --tag=nova-password-toolkit-config
bash
php artisan password-toolkit:sync-types
json
"post-update-cmd": [
    "@php artisan password-toolkit:sync-types --ansi"
]
bash
php artisan vendor:publish --tag=nova-password-toolkit-translations