Skip to content

Commit 3006d75

Browse files
authored
feat [lar-159] format status column in article (#296)
2 parents 8b44f21 + 83ce90f commit 3006d75

File tree

1 file changed

+35
-10
lines changed

1 file changed

+35
-10
lines changed

app/Filament/Resources/ArticleResource.php

Lines changed: 35 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,8 @@
77
use App\Actions\Article\ApprovedArticleAction;
88
use App\Filament\Resources\ArticleResource\Pages;
99
use App\Models\Article;
10+
use Awcodes\FilamentBadgeableColumn\Components\Badge;
11+
use Awcodes\FilamentBadgeableColumn\Components\BadgeableColumn;
1012
use Filament\Resources\Resource;
1113
use Filament\Support\Enums\MaxWidth;
1214
use Filament\Tables;
@@ -67,16 +69,39 @@ public static function table(Table $table): Table
6769
->label('Soumission')
6870
->placeholder('N/A')
6971
->date(),
70-
Tables\Columns\TextColumn::make('approved_at')
71-
->label('Approbation')
72-
->placeholder('N/A')
73-
->date()
74-
->toggleable(),
75-
Tables\Columns\TextColumn::make('declined_at')
76-
->label('Décliner')
77-
->placeholder('N/A')
78-
->date()
79-
->toggleable(isToggledHiddenByDefault: true),
72+
BadgeableColumn::make('status')
73+
->label('Statut')
74+
->getStateUsing(function ($record) {
75+
if ($record->approved_at) {
76+
return $record->approved_at->format('d/m/Y');
77+
}
78+
79+
if ($record->declined_at) {
80+
return $record->declined_at->format('d/m/Y');
81+
}
82+
83+
return 'depuis le '.$record->submitted_at->format('d/m/Y');
84+
})
85+
->prefixBadges(function ($record) {
86+
if ($record->approved_at) {
87+
return [
88+
Badge::make('Approuvé')
89+
->color('success'),
90+
];
91+
}
92+
93+
if ($record->declined_at) {
94+
return [
95+
Badge::make('Décliné')
96+
->color('danger'),
97+
];
98+
}
99+
100+
return [Badge::make('En attente')
101+
->color('warning')];
102+
})
103+
->searchable()
104+
->sortable(),
80105
])
81106
->actions([
82107
ActionGroup::make([

0 commit comments

Comments
 (0)