Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Filament Easy Footer Laravel Package

devonab/filament-easy-footer

Filament EasyFooter adds a flexible, customizable footer to FilamentPHP admin panels (v3–v5). Seamlessly integrate a polished footer and configure enable/disable, position, custom sentence, GitHub/installed versions, load time, logo links, and custom themes via simple options.

View on GitHub
Deep Wiki
Context7

Product Decisions This Supports

  • Build vs. buy for admin chrome. A footer is ~1–3 dev-days of work if done properly (render hook registration, config surface, Blade view, theme @source wiring, per-page hiding, tests). This package collapses that into a composer require plus one line in the panel provider, so the decision is "buy" by default and reserve engineering time for differentiators.
  • White-labeling and brand polish scope. withLogo(), withSentence() (accepts HtmlString), withFooterPosition() across three render hooks, and withBorder() mean you can ship a "customer-branded admin" deliverable without a design-system project. Useful for deciding whether branding work belongs in this sprint or a later theming initiative.
  • Compliance and legal surface in the admin panel. withLinks() (3 max) is the cheapest credible way to expose Privacy Policy / CGV / About links in an authenticated app — relevant for GDPR-ish readiness checklists and procurement questionnaires without standing up a CMS.
  • Release/version transparency for internal tools. withShowInstalledVersion() plus withGithub(showLatest, showUpdatable) turns "which build is in staging?" into a glanceable footer badge. This supports ops/support decisions (triage, "are you on the latest?" tickets) at near-zero cost — and notably does not require GitHub API calls unless you opt in.
  • Support-cost reduction and demo readiness. A persistent footer with a support link or environment label measurably cuts "where do I report this?" friction in internal panels; withLoadTime() is presentational only, so treat it as a debugging/demo nicety, not a performance-monitoring feature.
  • Roadmap sequencing / deprioritization evidence. Because the capability is a commodity (MIT, one maintainer, 0 dependents), "we'll adopt the plugin now and revisit if we ever need bespoke footer layout" is a defensible roadmap stance — it removes a low-value line item from the backlog.
  • Auth-surface UX decision. hiddenFromPagesEnabled() shows the footer is hidden on login/forgot-password/register by default-configurable — a small but real product choice about whether marketing/legal chrome appears pre-authentication.

When to Consider This Package

Adopt when:

  • You are already on Filament v4.x or v5.x (v2.x of the package) or v3.x (v1.x). Version alignment is explicit in the README — no ambiguity, but no forward-compat promise either.
  • You are willing to maintain a custom Filament theme; the README requires the @source line in theme.css for styles to apply. Without a theme pipeline, expect broken styling and a support ticket.
  • The need is genuinely cosmetic plus a handful of static links — no dynamic content, no per-tenant logic, no complex layout.
  • You want reversibility: removal is a composer uninstall plus one array entry. Low blast radius makes this a safe experiment.
  • You accept the supply-chain posture: MIT, public repo, CI badges for tests and code style, tagged releases, and the option to fork or vendor the config/views (vendor:publish covers both).

Look elsewhere / build in-house when:

  • You need guaranteed support, SLAs, or security disclosure handling. 39 stars and 0 dependents means effectively single-maintainer bus factor; you are the maintainer of last resort.
  • You need a per-panel or per-tenant footer that varies at runtime — the API is fluent/global, configured at provider registration, not a runtime contract.
  • You need i18n (per-locale sentences/links), rich layout (multi-column, responsive variants), or more than 3 links — the 3-link cap is a hard product constraint in the current API.
  • Your security review forbids rendering config-supplied HTML. withSentence() accepts HtmlString with an allowlist of tags (strong, img, a, em, span, b, i, small); that allowlist is the package's control, not your sanitizer's.
  • You require accessibility conformance or cookie-consent/banner behavior — a footer is not a consent surface, and no a11y guarantees are stated.
  • You want footprint minimization: for a single static copyright line, a 5-line Blade partial in your own panel is cheaper than a dependency plus a theme-source edit.
  • You are on an unsupported Filament major or a pre-v4 panel where render-hook names differ.

Adoption gates to clear first: pin the version (^2.0), confirm the maintainer's release cadence against your Filament upgrade plan, and assign a named owner for the fork if upstream goes quiet.

How to Pitch It (Stakeholders)

To executives (30 seconds): This is a small, free, MIT-licensed add-on for our admin panel that gives us a branded, professional-looking footer with copyright, legal links, and the running version number — the kind of finish work clients and auditors notice. It costs roughly one line of configuration instead of a few days of engineering, it's fully reversible, and it introduces no data or infrastructure risk. It is a cosmetic/compliance convenience, not a platform bet: if it ever stops being maintained, we can absorb it internally in under a day.

To engineering (the honest version):

  • What it is: a Filament plugin that hooks panels::footer (default), panels::sidebar.nav.end, or panels::sidebar.footer and renders a configurable Blade view. Fluent API covers logo, sentence (allowlisted HTML), up to 3 links, border, load time, installed version, GitHub latest-tag comparison, and per-page hiding with auth-page defaults.
  • Integration cost: composer require devonab/filament-easy-footer:^2.0, add EasyFooterPlugin::make() to the panel's plugins([...]), publish config and optionally views, and add the @source directive to theme.css — the theme step is mandatory for correct styling and is the most likely place a rushed rollout breaks.
  • Risks we are accepting, explicitly: single maintainer, 39 stars, 0 known dependents, no SLA. Mitigations: pin the major, publish config/views so overrides live in our repo, keep the fork path open, and keep the integration to one provider line so removal is trivial.
  • Cost of exit: minutes. That asymmetry — low cost, low risk, small but visible UX/compliance win — is the entire argument for doing it now rather than writing it ourselves.
Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
rlacerda83/query-parser
socialdept/atp-orm
cboxdk/laravel-assistant-client
socialdept/atp-resolver
socialdept/tenant-domains
tautvydasr/blade-class-names
socialdept/color-scales
maherelgamil/controller
coleus/widgets
coleus/table
coleus/users
coleus/music
coleus/health
coleus/calendar
coleus/notes
coleus/support
coleus/settings
coleus/apps
seampact/laravel
emmyconceptng/laravel-ng-postcode