From 952ba9ecebe4ade60be690cb23bbb955d79f5175 Mon Sep 17 00:00:00 2001 From: RafaelKayumov Date: Tue, 18 Nov 2025 14:25:21 +0300 Subject: [PATCH] Use navigationDestination API for product selector view presenting --- .../ProductSelector/ProductSelectorView.swift | 28 +++++++++++-------- 1 file changed, 17 insertions(+), 11 deletions(-) diff --git a/WooCommerce/Classes/ViewRelated/Products/ProductSelector/ProductSelectorView.swift b/WooCommerce/Classes/ViewRelated/Products/ProductSelector/ProductSelectorView.swift index 149c48130ad..e19e4063cf6 100644 --- a/WooCommerce/Classes/ViewRelated/Products/ProductSelector/ProductSelectorView.swift +++ b/WooCommerce/Classes/ViewRelated/Products/ProductSelector/ProductSelectorView.swift @@ -116,17 +116,23 @@ struct ProductSelectorView: View { .padding(Constants.defaultPadding) .accessibilityIdentifier(Constants.doneButtonAccessibilityIdentifier) .renderedIf(configuration.multipleSelectionEnabled && viewModel.syncApproach == .onButtonTap) - - if let variationListViewModel = viewModel.productVariationListViewModel { - LazyNavigationLink(destination: ProductVariationSelectorView( - isPresented: $isPresented, - viewModel: variationListViewModel, - onMultipleSelections: { selectedIDs in - viewModel.updateSelectedVariations(productID: variationListViewModel.productID, selectedVariationIDs: selectedIDs) - }), isActive: $viewModel.isShowingProductVariationList) { - EmptyView() - } - .renderedIf(configuration.treatsAllProductsAsSimple == false) + } + .if(configuration.treatsAllProductsAsSimple == false) { view in + view.navigationDestination(isPresented: $viewModel.isShowingProductVariationList) { + if let variationListViewModel = viewModel.productVariationListViewModel { + ProductVariationSelectorView( + isPresented: $isPresented, + viewModel: variationListViewModel, + onMultipleSelections: { selectedIDs in + viewModel.updateSelectedVariations( + productID: variationListViewModel.productID, + selectedVariationIDs: selectedIDs + ) + } + ) + } else { + EmptyView() + } } } .padding(.horizontal, insets: safeAreaInsets)