PHPackages                             mayankjanidev/alert - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. mayankjanidev/alert

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

mayankjanidev/alert
===================

Create customizable UI alerts in Laravel

v1.1.0(1y ago)316MITPHPPHP ^8.1CI passing

Since Jun 19Pushed 1y ago1 watchersCompare

[ Source](https://github.com/mayankjanidev/alert)[ Packagist](https://packagist.org/packages/mayankjanidev/alert)[ RSS](/packages/mayankjanidev-alert/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (2)Dependencies (4)Versions (3)Used By (0)

Alert For Laravel
=================

[](#alert-for-laravel)

Create customizable UI alerts in Laravel.

Requirements
------------

[](#requirements)

- PHP &gt;= 8.1
- Laravel &gt;= 9.0

Installation
------------

[](#installation)

Install the package via Composer:

```
composer require mayankjanidev/alert
```

Basic Usage
-----------

[](#basic-usage)

```
use Mayank\Alert\Alert;

Alert::info()->create();
```

Show the alert using the blade component:

```

// if needed, add your own classes

```

Customize the alert message:

```
Alert::info()->description('Profile updated.')->create();
```

[![alert_message](https://private-user-images.githubusercontent.com/64329409/340204903-a5183709-60e5-4827-bc39-2037c2d97043.png?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3NzM5OTAzNDEsIm5iZiI6MTc3Mzk5MDA0MSwicGF0aCI6Ii82NDMyOTQwOS8zNDAyMDQ5MDMtYTUxODM3MDktNjBlNS00ODI3LWJjMzktMjAzN2MyZDk3MDQzLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNjAzMjAlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjYwMzIwVDA3MDA0MVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTIwZjgyZGFkOWQ5Mzk5YTQyMGY5NDExMzc2ZjcxMmU5YjM1YWE2OTc2OTJhZWU4YjE0MGZkYjgxNGM0NGRjMjcmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.hHYH4S4IPe1O14j-CvWemwyEx4yqvkqgMErn4JjSwWc)](https://private-user-images.githubusercontent.com/64329409/340204903-a5183709-60e5-4827-bc39-2037c2d97043.png?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3NzM5OTAzNDEsIm5iZiI6MTc3Mzk5MDA0MSwicGF0aCI6Ii82NDMyOTQwOS8zNDAyMDQ5MDMtYTUxODM3MDktNjBlNS00ODI3LWJjMzktMjAzN2MyZDk3MDQzLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNjAzMjAlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjYwMzIwVDA3MDA0MVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTIwZjgyZGFkOWQ5Mzk5YTQyMGY5NDExMzc2ZjcxMmU5YjM1YWE2OTc2OTJhZWU4YjE0MGZkYjgxNGM0NGRjMjcmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.hHYH4S4IPe1O14j-CvWemwyEx4yqvkqgMErn4JjSwWc)

Add a title to your alerts (optional):

```
Alert::info()->title('Account Updated')->description('Your profile details were successfully updated.')->create();
```

[![alert_message_with_title](https://private-user-images.githubusercontent.com/64329409/340207209-61713579-8bfe-4613-9218-0892eaf55be4.png?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3NzM5OTAzNDEsIm5iZiI6MTc3Mzk5MDA0MSwicGF0aCI6Ii82NDMyOTQwOS8zNDAyMDcyMDktNjE3MTM1NzktOGJmZS00NjEzLTkyMTgtMDg5MmVhZjU1YmU0LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNjAzMjAlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjYwMzIwVDA3MDA0MVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTIwODZkYjBlOTY2ODg0NjRhNTRkZDg4MjE0NGVjMzNhMDZkNmZkNGJlNzBkNjBjMmNkOGI5MzhmZTQwZmZmOTcmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.TCd5FtWHQYEaC1EYAhpIjVF6bDnfj4aOgNb2Z291WC4)](https://private-user-images.githubusercontent.com/64329409/340207209-61713579-8bfe-4613-9218-0892eaf55be4.png?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3NzM5OTAzNDEsIm5iZiI6MTc3Mzk5MDA0MSwicGF0aCI6Ii82NDMyOTQwOS8zNDAyMDcyMDktNjE3MTM1NzktOGJmZS00NjEzLTkyMTgtMDg5MmVhZjU1YmU0LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNjAzMjAlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjYwMzIwVDA3MDA0MVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTIwODZkYjBlOTY2ODg0NjRhNTRkZDg4MjE0NGVjMzNhMDZkNmZkNGJlNzBkNjBjMmNkOGI5MzhmZTQwZmZmOTcmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.TCd5FtWHQYEaC1EYAhpIjVF6bDnfj4aOgNb2Z291WC4)

Config
------

[](#config)

Though completely optional, you can publish the config file to customize the below settings:

- `session_key` is used to set alert message in the session. Default is `alert`.
- `theme` is used to set the styling for alert message. Default is `default`.

```
php artisan vendor:publish --provider=Mayank\Alert\ServiceProvider --tag=config
```

Styling
-------

[](#styling)

This package does not depend on any external css or js and should work out of the box without any setup. However, you can customize the default design by publishing the views.

```
php artisan vendor:publish --provider=Mayank\Alert\ServiceProvider --tag=views
```

### TailwindCSS

[](#tailwindcss)

If you already have TailwindCSS installed, this package provides Tailwind specific design.

Update the config to switch to Tailwind.

```
// config/alert.php

return [
    'theme' => 'tailwind'
];
```

Also add the path to the tailwind config so it does not purge the classes when building the app.css file.

```
// tailwind.config.js

content: [
    ...
    "./vendor/mayankjanidev/alert/resources/views/components/tailwind/*.blade.php",
],
```

You can also customize Tailwind design by publishing its views:

```
php artisan vendor:publish --provider=Mayank\Alert\ServiceProvider --tag=tailwind
```

Alert Types
-----------

[](#alert-types)

Currently, 4 types are supported: info, success, warning and failure. Use them like:

```
Alert::info()->create();
Alert::success()->create();
Alert::warning()->create();
Alert::failure()->create();
```

[![alert_message_info](https://private-user-images.githubusercontent.com/64329409/340206370-210cddd3-c010-464c-9b87-46c199970153.png?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3NzM5OTAzNDEsIm5iZiI6MTc3Mzk5MDA0MSwicGF0aCI6Ii82NDMyOTQwOS8zNDAyMDYzNzAtMjEwY2RkZDMtYzAxMC00NjRjLTliODctNDZjMTk5OTcwMTUzLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNjAzMjAlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjYwMzIwVDA3MDA0MVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTViZTYwNGIwOTBmNjllY2VhYmE3MTUwM2U1MzJkNjRhODUzNjMyYzMzNmM5ZDlhYzcxYTYxZjQ2OWFkMDI5MzYmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.j11pEStDeOsxYuu6rvKqufllstVg4MS6FDJVadkYopw)](https://private-user-images.githubusercontent.com/64329409/340206370-210cddd3-c010-464c-9b87-46c199970153.png?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3NzM5OTAzNDEsIm5iZiI6MTc3Mzk5MDA0MSwicGF0aCI6Ii82NDMyOTQwOS8zNDAyMDYzNzAtMjEwY2RkZDMtYzAxMC00NjRjLTliODctNDZjMTk5OTcwMTUzLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNjAzMjAlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjYwMzIwVDA3MDA0MVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTViZTYwNGIwOTBmNjllY2VhYmE3MTUwM2U1MzJkNjRhODUzNjMyYzMzNmM5ZDlhYzcxYTYxZjQ2OWFkMDI5MzYmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.j11pEStDeOsxYuu6rvKqufllstVg4MS6FDJVadkYopw)[![alert_message_success](https://private-user-images.githubusercontent.com/64329409/340206386-95e864dc-b91f-4683-a73b-a7b02214a0ec.png?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3NzM5OTAzNDEsIm5iZiI6MTc3Mzk5MDA0MSwicGF0aCI6Ii82NDMyOTQwOS8zNDAyMDYzODYtOTVlODY0ZGMtYjkxZi00NjgzLWE3M2ItYTdiMDIyMTRhMGVjLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNjAzMjAlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjYwMzIwVDA3MDA0MVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTVkNGZlYzM3MTRkMjU3NmViOTU5NjAzMTRmYmI5MmI4ZWJiYzMwZjg1OTE3MmY2MmEwNjI5NzU0YzZiOGRlMzQmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.5atSkTDSiQvnYvR-CTWXD23b6GQ13jVtdkyMoSEB4Ks)](https://private-user-images.githubusercontent.com/64329409/340206386-95e864dc-b91f-4683-a73b-a7b02214a0ec.png?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3NzM5OTAzNDEsIm5iZiI6MTc3Mzk5MDA0MSwicGF0aCI6Ii82NDMyOTQwOS8zNDAyMDYzODYtOTVlODY0ZGMtYjkxZi00NjgzLWE3M2ItYTdiMDIyMTRhMGVjLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNjAzMjAlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjYwMzIwVDA3MDA0MVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTVkNGZlYzM3MTRkMjU3NmViOTU5NjAzMTRmYmI5MmI4ZWJiYzMwZjg1OTE3MmY2MmEwNjI5NzU0YzZiOGRlMzQmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.5atSkTDSiQvnYvR-CTWXD23b6GQ13jVtdkyMoSEB4Ks)[![alert_message_warning](https://private-user-images.githubusercontent.com/64329409/340206403-0452edcd-adee-4da9-88ef-a02aa1f30a04.png?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3NzM5OTAzNDEsIm5iZiI6MTc3Mzk5MDA0MSwicGF0aCI6Ii82NDMyOTQwOS8zNDAyMDY0MDMtMDQ1MmVkY2QtYWRlZS00ZGE5LTg4ZWYtYTAyYWExZjMwYTA0LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNjAzMjAlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjYwMzIwVDA3MDA0MVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTg5ZmQ3MWQxODAyMTE0ZWU3YmM5ZGMxOGJlYzJhOWQyODZiOTI1MWFmMDk2OTQ2YzhjYmQ2ZGYwNTNjN2FiMDcmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.jZ6sOMkOaSYfRLDsEg5CaO8Fa3-D23vqXqSwUHpvxCs)](https://private-user-images.githubusercontent.com/64329409/340206403-0452edcd-adee-4da9-88ef-a02aa1f30a04.png?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3NzM5OTAzNDEsIm5iZiI6MTc3Mzk5MDA0MSwicGF0aCI6Ii82NDMyOTQwOS8zNDAyMDY0MDMtMDQ1MmVkY2QtYWRlZS00ZGE5LTg4ZWYtYTAyYWExZjMwYTA0LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNjAzMjAlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjYwMzIwVDA3MDA0MVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTg5ZmQ3MWQxODAyMTE0ZWU3YmM5ZGMxOGJlYzJhOWQyODZiOTI1MWFmMDk2OTQ2YzhjYmQ2ZGYwNTNjN2FiMDcmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.jZ6sOMkOaSYfRLDsEg5CaO8Fa3-D23vqXqSwUHpvxCs)[![alert_message_failure](https://private-user-images.githubusercontent.com/64329409/340206434-7febff2c-2f8c-4f28-8d10-58a98c6c247d.png?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3NzM5OTAzNDEsIm5iZiI6MTc3Mzk5MDA0MSwicGF0aCI6Ii82NDMyOTQwOS8zNDAyMDY0MzQtN2ZlYmZmMmMtMmY4Yy00ZjI4LThkMTAtNThhOThjNmMyNDdkLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNjAzMjAlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjYwMzIwVDA3MDA0MVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTRlODI5NjAxN2Y4NmIxMDkwNjNhNGMxNjZjMTBmM2JjZTM5ZWVlY2I1ZGJiMTA1OWE1NzQxMDNlZjA2MjFiZDkmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.dQIkjjhGACz_Y32AEaZZhQ9G6Tw_ue4Fux_ZyZJ9EzM)](https://private-user-images.githubusercontent.com/64329409/340206434-7febff2c-2f8c-4f28-8d10-58a98c6c247d.png?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3NzM5OTAzNDEsIm5iZiI6MTc3Mzk5MDA0MSwicGF0aCI6Ii82NDMyOTQwOS8zNDAyMDY0MzQtN2ZlYmZmMmMtMmY4Yy00ZjI4LThkMTAtNThhOThjNmMyNDdkLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNjAzMjAlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjYwMzIwVDA3MDA0MVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTRlODI5NjAxN2Y4NmIxMDkwNjNhNGMxNjZjMTBmM2JjZTM5ZWVlY2I1ZGJiMTA1OWE1NzQxMDNlZjA2MjFiZDkmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.dQIkjjhGACz_Y32AEaZZhQ9G6Tw_ue4Fux_ZyZJ9EzM)

### Custom Alert Types

[](#custom-alert-types)

Use the `custom()` method to create your own alert types.

```
Alert::custom('danger')->create();
```

Make sure to create the appropriate view file at `resources.views.vendor.alert.components.danger`

Model Alerts
------------

[](#model-alerts)

Managing alerts for model specific events like created, updated and deleted throughout your app can feel repetitive. Use the `model()` method to automatically manage that.

```
use App\Models\Post;

$post = $post->save();

Alert::model($post)->create();
```

This will output "Post was updated.".

[![alert_model_updated](https://private-user-images.githubusercontent.com/64329409/340205109-c66ec229-e942-4ce0-9767-5187ad569f3e.png?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3NzM5OTAzNDEsIm5iZiI6MTc3Mzk5MDA0MSwicGF0aCI6Ii82NDMyOTQwOS8zNDAyMDUxMDktYzY2ZWMyMjktZTk0Mi00Y2UwLTk3NjctNTE4N2FkNTY5ZjNlLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNjAzMjAlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjYwMzIwVDA3MDA0MVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTMwNTMxMjg2ZmRiNDEzMDA1ODJmODFkY2ZlYmNmNGE0ZGNhN2UzMWUyZTA4MDBlMzg2OTA3ZjE1MGMzZmU1ZjgmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.rsGxJhZbtMblUdDAKxK_bxvkYyzarU34qlkFN7ChzcE)](https://private-user-images.githubusercontent.com/64329409/340205109-c66ec229-e942-4ce0-9767-5187ad569f3e.png?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3NzM5OTAzNDEsIm5iZiI6MTc3Mzk5MDA0MSwicGF0aCI6Ii82NDMyOTQwOS8zNDAyMDUxMDktYzY2ZWMyMjktZTk0Mi00Y2UwLTk3NjctNTE4N2FkNTY5ZjNlLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNjAzMjAlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjYwMzIwVDA3MDA0MVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTMwNTMxMjg2ZmRiNDEzMDA1ODJmODFkY2ZlYmNmNGE0ZGNhN2UzMWUyZTA4MDBlMzg2OTA3ZjE1MGMzZmU1ZjgmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.rsGxJhZbtMblUdDAKxK_bxvkYyzarU34qlkFN7ChzcE)

Similar messages will be shown for the created and deleted events. It will automatically detect the state of your model.

### Customize text for model alerts

[](#customize-text-for-model-alerts)

Publish the lang file and customize it to your liking.

```
php artisan vendor:publish --provider=Mayank\Alert\ServiceProvider --tag=lang
```

```
// lang/vendor/alert/en/messages.php

return [
    'model' => [
        'created' => [
            'description' => ':model_name was created.',
        ],
        'updated' => [
            'description' => ':model_name was updated.',
        ],
        'deleted' => [
            'description' => ':model_name was deleted.',
        ]
    ],
];
```

You can also override text for specific models:

```
// lang/vendor/alert/en/messages.php

return [
    'post' => [
        'created' => [
            'description' => 'Post was successfully published.',
        ],
        'updated' => [
            'description' => 'Post was successfully updated.',
        ],
        'deleted' => [
            'description' => 'Post was sent to trash.',
        ]
    ],
];
```

Title is also supported for alert models:

```
// lang/vendor/alert/en/messages.php

return [
    'model' => [
        'created' => [
            'title' => ':model_name Created.',
            'description' => ':model_name was created.'
        ],
    ],
];
```

### Custom actions for model alerts

[](#custom-actions-for-model-alerts)

If you performed a custom action on a model other than create, update or delete, then you can specify it using the `action()` method.

```
Alert::model($post)->action('bookmarked')->create();
```

```
// lang/vendor/alert/en/messages.php

return [
    'post' => [
        'bookmarked' => [
            'description' => 'Post was added to bookmarks.',
        ],
    ],
];
```

### Custom lang parameters

[](#custom-lang-parameters)

Lang parameters are autofilled if the model has the attribute with the same name. You can still manually specify lang parameters using the `lang()` method.

```
Alert::model($post)->action('bookmarked')->lang(['title' => $post->title])->create();
```

```
// lang/vendor/alert/en/messages.php

return [
    'post' => [
        'updated' => [
            'description' => 'Post :title was updated.',
        ],
    ],
];
```

Custom Entity Alerts
--------------------

[](#custom-entity-alerts)

If you want the same features of a model alert on a custom entity, use the `for()` method.

```
Alert::for('settings')->action('profile_updated')->create();
```

```
// lang/vendor/alert/en/messages.php

return [
    'settings' => [
        'profile_updated' => [
            'description' => 'Your profile details were updated.',
        ]
    ]
];
```

All the model alert features like lang files, custom actions and lang parameters behave the same way for custom entity alerts.

Meta Data
---------

[](#meta-data)

You can add additional meta data to an alert. Good use cases could be links.

```
Alert::for('order')->action('completed')->meta(['track_order_link' => 'https://example.com'])->create();
```

JS Frameworks
-------------

[](#js-frameworks)

Though this package does not supply any js components for frameworks like vue or react, you can still use the alert data to build your own component.

Use the `json()` method to get the current alert data in a json object.

```

```

License
-------

[](#license)

This package is released under the [MIT License](LICENSE).

###  Health Score

29

—

LowBetter than 59% of packages

Maintenance39

Infrequent updates — may be unmaintained

Popularity9

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity50

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~47 days

Total

2

Last Release

649d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/0e15c791f8436aa50e7a348f64c8ad89c129c75aabae06ddddb29d0642349ef3?d=identicon)[mayankjanidev](/maintainers/mayankjanidev)

---

Top Contributors

[![mayankjanidev](https://avatars.githubusercontent.com/u/64329409?v=4)](https://github.com/mayankjanidev "mayankjanidev (38 commits)")

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/mayankjanidev-alert/health.svg)

```
[![Health](https://phpackages.com/badges/mayankjanidev-alert/health.svg)](https://phpackages.com/packages/mayankjanidev-alert)
```

###  Alternatives

[prologue/alerts

Prologue Alerts is a package that handles global site messages.

3486.1M30](/packages/prologue-alerts)[illuminate/pipeline

The Illuminate Pipeline package.

9446.6M213](/packages/illuminate-pipeline)[flarum/core

Delightfully simple forum software.

211.3M1.9k](/packages/flarum-core)[spatie/laravel-mix-preload

Add preload and prefetch links based your Mix manifest

169176.0k2](/packages/spatie-laravel-mix-preload)[mrmarchone/laravel-auto-crud

Laravel Auto CRUD helps you streamline development and save time.

28711.8k2](/packages/mrmarchone-laravel-auto-crud)[interaction-design-foundation/laravel-geoip

Support for multiple Geographical Location services.

17221.0k3](/packages/interaction-design-foundation-laravel-geoip)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
