label(__('admin.billing_products.actions.sync_stripe')) ->icon(Heroicon::OutlinedArrowPath) ->visible(fn (BillingProduct $record): bool => blank($record->stripe_price_id) && $record->purpose !== null) ->requiresConfirmation() ->action(function (BillingProduct $record): void { app(StripeBillingProductSyncer::class)->sync($record); Notification::make() ->title(__('admin.billing_products.actions.sync_stripe_success')) ->success() ->send(); }); } public static function getPages(): array { return [ 'index' => ListBillingProducts::route('/'), 'create' => CreateBillingProduct::route('/create'), 'edit' => EditBillingProduct::route('/{record}/edit'), ]; } }