elegant code

This commit is contained in:
2025-11-02 21:09:13 +05:00
parent 92b067b939
commit e8595117ee
5 changed files with 85 additions and 46 deletions

View File

@@ -0,0 +1,22 @@
<?php
namespace App\Modules\Card\Filament\Actions;
use App\Modules\Card\Models\Card;
use App\Modules\CardBalance\Repositories\CardBalanceRepository;
use Filament\Actions\Action;
use Illuminate\Contracts\View\View;
class CheckCardBalanceAction
{
public static function make(): Action
{
return Action::make('card_balance')
->label(__('Card balance'))
->icon('heroicon-o-credit-card')
->requiresConfirmation(false)
->modal()
->modalContent(fn (Card $record): View => CardBalanceRepository::make()->showCardBalance($record))
->modalFooterActions([]);
}
}

View File

@@ -0,0 +1,20 @@
<?php
namespace App\Modules\Card\Filament\Actions;
use App\Modules\Card\Models\Card;
use App\Modules\CardRequisite\Repositories\CardRequisiteRepository;
use Filament\Actions\Action;
class DownloadCardRequisteAction
{
public static function make(): Action
{
return Action::make('card_requisite')
->label(__('Card requisite'))
->icon('heroicon-o-document-text')
->requiresConfirmation()
->modalIcon('heroicon-o-document-text')
->action(fn (Card $record) => CardRequisiteRepository::make()->downloadCardRequisite($record));
}
}

View File

@@ -0,0 +1,37 @@
<?php
namespace App\Modules\Card\Filament\Actions;
use App\Modules\Card\Models\Card;
use App\Modules\CardTransaction\Repositories\CardTransactionRepository;
use Filament\Actions\Action;
use Filament\Forms\Components\DatePicker;
use Livewire\Component;
class DownloadCardTransactionAction
{
public static function make(): Action
{
return Action::make('card_transactions')
->label(__('Card transactions'))
->icon('heroicon-o-arrows-right-left')
->requiresConfirmation()
->modalIcon('heroicon-m-arrows-right-left')
->schema([
DatePicker::make('start_date')
->label(__('Start date'))
->native(false)
->required()
->beforeOrEqual('today'),
DatePicker::make('end_date')
->label(__('End date'))
->native(false)
->required()
->beforeOrEqual('today'),
])
->action(
fn (array $data, Card $record, Component $livewire) => CardTransactionRepository::make()->downloadCardTransaction($data, $record, $livewire)
);
}
}