From ad231091a97f4a6b44cfc0fe70a8f53597a14838 Mon Sep 17 00:00:00 2001 From: Nick Potts Date: Tue, 29 Jul 2025 19:52:05 +0800 Subject: [PATCH 1/3] fix null icons --- src/Resources/MailResource.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Resources/MailResource.php b/src/Resources/MailResource.php index 9f83e34..a9f3fee 100644 --- a/src/Resources/MailResource.php +++ b/src/Resources/MailResource.php @@ -349,8 +349,8 @@ public static function table(Table $table): Table ->label('') ->alignLeft() ->searchable(false) - ->getStateUsing(fn (Mail $record) => $record->attachments->count() > 0) - ->icon(fn (string $state): string => $state ? 'heroicon-o-paper-clip' : ''), + ->getStateUsing(fn (Mail $record) => $record->attachments->count() > 0 ? true : null) + ->icon('heroicon-o-paper-clip'), TextColumn::make('to') ->label(__('Recipient(s)')) ->limit(50) From f8220a0bb268ecf32542acc5ab68b7ac00cfd991 Mon Sep 17 00:00:00 2001 From: Nick Potts Date: Tue, 29 Jul 2025 20:08:04 +0800 Subject: [PATCH 2/3] fix preview rendering --- resources/views/mails/preview.blade.php | 2 +- src/Resources/MailResource.php | 8 +++----- 2 files changed, 4 insertions(+), 6 deletions(-) diff --git a/resources/views/mails/preview.blade.php b/resources/views/mails/preview.blade.php index 0f45184..00796d7 100644 --- a/resources/views/mails/preview.blade.php +++ b/resources/views/mails/preview.blade.php @@ -1,6 +1,6 @@
diff --git a/src/Resources/MailResource.php b/src/Resources/MailResource.php index a9f3fee..3a51ce7 100644 --- a/src/Resources/MailResource.php +++ b/src/Resources/MailResource.php @@ -244,14 +244,12 @@ public static function infolist(Schema $schema): Schema Tab::make('Preview') ->extraAttributes(['class' => 'w-full max-w-full']) ->schema([ - TextEntry::make('html') + ViewEntry::make('html') ->hiddenLabel() ->label(__('HTML Content')) ->extraAttributes(['class' => 'overflow-x-auto']) - ->formatStateUsing(fn (string $state, Mail $record): View => view( - 'filament-mails::mails.preview', - ['html' => $state, 'mail' => $record], - )), + ->view('filament-mails::mails.preview') + ->viewData(fn (string $state, Mail $record) => ['html' => $state, 'mail' => $record]), ]), Tab::make('HTML') ->schema([ From 9e05f80ffea6c259a2d9a6b972a0ea9ffbcfe31f Mon Sep 17 00:00:00 2001 From: Nick Potts Date: Tue, 29 Jul 2025 20:49:45 +0800 Subject: [PATCH 3/3] no more getStateUsing --- src/Resources/MailResource.php | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/src/Resources/MailResource.php b/src/Resources/MailResource.php index 3a51ce7..804020c 100644 --- a/src/Resources/MailResource.php +++ b/src/Resources/MailResource.php @@ -95,22 +95,22 @@ public static function infolist(Schema $schema): Schema ->label(__('Subject')), TextEntry::make('from') ->label(__('From')) - ->getStateUsing(fn (Mail $record) => self::formatMailState($record->from)), + ->formatStateUsing(fn (Mail $record) => self::formatMailState($record->from)), TextEntry::make('to') ->label(__('Recipient(s)')) - ->getStateUsing(fn (Mail $record) => self::formatMailState($record->to)), + ->formatStateUsing(fn (Mail $record) => self::formatMailState($record->to)), TextEntry::make('cc') ->label(__('CC')) ->default('-') - ->getStateUsing(fn (Mail $record) => self::formatMailState($record->cc ?? [])), + ->formatStateUsing(fn (Mail $record) => self::formatMailState($record->cc ?? [])), TextEntry::make('bcc') ->label(__('BCC')) ->default('-') - ->getStateUsing(fn (Mail $record) => self::formatMailState($record->bcc ?? [])), + ->formatStateUsing(fn (Mail $record) => self::formatMailState($record->bcc ?? [])), TextEntry::make('reply_to') ->default('-') ->label(__('Reply To')) - ->getStateUsing(fn (Mail $record) => self::formatMailState($record->reply_to ?? [])), + ->formatStateUsing(fn (Mail $record) => self::formatMailState($record->reply_to ?? [])), ]), ]), Tab::make(__('Statistics')) @@ -305,7 +305,7 @@ public static function infolist(Schema $schema): Schema ->label(__('Mime Type')), ViewEntry::make('uuid') ->label(__('Download')) - ->getStateUsing(fn ($record) => $record) + ->formatStateUsing(fn ($record) => $record) ->view('filament-mails::mails.download'), ]), ]), @@ -352,7 +352,7 @@ public static function table(Table $table): Table TextColumn::make('to') ->label(__('Recipient(s)')) ->limit(50) - ->getStateUsing(fn (Mail $record) => self::formatMailState(emails: $record->to, mailOnly: true)) + ->formatStateUsing(fn (Mail $record) => self::formatMailState(emails: $record->to, mailOnly: true)) ->sortable() ->searchable(), TextColumn::make('opens')