Show Paddle sync errors

This commit is contained in:
Codex Agent
2026-01-02 21:16:23 +01:00
parent 3e9f09571b
commit 77b7af13d4
5 changed files with 63 additions and 8 deletions

View File

@@ -193,6 +193,11 @@ class PackageResource extends Resource
->label('Zuletzt synchronisiert')
->content(fn (?Package $record) => $record?->paddle_synced_at ? $record->paddle_synced_at->diffForHumans() : '')
->columnSpanFull(),
Placeholder::make('paddle_sync_error')
->label('Letzter Fehler')
->content(fn (?Package $record) => $record?->paddle_sync_error_message ?? '')
->visible(fn (?Package $record) => filled($record?->paddle_sync_error_message))
->columnSpanFull(),
]),
]);
}
@@ -280,6 +285,11 @@ class PackageResource extends Resource
->label('Sync am')
->dateTime()
->toggleable(isToggledHiddenByDefault: true),
TextColumn::make('paddle_sync_error_message')
->label('Sync-Fehler')
->getStateUsing(fn (Package $record) => $record->paddle_sync_error_message)
->wrap()
->toggleable(isToggledHiddenByDefault: true),
])
->filters([
Tables\Filters\SelectFilter::make('type')

View File

@@ -145,6 +145,13 @@ class Package extends Model
];
}
public function getPaddleSyncErrorMessageAttribute(): ?string
{
$message = data_get($this->paddle_snapshot, 'error.message');
return is_string($message) && $message !== '' ? $message : null;
}
public function getActivatesImmediatelyAttribute(): bool
{
// Default: Pakete werden nach Kauf sofort freigeschaltet (digitale Dienstleistung).