ariaieboy/filament-jalali-datetimepicker
Filament Jalali DateTime Picker adds Persian (Jalali) date and time picker fields to Filament forms, helping Laravel apps accept and display Shamsi dates with configurable formats and seamless Filament resource integration.
Architecture fit. Filament is a TALL-stack admin framework: form fields are Livewire-rendered PHP components with an Alpine/JS front end. This package is a sibling of Filament's DateTimePicker that swaps the calendar front end for a Jalali one and converts to/from Gregorian for storage. That is a narrow, well-bounded seam — a presentational concern layered over a datetime column. It does not touch the domain model, persistence layer, or API surface. Architecturally it is low-coupling by design. Fit is strong only where the admin audience is Persian/Dari-speaking; it is not a global default.
Integration feasibility. High on the happy path: composer require, register the plugin or swap the field class, done. Real feasibility is gated by version compatibility, not effort.
Technical risk.
Key questions to verify against the repo before committing.
composer.json constrain? Does it cover our pin and our next upgrade?minDate/maxDate respect Jalali input?Stack fit. Laravel + Filament v3 + Livewire 3. If we are on Filament v4, assume incompatible until proven otherwise — the DateTimePicker internals changed. No database, queue, or runtime footprint.
Migration path. Because it is MIT and archived, treat it as a source dependency, not a package dependency. Vendor it into app/ or an internal namespace (or a private fork) on day one. That converts "unmaintained third party" into "small internal component we own," which is the only sustainable posture. Two engineers can read the entire thing in an hour.
Compatibility. Pin the exact version. Add a CI job that installs the package against our pinned Filament version so a framework composer update cannot silently break date entry. Track Filament release notes for DateTimePicker changes as an early-warning signal.
Sequencing.
App\Forms\JalaliDateTimePicker so no call site references the vendor class. One file to patch at upgrade time.Maintenance. The dominant cost. Archived means maintenance is ours by default; budget it as "we own a Filament form component." Realistically a few days per Filament major, near zero in between. Assign a named owner — an unowned archived dependency in an admin panel is how you get a broken date field on a Monday.
Support. None. No maintainer response, no CVE channel. Mitigated by vendoring (we can patch in hours) and by keeping the blast radius to admin UI only — this must never become the sole write path for timestamps.
Scaling. Negligible. Client-side rendering, one instance per field, no server load, no query change, no cache concern. Not a scaling consideration at any plausible tenant volume.
Failure modes, ranked.
Ramp-up. Low. A mid-level Laravel developer is productive in under a day; the code is thin. The real ramp is calendar domain literacy — whoever owns the tests needs to know why Esfand 30 exists some years. That is a fixture and training cost, not a code-reading cost.
Recommendation. Adopt only if the product genuinely requires a Persian admin UI and we are on Filament v3. Adopt as a vendored fork, behind a locale gate, with correctness tests. Do not adopt blind from Packagist given the archived status — the 0.0875 score is consistent with "small, unmaintained, single-maintainer," which is precisely what forking mitigates. If we are on or planning Filament v4, budget the rewrite now rather than discovering it mid-upgrade.
How can I help you explore Laravel packages today?