diff --git a/app/Livewire/BillingPortal/Cart/RecurringProducts.php b/app/Livewire/BillingPortal/Cart/RecurringProducts.php index 39d94d2959df..d57bc9ede43e 100644 --- a/app/Livewire/BillingPortal/Cart/RecurringProducts.php +++ b/app/Livewire/BillingPortal/Cart/RecurringProducts.php @@ -17,8 +17,15 @@ use Livewire\Component; class RecurringProducts extends Component { + public array $context; + public Subscription $subscription; + public function quantity($id, $value): void + { + $this->dispatch('purchase.context', property: "bundle.recurring_products.{$id}.quantity", value: $value); + } + public function render(): \Illuminate\View\View { return view('billing-portal.v3.cart.recurring-products'); diff --git a/resources/views/billing-portal/v3/cart/recurring-products.blade.php b/resources/views/billing-portal/v3/cart/recurring-products.blade.php index 1f5177a36c7f..1ecbe0020ba5 100644 --- a/resources/views/billing-portal/v3/cart/recurring-products.blade.php +++ b/resources/views/billing-portal/v3/cart/recurring-products.blade.php @@ -1,15 +1,20 @@
- @unless(empty($subscription->recurring_product_ids)) - @foreach($subscription->service()->recurring_products() as $index => $product) + @isset($context['bundle']['recurring_products']) + @foreach($context['bundle']['recurring_products'] as $key => $entry) + + @php + $product = $entry['product']; + @endphp +
- @if(filter_var($product->product_image, FILTER_VALIDATE_URL)) + @if(filter_var($product['product_image'], FILTER_VALIDATE_URL))
@@ -17,30 +22,35 @@ @endif
-

{{ $product->product_key }}

-

{{ \App\Utils\Number::formatMoney($product->price, $subscription->company) }} / {{ App\Models\RecurringInvoice::frequencyForKey($subscription->frequency_id) }}

+

{{ $product['product_key'] }}

+

{{ \App\Utils\Number::formatMoney($product['price'], $subscription['company']) }} / {{ App\Models\RecurringInvoice::frequencyForKey($subscription->frequency_id) }}

@if($subscription->per_seat_enabled) - @if($subscription->use_inventory_management && $product->in_stock_quantity == 0) + @if($subscription->use_inventory_management && $product['in_stock_quantity'] == 0)

{{ ctrans('texts.out_of_stock') }}

@else

{{ ctrans('texts.qty') }}

@endif - - use_inventory_management && $product['in_stock_quantity'] == 0) disabled @endif + > + @if($subscription->max_seats_limit > 1) - @for ($i = 2; $i <= ($subscription->use_inventory_management ? min($subscription->max_seats_limit,$product->in_stock_quantity) : $subscription->max_seats_limit); $i++) - + @for ($i = 2; $i <= ($subscription->use_inventory_management ? min($subscription->max_seats_limit,$product['in_stock_quantity']) : $subscription->max_seats_limit); $i++) + @endfor @else - @for ($i = 2; $i <= ($subscription->use_inventory_management ? min($product->in_stock_quantity, max(100,$product->max_quantity)) : max(100,$product->max_quantity)); $i++) - + @for ($i = 2; $i <= ($subscription->use_inventory_management ? min($product['in_stock_quantity'], max(100,$product['max_quantity'])) : max(100,$product['max_quantity'])); $i++) + @endfor @endif @@ -50,9 +60,9 @@
- {!! $product->markdownNotes() !!} + {!! $product['notes'] !!}
@endforeach - @endunless + @endisset