label(__('admin.credit_products.actions.sync_stripe')) ->icon(Heroicon::OutlinedArrowPath) ->visible(fn (CreditProduct $record): bool => blank($record->stripe_price_id)) ->requiresConfirmation() ->action(function (CreditProduct $record): void { app(StripeCreditProductSyncer::class)->sync($record); Notification::make() ->title(__('admin.credit_products.actions.sync_stripe_success')) ->success() ->send(); }); } public static function getPages(): array { return [ 'index' => ListCreditProducts::route('/'), 'create' => CreateCreditProduct::route('/create'), 'edit' => EditCreditProduct::route('/{record}/edit'), ]; } }