currentCurrency = session('currency', config('settings.default_currency')); $this->currencies = Currency::all()->map(fn ($currency) => [ 'value' => $currency->code, 'label' => $currency->code, ])->values()->toArray(); if (Cart::get()->isNotEmpty() || count($this->currencies) <= 1) { $this->skipRender(); } } public function updatedCurrentCurrency($currency) { if (Cart::get()->isNotEmpty()) { $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'); } }