import { useAppBridge } from "@shopify/app-bridge-react";
import { ResourcePicker } from "@shopify/app-bridge/actions";
const BundleGeneralSettings = () => {
const app = useAppBridge();
const openPicker = async () => {
const picker = await app.resourcePicker({
type: "product",
action: "add",
multiple: true,
filter: {
hidden: false,
variants: false,
draft: false,
archived: false,
},
});
if (picker && picker && picker.length > 0) {
const selectedProducts = picker.map((product) => ({
id: product.id,
title: product.title,
imageUrl:
product.images.length > 0
? product.images[0].originalSrc
: null,
isVariant: product.totalVariants > 0,
variants: product.totalVariants ? product.totalVariants : null,
price:
product.totalVariants === 1
? product.variants[0].price
: null,
}));
console.log("Picker:", picker);
console.log("Selected products:", selectedProducts);
}
};
return (
<>
<div className="mt-2">
</div>
<div className="mt-2">
<Card>
<Button onClick={openPicker}>Select Products</Button>
</Card>
</div>
<div className="p-5"></div>
</>
);
};
export default BundleGeneralSettings;
This code was working as expected. But, now it is not opening the picker. The function is invoked correctly, but the picker isn’t opening.