zenepay/filament-buddhist-date-picker
DatePicker/DateTimePicker components without modifying core logic, adhering to Laravel’s modularity. It leverages Filament’s plugin architecture, making it a non-intrusive addition to any Filament 4.x-based application.composer require + method call (->buddhist()), with zero config files or service provider modifications.phpversion in composer.json).4.0.* vs. 4.1.*).Carbon instances) handles BE dates correctly post-submission. The package likely uses Carbon under the hood, but validate with:
$date = Carbon::createFromFormat('Y-m-d', $input)->inBuddhistEra();
Carbon::setTestNow().buddhist.js) don’t override existing keys.php -d memory_limit=-1 vendor/bin/roave-better-reflection analyze -- php app/Http/Livewire/YourForm.php
DatePicker trait, so it works seamlessly with:
Carbon::parse() under the hood).DatePicker::make('event_date')->buddhist()->required(),
MyModel::where('event_date', '>=', $date)).DatePicker fields in non-critical modules (e.g., user profiles).Schema::table('events', function (Blueprint $table) {
$table->date('event_date_ce')->nullable()->after('event_date_be');
});
filament/spatie-laravel-media-library) with no known conflicts.ALTER TABLE events MODIFY event_date_be DATE NOT NULL DEFAULT '0000-00-00';
{
"event_date": {
"be": "2565-09-15",
"ce": "2022-09-15"
}
}
composer.json for Filament version ("filament/filament": "^4.0").composer require zenepay/filament-buddhist-date-picker
php artisan optimize:clear
php artisan test --filter=BuddhistDateTest
phpunit.xml):
<env name="APP_BUDDHIST_ERA_ENABLED" value="true"/>
composer require zenepay/filament-buddhist-date-picker:^4.1 --update-with-dependencies
php artisan vendor:publish --tag=filament-buddhist-date-picker-config
resources/lang files or submit PRs upstream.Carbon::createFromFormat() or strtotime(). Override with custom rules if needed:
use Zenepay\FilamentBuddhistDatePicker\Rules\BuddhistDate;
DatePicker::make('date')->rules([new BuddhistDate()]),
php artisan filament:cache:clear
$query->whereDate('event_date_be', '>=', $date);
Cache::remember("be_{$date}", now()->addHours(1), fn() => Carbon::parse($date)->inBuddhistEra());
artisan queue:work --sleep=3 --tries=1 --daemon
Monitor memory usage for date parsing bottlenecks.| Failure Scenario | Impact | Mitigation |
|---|---|---|
| Package stops working with Filament update | Breaks all BE date fields | Pin version in composer.json or fork the package. |
| Invalid BE dates submitted | Corrupted data | Add server-side validation: ->rules(['date_format:Y-m-d', 'buddhist_date']) |
| Timezone misalignment |
How can I help you explore Laravel packages today?