Campaign Plugin
Storefront campaign pricing plugin config with helpers for ordinary/campaign price handling.
Disclaimer: This module depends on compatible plugin behavior being active in the consumer's Vendure backend instance. Configure the backend first, then register this plugin config in the storefront.
Purpose
Use this module when you need campaign-aware pricing in product, search, and order contexts and want one shared way to compute ordinary prices.
Features
- Extends search/product/order queries with
ordinaryPrice - Exposes
VendureCampaignPluginfor DataProviderpluginConfigs - Exposes
isCampaignutility to compare ordinary and active prices - Augments shared storefront types with campaign-related fields
Installation
- npm
- Yarn
npm install @haus-storefront-react/vendure-plugin-configs
yarn add @haus-storefront-react/vendure-plugin-configs
Note: This is not a public package. Contact the Haus Tech Team for access.
API Reference
Utilities
isCampaign
Compares ordinary price and current price values across PriceRange, SinglePrice, and numeric inputs.
Exports
VendureCampaignPluginisCampaignCampaignFeaturestype
Basic Usage
Example 1: Register Plugin in Data Provider
Use this to configure and register the campaign plugin in your provider pluginConfigs.
- React
- React Native
import { VendureCampaignPlugin } from '@haus-storefront-react/vendure-plugin-configs/campaign'
const campaignPlugin = VendureCampaignPlugin.init({
enableFeatures: {
showCampaignPrices: true,
ordinaryPrice: true,
},
})
import { VendureCampaignPlugin } from '@haus-storefront-react/vendure-plugin-configs/campaign'
const campaignPlugin = VendureCampaignPlugin.init({
enableFeatures: {
showCampaignPrices: true,
ordinaryPrice: true,
},
})
Example 2: Consume Plugin Functionality
Use this in application pricing logic after the plugin has been registered.
- React
- React Native
import { isCampaign } from '@haus-storefront-react/vendure-plugin-configs/campaign'
export function CampaignLabel({ product }) {
const hasCampaign = isCampaign(product.ordinaryPrice, product.priceWithTax)
return <p>{hasCampaign ? 'Campaign price' : 'Regular price'}</p>
}
import { Text } from 'react-native'
import { isCampaign } from '@haus-storefront-react/vendure-plugin-configs/campaign'
export function CampaignLabel({ product }) {
const hasCampaign = isCampaign(product.ordinaryPrice, product.priceWithTax)
return <Text>{hasCampaign ? 'Campaign price' : 'Regular price'}</Text>
}
Made with ❤️ by Haus Tech Team