PHPackages                             agelgil/filament-easy-footer - 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. agelgil/filament-easy-footer

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

agelgil/filament-easy-footer
============================

A simple plugin to display a customizable footer in your filament application!

0234PHP

Since Mar 2Pushed 2mo agoCompare

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

READMEChangelog (1)DependenciesVersions (1)Used By (0)

Filament EasyFooter
===================

[](#filament-easyfooter)

[![Filament Easy Footer cover](https://raw.githubusercontent.com/Agelgil/filament-easy-footer/main/art/cover.webp)](https://raw.githubusercontent.com/Agelgil/filament-easy-footer/main/art/cover.webp)

[![Latest v2.x](https://camo.githubusercontent.com/7e4e757c227a9a9c0acca8fdd9629ab26b9a700dda870965621ec88f3c422d84/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f762f7461672f6167656c67696c2f66696c616d656e742d656173792d666f6f7465723f66696c7465723d76322e2a266c6162656c3d72656c6561736525323076322e78267374796c653d666c61742d737175617265)](https://github.com/agelgil/filament-easy-footer/releases)[![Tests](https://camo.githubusercontent.com/9b01f7f1ea0103fdfb8d7611c513dc8f303b996e3daccf81a0d66e6105b84835/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f616374696f6e732f776f726b666c6f772f7374617475732f6167656c67696c2f66696c616d656e742d656173792d666f6f7465722f72756e2d74657374732e796d6c3f6272616e63683d6d61696e266c6162656c3d7465737473267374796c653d666c61742d737175617265)](https://github.com/agelgil/filament-easy-footer/actions?query=workflow%3Arun-tests+branch%3Amain)[![Code Style](https://camo.githubusercontent.com/5a25f1565e155df8656ab4371dd80d39813fa3d215c6c10e1670fa8d5e32f4e3/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f616374696f6e732f776f726b666c6f772f7374617475732f6167656c67696c2f66696c616d656e742d656173792d666f6f7465722f6669782d7068702d636f64652d7374796c652d6973737565732e796d6c3f6272616e63683d6d61696e266c6162656c3d636f64652532307374796c65267374796c653d666c61742d737175617265)](https://github.com/agelgil/filament-easy-footer/actions?query=workflow%3A%22Fix+PHP+code+styling%22+branch%3Amain)[![Total Downloads](https://camo.githubusercontent.com/4d784fb0f6a1f750d376659866564b0eb721d5f5f4b2f81c4fd638ebf934eacc/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f6167656c67696c2f66696c616d656e742d656173792d666f6f7465722e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/agelgil/filament-easy-footer)

FilamentPHPPackage versionBranchv3.xv1.x[filament-v3](https://github.com/agelgil/filament-easy-footer/tree/filament-v3)v4.xv2.x[main](https://github.com/agelgil/filament-easy-footer/tree/main)v5.xv2.x[main](https://github.com/agelgil/filament-easy-footer/tree/main)This filament Plugin provides an easy and flexible way to add a customizable footer to your FilamentPHP application. This plugin integrates seamlessly with Filament's admin interface, enabling you to enhance your application's user experience with a good looking footer.

Navigation
----------

[](#navigation)

---

- [Installation](#installation)
- [Usage](#usage)
    - [Custom theme](#custom-theme)
- [Configurations](#configurations)
    - [Enable or Disable the Footer](#enable-or-disable-the-footer)
    - [Footer position](#footer-position)
    - [Custom sentence](#custom-sentence)
    - [Show GitHub version](#show-github-version)
    - [Show load time](#load-time)
    - [Custom logo with link](#custom-logo-with-link)
    - [Add customs links](#links)
    - [Border on top](#border-on-top)
    - [Hiding from specific pages](#hiding-from-specific-pages)
- [Testing](#testing)
- [Contributing](#contributing)
- [Changelog](#changelog)
- [Security Vulnerabilities](#security-vulnerabilities)
- [Credits](#credits)
- [License](#license)

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

[](#installation)

---

First, you can start to install the package via composer:

```
composer require agelgil/filament-easy-footer:^2.0
```

You can publish the config file with. This file is needed if you want to change the default:

```
php artisan vendor:publish --tag="filament-easy-footer-config"
```

Optionally, you can publish the views using

```
php artisan vendor:publish --tag="filament-easy-footer-views"
```

This is the contents of the published config file:

```
return [
    'app_name' => null,

    'github' => [
        'repository' => null,
        'token' => null,
        'cache_ttl' => 3600,
    ],
];
```

Usage
-----

[](#usage)

---

To start using this plugin, simply add it to the Filament provider's plugin array.

```
use Agelgil\FilamentEasyFooter\EasyFooterPlugin;

->plugins([
    EasyFooterPlugin::make(),
])
```

### Custom theme

[](#custom-theme)

---

You will need to create a [custom theme](https://filamentphp.com/docs/4.x/styling/overview#creating-a-custom-theme) for the footer styles to be applied correctly.

Once that is done, add this line to your theme.css file before compiling everything with `npm run build`.

```
@source '../../../../vendor/agelgil/filament-easy-footer/resources/views/**/*';
```

Configurations
--------------

[](#configurations)

---

### Enable or Disable the Footer

[](#enable-or-disable-the-footer)

You can **enable or disable the footer** entirely using the following configuration:

```
use Agelgil\FilamentEasyFooter\EasyFooterPlugin;

->plugins([
    EasyFooterPlugin::make()
    ->footerEnabled() // true by default,
]);
```

Without this configuration, the footer will be enabled by default.

### Footer position

[](#footer-position)

You can choose the **position of the footer** by using this configuration :

```
use Agelgil\FilamentEasyFooter\EasyFooterPlugin;

->plugins([
    EasyFooterPlugin::make()
    ->withFooterPosition('footer'),
])
```

You can choose between 3 positions, represented by their corresponding [render hooks](https://filamentphp.com/docs/3.x/support/render-hooks)

- `footer` : panels::footer (by default)
- `sidebar` : panels::sidebar.nav.end
- `sidebar.footer` : panels::sidebar.footer

```
use Agelgil\FilamentEasyFooter\EasyFooterPlugin;

->plugins([
    EasyFooterPlugin::make()
    ->withFooterPosition('footer'),
])
```

[![Filament Easy Footer position](https://raw.githubusercontent.com/Agelgil/filament-easy-footer/main/art/position_footer.webp)](https://raw.githubusercontent.com/Agelgil/filament-easy-footer/main/art/position_footer.webp)

```
use Agelgil\FilamentEasyFooter\EasyFooterPlugin;

->plugins([
    EasyFooterPlugin::make()
    ->withFooterPosition('sidebar'),
])
```

[![Filament Easy Footer sidebar position](https://raw.githubusercontent.com/Agelgil/filament-easy-footer/main/art/position_sidebar.webp)](https://raw.githubusercontent.com/Agelgil/filament-easy-footer/main/art/position_sidebar.webp)

```
use Agelgil\FilamentEasyFooter\EasyFooterPlugin;

->plugins([
    EasyFooterPlugin::make()
    ->withFooterPosition('sidebar.footer'),
])
```

[![Filament Easy Footer sidebar footer position](https://raw.githubusercontent.com/Agelgil/filament-easy-footer/main/art/position_sidebar_footer.webp)](https://raw.githubusercontent.com/Agelgil/filament-easy-footer/main/art/position_sidebar_footer.webp)

### Custom sentence

[](#custom-sentence)

[![Filament Easy Footer custom sentence](https://raw.githubusercontent.com/Agelgil/filament-easy-footer/main/art/custom_sentence.webp)](https://raw.githubusercontent.com/Agelgil/filament-easy-footer/main/art/custom_sentence.webp)

By default, the plugin will display the name of your application (configured from your .ENV), or the app\_name key in the plugin config file,next to the copyright. You can change the phrase by publishing the plugin configuration file.

If you prefer a more personalized approach, you can use the following method:

```
use Agelgil\FilamentEasyFooter\EasyFooterPlugin;

->plugins([
    EasyFooterPlugin::make()
    ->withSentence('your sentence'),
])
```

The method accepts a string or HTMLString as a parameter. With this, you can get the result you want. For example, for the result shown in the image above :

```
use Agelgil\FilamentEasyFooter\EasyFooterPlugin;

->plugins([
    EasyFooterPlugin::make()
    ->withSentence(new HtmlString(' Laravel'))
,
])
```

The authorized tags are as follows: ``.

### Show GitHub version

[](#show-github-version)

[![Filament Easy Footer github](https://raw.githubusercontent.com/Agelgil/filament-easy-footer/main/art/github_version.webp)](https://raw.githubusercontent.com/Agelgil/filament-easy-footer/main/art/github_version.webp)

You can show the **GitHub version** of your application by using this configuration :

```
use Agelgil\FilamentEasyFooter\EasyFooterPlugin;

->plugins([
    EasyFooterPlugin::make()
    ->withGithub(showLogo: true, showUrl: true)
])
```

- showLogo : Display the GitHub logo next to the version
- showUrl : Add an `` tag to the Github URL around the logo

To make this one work, you need to publish the plugin configuration file and set the following keys :

```
return [
    'app_name' => null,

    'github' => [
        'repository' => null, #user/name-of-the-repo
        'token' => null, # Recommended but not compulsory for all repos, required for private repos
        'cache_ttl' => 3600, # in seconds, 3600 by default
    ],
];
```

If needed, you can generate a token [here](https://github.com/settings/personal-access-tokens). The token need to have at least the `read-only` permission on the "Contents" scope in Repository permissions.

### Load time

[](#load-time)

[![Filament Easy Footer load time](https://raw.githubusercontent.com/Agelgil/filament-easy-footer/main/art/load_time.webp)](https://raw.githubusercontent.com/Agelgil/filament-easy-footer/main/art/load_time.webp)

If you want to display the **page load time**, you can use this configuration :

```
use Agelgil\FilamentEasyFooter\EasyFooterPlugin;

->plugins([
    EasyFooterPlugin::make()
    ->withLoadTime(),
])
```

You can also display a prefix by using this configuration :

```
use Agelgil\FilamentEasyFooter\EasyFooterPlugin;

->plugins([
    EasyFooterPlugin::make()
    ->withLoadTime('This page loaded in'),
])
```

[![Filament Easy Footer loadtime prefix](https://raw.githubusercontent.com/Agelgil/filament-easy-footer/main/art/loadtime_prefix.webp)](https://raw.githubusercontent.com/Agelgil/filament-easy-footer/main/art/loadtime_prefix.webp)

### Custom logo with link

[](#custom-logo-with-link)

[![Filament Easy Footer custom logo](https://raw.githubusercontent.com/Agelgil/filament-easy-footer/main/art/custom_logo.webp)](https://raw.githubusercontent.com/Agelgil/filament-easy-footer/main/art/custom_logo.webp)

### Custom logo with link

[](#custom-logo-with-link-1)

[![Filament Easy Footer custom logo](https://raw.githubusercontent.com/Agelgil/filament-easy-footer/main/art/custom_logo.webp)](https://raw.githubusercontent.com/Agelgil/filament-easy-footer/main/art/custom_logo.webp)

You can add a **custom logo** with optional link and text to the footer by using this configuration:

```
use Agelgil\FilamentEasyFooter\EasyFooterPlugin;

->plugins([
    EasyFooterPlugin::make()
        ->withLogo(
            'https://static.cdnlogo.com/logos/l/23/laravel.svg', // Path to logo
            'https://laravel.com'                                // URL for logo link (optional)
        )
])
```

You can customize the logo further with optional text and height:

```
use Agelgil\FilamentEasyFooter\EasyFooterPlugin;

->plugins([
    EasyFooterPlugin::make()
        ->withLogo(
            'https://static.cdnlogo.com/logos/l/23/laravel.svg', // Path to logo
            'https://laravel.com',                               // URL for logo link (optional)
            'Powered by Laravel',                                // Text to display (optional)
            35                                                   // Logo height in pixels (default: 20)
        )
])
```

If you don't need the link, you can pass `null` for the second parameter:

```
use Agelgil\FilamentEasyFooter\EasyFooterPlugin;

->plugins([
    EasyFooterPlugin::make()
        ->withLogo(
            'https://static.cdnlogo.com/logos/l/23/laravel.svg', // Path to logo
            null,                                                // No link
            null,                                                // No text
            60                                                   // Logo height in pixels
        )
])
```

### Links

[](#links)

[![Filament Easy Footer links](https://raw.githubusercontent.com/Agelgil/filament-easy-footer/main/art/links.webp)](https://raw.githubusercontent.com/Agelgil/filament-easy-footer/main/art/links.webp)

You can add **custom links** (3 links max) to the footer by using this configuration :

```
use Agelgil\FilamentEasyFooter\EasyFooterPlugin;

->plugins([
    EasyFooterPlugin::make()
    ->withLinks([
        ['title' => 'About', 'url' => 'https://example.com/about'],
        ['title' => 'CGV', 'url' => 'https://example.com/cgv'],
        ['title' => 'Privacy Policy', 'url' => 'https://example.com/privacy-policy']
    ]),
])
```

### Border on top

[](#border-on-top)

You can add a border on the top of the footer by using this configuration :

```
use Agelgil\FilamentEasyFooter\EasyFooterPlugin;

->plugins([
    EasyFooterPlugin::make()
    ->withBorder(),
])
```

### Hiding from specific pages

[](#hiding-from-specific-pages)

By default, the footer is also showed on the 3 auth pages : admin/login, admin/forgot-password and admin/register. You can hide it by using this configuration :

```
use Agelgil\FilamentEasyFooter\EasyFooterPlugin;

->plugins([
    EasyFooterPlugin::make()
    ->hiddenFromPagesEnabled(),
])
```

If you would like to hide the footer on other pages, you can use this configuration :

```
use Agelgil\FilamentEasyFooter\EasyFooterPlugin;

->plugins([
    EasyFooterPlugin::make()
    ->hiddenFromPagesEnabled()
    ->hiddenFromPages(['sample-page', 'another-page', 'admin/login', 'admin/forgot-password', 'admin/register']),
])
```

Note that anything set in `hiddenFromPages()` will override the default behavior.

Testing
-------

[](#testing)

---

You can run the test with this command

```
composer test
```

Changelog
---------

[](#changelog)

---

Please see [CHANGELOG](https://github.com/agelgil/filament-easy-footer/releases) for more information on what has changed recently.

Contributing
------------

[](#contributing)

---

Please see [CONTRIBUTING](.github/CONTRIBUTING.md) for details.

Security Vulnerabilities
------------------------

[](#security-vulnerabilities)

---

Please review [our security policy](../../security/policy) on how to report security vulnerabilities.

Credits
-------

[](#credits)

---

- [Devonab](https://github.com/Devonab) (Original Author)
- [Agelgil](https://github.com/agelgil)
- [All Contributors](../../contributors)

License
-------

[](#license)

---

The MIT License (MIT). Please see [License File](LICENSE.md) for more information.

###  Health Score

24

—

LowBetter than 32% of packages

Maintenance57

Moderate activity, may be stable

Popularity16

Limited adoption so far

Community13

Small or concentrated contributor base

Maturity11

Early-stage or recently created project

 Bus Factor1

Top contributor holds 65.8% 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.

### Community

Maintainers

![](https://www.gravatar.com/avatar/8fd28cb32a4cca3aaf21187959977a78066f4bc4c8b110c959efcf117e6dc4c4?d=identicon)[SamAsEnd](/maintainers/SamAsEnd)

---

Top Contributors

[![Devonab](https://avatars.githubusercontent.com/u/6360488?v=4)](https://github.com/Devonab "Devonab (52 commits)")[![dependabot[bot]](https://avatars.githubusercontent.com/in/29110?v=4)](https://github.com/dependabot[bot] "dependabot[bot] (8 commits)")[![SamAsEnd](https://avatars.githubusercontent.com/u/9657132?v=4)](https://github.com/SamAsEnd "SamAsEnd (7 commits)")[![github-actions[bot]](https://avatars.githubusercontent.com/in/15368?v=4)](https://github.com/github-actions[bot] "github-actions[bot] (5 commits)")[![Cybrarist](https://avatars.githubusercontent.com/u/38886749?v=4)](https://github.com/Cybrarist "Cybrarist (2 commits)")[![holmesadam](https://avatars.githubusercontent.com/u/11541764?v=4)](https://github.com/holmesadam "holmesadam (2 commits)")[![mgkimsal](https://avatars.githubusercontent.com/u/75154?v=4)](https://github.com/mgkimsal "mgkimsal (1 commits)")[![emmanpbarrameda](https://avatars.githubusercontent.com/u/67356375?v=4)](https://github.com/emmanpbarrameda "emmanpbarrameda (1 commits)")[![TomEasterbrook](https://avatars.githubusercontent.com/u/5488110?v=4)](https://github.com/TomEasterbrook "TomEasterbrook (1 commits)")

### Embed Badge

![Health badge](/badges/agelgil-filament-easy-footer/health.svg)

```
[![Health](https://phpackages.com/badges/agelgil-filament-easy-footer/health.svg)](https://phpackages.com/packages/agelgil-filament-easy-footer)
```

PHPackages © 2026

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