This commit is contained in:
salam committed 2025-09-23 12:02:39 +02:00
1 parent 8ee2fc4b00
commit 326d827543
18 files changed
+178 -50

No files matched your search

@@ -2,11 +2,17 @@
namespace App\Filament\Resources\Kontos\Tables;
use Filament\Actions\Action;
use Filament\Actions\EditAction;
use Filament\Forms\Components\RichEditor;
use Filament\Forms\Components\TextInput;
use Filament\Support\Enums\FontWeight;
use Filament\Support\Enums\TextSize;
use Filament\Support\Icons\Heroicon;
use Filament\Tables\Columns\IconColumn;
use Filament\Tables\Columns\TextColumn;
use Filament\Tables\Table;
use Illuminate\Support\Facades\Mail;
use Ysfkaya\FilamentPhoneInput\PhoneInputNumberType;
use Ysfkaya\FilamentPhoneInput\Tables\PhoneColumn;
@@ -17,31 +23,66 @@ class KontosTable
return $table
->columns([
// TextColumn::make('id'),
TextColumn::make('konto_gender')->label('Geschlecht'),
// TextColumn::make('konto_gender')->label('Geschlecht'),
// TextColumn::make('konto_title')->label('Title'),
// TextColumn::make('konto_first_name')->label('Vorname'),
TextColumn::make('konto_option.name')
->badge()
->label('Plan & Zahlung')
->description(fn ($record): string => $record->konto_option->payment_plan->name),
TextColumn::make('konto_company')->label('Firma'),
IconColumn::make('konto_agb_akzeptiert')
->label('AGB')
->boolean()
->trueIcon(Heroicon::OutlinedCheckBadge)
->falseIcon(Heroicon::OutlinedXMark),
// IconColumn::make('konto_agb_akzeptiert')
// ->label('AGB')
// ->boolean()
// ->trueIcon(Heroicon::OutlinedCheckBadge)
// ->falseIcon(Heroicon::OutlinedXMark),
// PhoneColumn::make('konto_phone')
// ->label('Telefon')
// ->displayFormat(PhoneInputNumberType::INTERNATIONAL),
// TextColumn::make('konto_email')
// ->copyable()
// ->copyMessage('E-Mail wurde kopiert')
// ->copyMessageDuration(1500)
// ->label('E-mail'),
TextColumn::make('konto_company')->label('Firma')
->description(fn ($record): string => $record->konto_address.', '.$record->konto_location),
TextColumn::make('konto_option.name')
->icon(Heroicon::CurrencyEuro)
// ->iconColor('success')
// ->badge()
->label('Plan')
->description(fn ($record): string => $record->konto_option->payment_plan->name),
TextColumn::make('konto_gutachten_abgeschlossen')
->size(TextSize::Large)
->weight(FontWeight::Bold)
->label('Abgeschlossen')
->color('primary')
->description('Gutachten')
->alignCenter(),
TextColumn::make('konto_gutachten_zahl')
->size(TextSize::Large)
->weight(FontWeight::Bold)
->label('Freigeschalted')
->color('success')
->description('Gutachten')
->alignCenter(),
PhoneColumn::make('konto_phone')
->label('Telefon')
->displayFormat(PhoneInputNumberType::INTERNATIONAL),
TextColumn::make('konto_email')
->copyable()
->copyMessage('E-Mail wurde kopiert')
->copyMessageDuration(1500)
->label('E-mail'),
])
->recordActions([
EditAction::make(),
Action::make('Laden')
->icon('heroicon-m-bolt')
->color('warning')
->schema([
TextInput::make('subject')->required(),
RichEditor::make('body')->required(),
])
->action(function (array $data) {
Mail::to($this->client)
->send(new GenericEmail(
subject: $data['subject'],
body: $data['body'],
));
}),
]);
}
}