currentCurrency = session('currency', config('settings.default_currency')); $this->currencies = Currency::all()->map(fn ($currency) => [ 'value' => $currency->code, 'label' => $currency->name, ])->values()->toArray(); if (Cart::items()->count() > 0 || count($this->currencies) <= 1) { $this->skipRender(); } } public function updatedCurrentCurrency($currency) { $this->validate([ 'currentCurrency' => 'required|exists:currencies,code', ]); if (Cart::items()->count() > 0) { $this->notify('You cannot change the currency while there are items in the cart.', 'error'); $this->currentCurrency = session('currency', config('settings.default_currency')); return; } session(['currency' => $currency]); return $this->redirect(request()->header('Referer', '/'), navigate: true); } public function render() { return view('components.currency-switch'); } }