Page Slice
El page-slice gestiona la información relacionada con la página actual que se está visualizando.
Estado
{
currentProduct: null,
currentCategory: null,
currentPageIsPla: false,
currentPageIsProduct: false,
currentPageIsCategory: false,
currentPageIsLanding: false,
showCartModal: false,
userDataLoaded: false,
cartErrorMessage: null,
pageClass: '',
currentPageType: '',
newrelicAgent: null,
tagPromotions: []
}
Métodos
setTagPromotions
setTagPromotions: (tagPromotions) => {
set({tagPromotions: tagPromotions})
}
Establece las promociones por etiqueta.
setNewRelicAgent
setNewRelicAgent: (agent) => {
set({newrelicAgent: agent})
}
Establece el agente NewRelic.
setCurrentProduct
setCurrentProduct: (product) => {
if (product !== null && product !== undefined) {
set({currentProduct: product})
}
}
Establece el producto actual siendo visualizado.
setCurrentCategory
setCurrentCategory: (category) => {
if (category !== null && category !== undefined) {
set({currentCategory: category})
}
}
Establece la categoría actual siendo visualizada.
setCurrentPageIsPla
setCurrentPageIsPla: () => {
set({
currentPageIsPla: true,
currentPageIsCategory: false,
currentPageIsProduct: false,
currentPageIsLanding: false,
currentPageType: 'pla',
})
}
Establece que la página actual es de tipo PLA (Product Listing Advertisement).
setCurrentPageIsProduct
setCurrentPageIsProduct: (value) => {
set({
currentPageIsPla: false,
currentPageIsCategory: false,
currentPageIsProduct: true,
currentPageIsLanding: false,
currentPageType: 'product',
})
}
Establece que la página actual es de tipo Producto.
setCurrentPageIsCategory
setCurrentPageIsCategory: () => {
set({
currentPageIsPla: false,
currentPageIsCategory: true,
currentPageIsProduct: false,
currentPageIsLanding: false,
currentPageType: 'category',
})
}
Establece que la página actual es de tipo Categoría.
setCurrentPageIsLanding
setCurrentPageIsLanding: (value) => {
set({
currentPageIsPla: false,
currentPageIsCategory: false,
currentPageIsProduct: false,
currentPageIsLanding: true,
currentPageType: 'landing',
})
}
Establece que la página actual es de tipo Landing.
setShowCartModal
setShowCartModal: (value) => {
set({showCartModal: value})
}
Controla la visualización del modal del carrito.
setCartErrorMessage
setCartErrorMessage: (value) => {
set({cartErrorMessage: value})
}
Establece mensajes de error relacionados con el carrito.
setPageClass
setPageClass: (className) => {
set({pageClass: className})
}
Establece la clase CSS para la página.
setUserDataLoaded
setUserDataLoaded: (value) => {
set({userDataLoaded: value})
}
Indica si los datos del usuario han sido cargados.