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 File View Entry Laravel Package

gheith3/filament-file-view-entry

A Filament package that adds a file view entry for displaying uploaded files in infolists, with preview and download support for images, PDFs, and documents in Laravel admin panels.

View on GitHub
Deep Wiki
Context7

Product Decisions This Supports

  • Admin/detail-page UX: Enables a decision to invest in a proper "file attachment" presentation in Filament infolist/detail views (icons by type, modal preview, download) rather than dumping raw paths or links in a text column. This is a common gap in CRUD admins and directly improves end-user (internal ops/support) experience.
  • Build vs. buy for a narrow UI need: The component is a single, focused entry (FileViewEntry) covering image/video/audio/PDF/text preview, grid layout, disk/temporary URL handling, and dark mode. A PM can weigh ~1 sprint of engineering (plus ongoing maintenance) against adopting this package, which lowers build cost for a low-differentiation feature.
  • Roadmap sequencing for file/document features: If the roadmap includes document libraries, media galleries, upload history, or review/approval screens, this package provides a fast "v0" display layer. It lets the team ship the surrounding workflow (upload, versioning, permissions) first and defer polished file-rendering work.
  • Scope boundaries / use cases: Supports decisions about where files appear (infolist entries on resource detail pages) versus where they are managed (upload forms, storage policies). It clarifies that this is a display component, not an uploader, DMS, or permissions layer—useful for keeping scope honest.
  • Multi-model flexibility: The configurable titleKey/pathKey/dateKey and support for arrays, Collections, and Eloquent relationships means one decision covers many existing data shapes without schema rework—reducing migration cost.
  • Low-commitment prototyping: Because it's a thin Filament entry, it supports a "try it in one panel, measure, then standardize" decision rather than a platform-level commitment.

When to Consider This Package

Consider adopting when:

  • You are already on Filament 4 or 5 and Laravel 11/12 on PHP 8.2–8.4—this is a strict compatibility window, so confirm versions first.
  • You need file display specifically inside infolist/detail views (not forms, tables, or a full media manager).
  • Your files live on Laravel storage disks and you can use temporary URLs (5-minute expiry default) or a public disk with url() fallback.
  • Your data is simple-to-moderate: a path string, or an array/Collection of items with name/path (and optional date) keys. Custom keys cover most legacy shapes.
  • You want a cheap, reversible improvement and are comfortable vendoring/publishing the Blade view to own the styling.
  • You can accept early-stage maturity: 5 GitHub stars, 0 dependents, single maintainer. Treat it as "vendor and own," not "rely on upstream."

Look elsewhere when:

  • You need guaranteed long-term maintenance, SLAs, or a security-review trail. Adoption risk is real at this maturity level; budget for forking.
  • Requirements go beyond display: upload UX, virus scanning, image transformations/thumbnails, versioning, access control, large-file/streaming, signed-URL policy per document.
  • You need non-Filament surfaces (standalone Livewire, Blade, API/headless) or Filament 3 compatibility.
  • You have strict design-system requirements where a bespoke component is cheaper than heavy view overrides.
  • You need accessibility or i18n guarantees not documented in the package.
  • Files are not on Laravel disks (e.g., external CDN/S3 with custom signing), or you cannot tolerate temporary-URL expiry behavior for long-lived pages.

How to Pitch It (Stakeholders)

For executives (30 seconds):

We can close a visible gap in our admin experience—file attachments currently show as raw links or nothing—with a small, MIT-licensed Filament component that renders icons by file type, in-modal previews, and downloads. It's a low-cost, reversible win with no licensing spend. The trade-off is maturity: it's a young, single-maintainer package with minimal adoption, so we'd vendor the code and own it rather than depend on upstream support. Recommendation: pilot it in one panel, expect roughly a sprint of integration and hardening, and keep the fallback of building it ourselves if the pilot surfaces gaps.

For engineering:

gheith3/filament-file-view-entry provides a FileViewEntry infolist component with grid(), titleKey(), pathKey(), dateKey(), disk(), showPreview(), downloadable(), showAsLink(), and previewHeight(). It handles single paths, arrays, and Collections, uses Storage::disk()->temporaryUrl() (5-min expiry) with a url() fallback, and ships a publishable Blade view for styling. Constraints: Filament ^4|^5, Laravel ^11|^12, PHP ^8.2–8.4, Alpine.js via Filament. Plan to fork/vendor, add tests around our data shapes, verify disk/URL policy and expiry against our page session lengths, and audit the preview modal for CSP and file-type safety before rollout. Treat the README/AGENTS docs as the contract and pin the version.

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.
novasa/laravel-language-center
opencage/geocode
adolfoholzer/parameters
livenetworks/ln-starter
shitoudev/permissionmanager
johannesclimacus/laravel-tui
hocvt/seotools
vitalybaev/sypexgeo
amphibee/themosis-ignition
gito-me/fast-excel
frankyso/laravel-ipaymu
geolize-studio/laravel-chile
boomerangui/chat
cgv/localized-resource
noith/settings
kda/laravel-package
kda/filament-dynamic-navigation
bypersoft/signbox
pairus/product-data
fayne/laravel-filament-cms-core