@growupsell/react-ecommerce-core 2.0.12 → 2.0.14
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{chunk-VK7BF3ES.js → chunk-E66B7ABK.js} +124 -109
- package/dist/chunk-E66B7ABK.js.map +1 -0
- package/dist/index.cjs +121 -107
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +5 -10
- package/dist/index.d.ts +5 -10
- package/dist/index.js +1 -1
- package/dist/provider.cjs +121 -107
- package/dist/provider.cjs.map +1 -1
- package/dist/provider.d.cts +1 -1
- package/dist/provider.d.ts +1 -1
- package/dist/provider.js +1 -1
- package/package.json +2 -2
- package/dist/chunk-VK7BF3ES.js.map +0 -1
package/dist/index.d.cts
CHANGED
|
@@ -165,6 +165,8 @@ declare const ProductDetailContext: React__default.Context<{
|
|
|
165
165
|
type Props$2 = {
|
|
166
166
|
productId: any;
|
|
167
167
|
selected_variants: any;
|
|
168
|
+
/** Server-fetched product detail for SSR / first paint (crawlers + LCP). */
|
|
169
|
+
initialProductDetail?: any;
|
|
168
170
|
};
|
|
169
171
|
declare const ProductDetailProvider: (props: React__default.PropsWithChildren<Props$2>) => react_jsx_runtime.JSX.Element;
|
|
170
172
|
declare const useProductDetail: () => {
|
|
@@ -237,6 +239,8 @@ declare const HomeConfigContext: React__default.Context<{
|
|
|
237
239
|
declare const HomeConfigProvider: (props: {
|
|
238
240
|
page: string;
|
|
239
241
|
children: React__default.ReactNode;
|
|
242
|
+
/** Server-fetched theme content for SSR / first paint (crawlers). */
|
|
243
|
+
initialThemeContent?: any;
|
|
240
244
|
}) => react_jsx_runtime.JSX.Element;
|
|
241
245
|
declare const useHomeConfig: () => {
|
|
242
246
|
selectedConfig: any[];
|
|
@@ -276,15 +280,6 @@ declare const useCustomPageConfig: () => {
|
|
|
276
280
|
loading: boolean;
|
|
277
281
|
};
|
|
278
282
|
|
|
279
|
-
/**
|
|
280
|
-
* Bridges the custom-page provider into the shared HeroSlider context.
|
|
281
|
-
* CustomPageConfigProvider owns both block and hero state so saves cannot race.
|
|
282
|
-
*/
|
|
283
|
-
declare const CustomPageHeroSliderProvider: (props: {
|
|
284
|
-
pageId: number;
|
|
285
|
-
children: React__default.ReactNode;
|
|
286
|
-
}) => react_jsx_runtime.JSX.Element;
|
|
287
|
-
|
|
288
283
|
declare const WishlistContext: React__default.Context<{
|
|
289
284
|
wishlistItems: any[];
|
|
290
285
|
addToWishlist: (sku: any) => void;
|
|
@@ -529,4 +524,4 @@ type Props = {
|
|
|
529
524
|
declare const LiveSupportWidgetProvider: React__default.FC<Props>;
|
|
530
525
|
declare const useLiveSupportWidget: () => LiveSupportWidgetContextValue;
|
|
531
526
|
|
|
532
|
-
export { AuthContext, AuthProvider, BaseProvider, BusinessConfigProvider, BusinessMediaContext, BusinessMediaProvider, CartContext, CartProvider, CartWishlistRefreshContext, CartWishlistRefreshProvider, CustomPageConfigContext, CustomPageConfigProvider,
|
|
527
|
+
export { AuthContext, AuthProvider, BaseProvider, BusinessConfigProvider, BusinessMediaContext, BusinessMediaProvider, CartContext, CartProvider, CartWishlistRefreshContext, CartWishlistRefreshProvider, CustomPageConfigContext, CustomPageConfigProvider, CustomerConfigContext, CustomerConfigProvider, FilterContext, FilterProvider, HeaderFooterContext, HeaderFooterProvider, HomeConfigContext, HomeConfigHeroSliderContext, HomeConfigHeroSliderProvider, HomeConfigProvider, LiveSupportWidgetProvider, MenuCartContext, MenuCartProvider, MenuFilterContext, MenuFilterProvider, ModalProvider, ProductConfigContext, ProductConfigProvider, ProductDetailContext, ProductDetailProvider, ReferralCodeProvider, StorageContext, StorageProvider, ThemeEditContext, ThemeEditProvider, type ToastSupportApi, type ToastSupportOptions, ToastSupportProvider, WishlistContext, WishlistProvider, useAuth, useBusiness, useBusinessContext, useBusinessMedia, useCart, useCartWishlistRefresh, useCustomPageConfig, useCustomer, useFilter, useHeaderFooter, useHomeConfig, useHomeConfigHeroSlider, useLiveSupportWidget, useMenuCart, useMenuFilter, useModal, useProductConfig, useProductDetail, useReferralCode, useStorage, useThemeEdit, useToastSupport, useWishlist };
|
package/dist/index.d.ts
CHANGED
|
@@ -165,6 +165,8 @@ declare const ProductDetailContext: React__default.Context<{
|
|
|
165
165
|
type Props$2 = {
|
|
166
166
|
productId: any;
|
|
167
167
|
selected_variants: any;
|
|
168
|
+
/** Server-fetched product detail for SSR / first paint (crawlers + LCP). */
|
|
169
|
+
initialProductDetail?: any;
|
|
168
170
|
};
|
|
169
171
|
declare const ProductDetailProvider: (props: React__default.PropsWithChildren<Props$2>) => react_jsx_runtime.JSX.Element;
|
|
170
172
|
declare const useProductDetail: () => {
|
|
@@ -237,6 +239,8 @@ declare const HomeConfigContext: React__default.Context<{
|
|
|
237
239
|
declare const HomeConfigProvider: (props: {
|
|
238
240
|
page: string;
|
|
239
241
|
children: React__default.ReactNode;
|
|
242
|
+
/** Server-fetched theme content for SSR / first paint (crawlers). */
|
|
243
|
+
initialThemeContent?: any;
|
|
240
244
|
}) => react_jsx_runtime.JSX.Element;
|
|
241
245
|
declare const useHomeConfig: () => {
|
|
242
246
|
selectedConfig: any[];
|
|
@@ -276,15 +280,6 @@ declare const useCustomPageConfig: () => {
|
|
|
276
280
|
loading: boolean;
|
|
277
281
|
};
|
|
278
282
|
|
|
279
|
-
/**
|
|
280
|
-
* Bridges the custom-page provider into the shared HeroSlider context.
|
|
281
|
-
* CustomPageConfigProvider owns both block and hero state so saves cannot race.
|
|
282
|
-
*/
|
|
283
|
-
declare const CustomPageHeroSliderProvider: (props: {
|
|
284
|
-
pageId: number;
|
|
285
|
-
children: React__default.ReactNode;
|
|
286
|
-
}) => react_jsx_runtime.JSX.Element;
|
|
287
|
-
|
|
288
283
|
declare const WishlistContext: React__default.Context<{
|
|
289
284
|
wishlistItems: any[];
|
|
290
285
|
addToWishlist: (sku: any) => void;
|
|
@@ -529,4 +524,4 @@ type Props = {
|
|
|
529
524
|
declare const LiveSupportWidgetProvider: React__default.FC<Props>;
|
|
530
525
|
declare const useLiveSupportWidget: () => LiveSupportWidgetContextValue;
|
|
531
526
|
|
|
532
|
-
export { AuthContext, AuthProvider, BaseProvider, BusinessConfigProvider, BusinessMediaContext, BusinessMediaProvider, CartContext, CartProvider, CartWishlistRefreshContext, CartWishlistRefreshProvider, CustomPageConfigContext, CustomPageConfigProvider,
|
|
527
|
+
export { AuthContext, AuthProvider, BaseProvider, BusinessConfigProvider, BusinessMediaContext, BusinessMediaProvider, CartContext, CartProvider, CartWishlistRefreshContext, CartWishlistRefreshProvider, CustomPageConfigContext, CustomPageConfigProvider, CustomerConfigContext, CustomerConfigProvider, FilterContext, FilterProvider, HeaderFooterContext, HeaderFooterProvider, HomeConfigContext, HomeConfigHeroSliderContext, HomeConfigHeroSliderProvider, HomeConfigProvider, LiveSupportWidgetProvider, MenuCartContext, MenuCartProvider, MenuFilterContext, MenuFilterProvider, ModalProvider, ProductConfigContext, ProductConfigProvider, ProductDetailContext, ProductDetailProvider, ReferralCodeProvider, StorageContext, StorageProvider, ThemeEditContext, ThemeEditProvider, type ToastSupportApi, type ToastSupportOptions, ToastSupportProvider, WishlistContext, WishlistProvider, useAuth, useBusiness, useBusinessContext, useBusinessMedia, useCart, useCartWishlistRefresh, useCustomPageConfig, useCustomer, useFilter, useHeaderFooter, useHomeConfig, useHomeConfigHeroSlider, useLiveSupportWidget, useMenuCart, useMenuFilter, useModal, useProductConfig, useProductDetail, useReferralCode, useStorage, useThemeEdit, useToastSupport, useWishlist };
|
package/dist/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { AuthContext, AuthProvider, BaseProvider, BusinessConfigProvider, BusinessMediaContext, BusinessMediaProvider, CartContext, CartProvider, CartWishlistRefreshContext, CartWishlistRefreshProvider, CustomPageConfigContext, CustomPageConfigProvider,
|
|
1
|
+
export { AuthContext, AuthProvider, BaseProvider, BusinessConfigProvider, BusinessMediaContext, BusinessMediaProvider, CartContext, CartProvider, CartWishlistRefreshContext, CartWishlistRefreshProvider, CustomPageConfigContext, CustomPageConfigProvider, CustomerConfigContext, CustomerConfigProvider, FilterContext, FilterProvider, HeaderFooterContext, HeaderFooterProvider, HomeConfigContext, HomeConfigHeroSliderContext, HomeConfigHeroSliderProvider, HomeConfigProvider, LiveSupportWidgetProvider, MenuCartContext, MenuCartProvider, MenuFilterContext, MenuFilterProvider, ModalProvider, ProductConfigContext, ProductConfigProvider, ProductDetailContext, ProductDetailProvider, ReferralCodeProvider, StorageContext, StorageProvider, ThemeEditContext, ThemeEditProvider, ToastSupportProvider, WishlistContext, WishlistProvider, useAuth, useBusiness, useBusinessContext, useBusinessMedia, useCart, useCartWishlistRefresh, useCustomPageConfig, useCustomer, useFilter, useHeaderFooter, useHomeConfig, useHomeConfigHeroSlider, useLiveSupportWidget, useMenuCart, useMenuFilter, useModal, useProductConfig, useProductDetail, useReferralCode, useStorage, useThemeEdit, useToastSupport, useWishlist } from './chunk-E66B7ABK.js';
|
|
2
2
|
export { BusinessConfigContext } from './chunk-SP77KIKJ.js';
|
|
3
3
|
//# sourceMappingURL=index.js.map
|
|
4
4
|
//# sourceMappingURL=index.js.map
|
package/dist/provider.cjs
CHANGED
|
@@ -776,11 +776,42 @@ var ProductDetailContext = react.createContext({
|
|
|
776
776
|
waitProductLoading: true,
|
|
777
777
|
setSelectedVariants: () => null
|
|
778
778
|
});
|
|
779
|
+
function resolveSelectedVariants(productDetail, selected_variants) {
|
|
780
|
+
if (!productDetail?.variant) return [];
|
|
781
|
+
if (selected_variants !== null && selected_variants !== void 0) {
|
|
782
|
+
const selectedIds = String(selected_variants).split(",").map(Number).filter((id) => Number.isFinite(id));
|
|
783
|
+
return productDetail.variant?.map((vType) => {
|
|
784
|
+
const matchedVariant = vType.variants.find(
|
|
785
|
+
(variant) => selectedIds.includes(variant.id)
|
|
786
|
+
);
|
|
787
|
+
if (matchedVariant) {
|
|
788
|
+
return {
|
|
789
|
+
id: matchedVariant.id,
|
|
790
|
+
type: vType.variant_type.type,
|
|
791
|
+
value: matchedVariant.label
|
|
792
|
+
};
|
|
793
|
+
}
|
|
794
|
+
return null;
|
|
795
|
+
}).filter(Boolean) || [];
|
|
796
|
+
}
|
|
797
|
+
return productDetail.variant?.map((vType) => ({
|
|
798
|
+
id: vType.variants[0].id,
|
|
799
|
+
type: vType.variant_type.type,
|
|
800
|
+
value: vType.variants[0].label
|
|
801
|
+
})) || [];
|
|
802
|
+
}
|
|
779
803
|
var ProductDetailProvider = (props) => {
|
|
780
|
-
const
|
|
781
|
-
const [
|
|
782
|
-
|
|
783
|
-
|
|
804
|
+
const hasInitial = Boolean(props.initialProductDetail);
|
|
805
|
+
const [selectedVariants, setSelectedVariants] = react.useState(
|
|
806
|
+
() => hasInitial ? resolveSelectedVariants(
|
|
807
|
+
props.initialProductDetail,
|
|
808
|
+
props.selected_variants
|
|
809
|
+
) : []
|
|
810
|
+
);
|
|
811
|
+
const [productDetail, setProductDetail] = react.useState(
|
|
812
|
+
props.initialProductDetail ?? null
|
|
813
|
+
);
|
|
814
|
+
const [waitProductLoading, setWaitProductLoading] = react.useState(!hasInitial);
|
|
784
815
|
const selectUnselectVariants = (type, value, id) => {
|
|
785
816
|
setWaitProductLoading(true);
|
|
786
817
|
setSelectedVariants((prev) => {
|
|
@@ -800,35 +831,15 @@ var ProductDetailProvider = (props) => {
|
|
|
800
831
|
};
|
|
801
832
|
react.useEffect(() => {
|
|
802
833
|
(async () => {
|
|
803
|
-
|
|
834
|
+
if (!hasInitial) {
|
|
835
|
+
setWaitProductLoading(true);
|
|
836
|
+
}
|
|
804
837
|
try {
|
|
805
838
|
const productDetail2 = await api.api.getProductDetail(props.productId);
|
|
806
839
|
setProductDetail(productDetail2);
|
|
807
|
-
|
|
808
|
-
|
|
809
|
-
|
|
810
|
-
(variant) => selectedIds.includes(variant.id)
|
|
811
|
-
);
|
|
812
|
-
if (matchedVariant) {
|
|
813
|
-
return {
|
|
814
|
-
id: matchedVariant.id,
|
|
815
|
-
type: vType.variant_type.type,
|
|
816
|
-
value: matchedVariant.label
|
|
817
|
-
};
|
|
818
|
-
}
|
|
819
|
-
return null;
|
|
820
|
-
}).filter(Boolean);
|
|
821
|
-
setSelectedVariants(initialV || []);
|
|
822
|
-
} else {
|
|
823
|
-
let initialV = productDetail2.variant.map((vType) => {
|
|
824
|
-
return {
|
|
825
|
-
id: vType.variants[0].id,
|
|
826
|
-
type: vType.variant_type.type,
|
|
827
|
-
value: vType.variants[0].label
|
|
828
|
-
};
|
|
829
|
-
});
|
|
830
|
-
setSelectedVariants(initialV || []);
|
|
831
|
-
}
|
|
840
|
+
setSelectedVariants(
|
|
841
|
+
resolveSelectedVariants(productDetail2, props.selected_variants)
|
|
842
|
+
);
|
|
832
843
|
} catch (error) {
|
|
833
844
|
console.error("Error loading product details:", error);
|
|
834
845
|
} finally {
|
|
@@ -926,15 +937,23 @@ var HomeConfigContext = react.createContext({
|
|
|
926
937
|
loading: true
|
|
927
938
|
});
|
|
928
939
|
var HomeConfigProvider = (props) => {
|
|
929
|
-
const
|
|
940
|
+
const hasInitial = Boolean(props.initialThemeContent);
|
|
941
|
+
const [selectedConfig, setSelectedConfig] = react.useState(() => {
|
|
942
|
+
const data = props.initialThemeContent?.data;
|
|
943
|
+
return Array.isArray(data) ? data.filter((item) => item !== null && item !== void 0) : [];
|
|
944
|
+
});
|
|
930
945
|
const { token } = useThemeEdit();
|
|
931
946
|
const themeConfig = react.useContext(BusinessConfigContext);
|
|
932
|
-
const [themeConfigData, setThemeConfigData] = react.useState(
|
|
933
|
-
|
|
947
|
+
const [themeConfigData, setThemeConfigData] = react.useState(
|
|
948
|
+
props.initialThemeContent ?? {}
|
|
949
|
+
);
|
|
950
|
+
const [isInitialized, setIsInitialized] = react.useState(hasInitial);
|
|
934
951
|
const updateRef = react.useRef(false);
|
|
935
|
-
const [loading, setLoading] = react.useState(
|
|
952
|
+
const [loading, setLoading] = react.useState(!hasInitial);
|
|
936
953
|
const getThemeConfig = react.useCallback(async () => {
|
|
937
|
-
|
|
954
|
+
if (!hasInitial) {
|
|
955
|
+
setLoading(true);
|
|
956
|
+
}
|
|
938
957
|
try {
|
|
939
958
|
const response = await api$1.retrieveThemeContent(
|
|
940
959
|
themeConfig.theme.id,
|
|
@@ -954,7 +973,7 @@ var HomeConfigProvider = (props) => {
|
|
|
954
973
|
} finally {
|
|
955
974
|
setLoading(false);
|
|
956
975
|
}
|
|
957
|
-
}, [themeConfig.theme.id]);
|
|
976
|
+
}, [themeConfig.theme.id, hasInitial, props.page]);
|
|
958
977
|
const onUpdateThemeContent = react.useCallback(
|
|
959
978
|
async (configToUpdate = selectedConfig) => {
|
|
960
979
|
try {
|
|
@@ -1048,6 +1067,65 @@ var HomeConfigProvider = (props) => {
|
|
|
1048
1067
|
);
|
|
1049
1068
|
};
|
|
1050
1069
|
var useHomeConfig = () => react.useContext(HomeConfigContext);
|
|
1070
|
+
var HomeConfigHeroSliderContext = react.createContext({
|
|
1071
|
+
loading: true,
|
|
1072
|
+
heroSliderConfigData: [],
|
|
1073
|
+
onUpdateHeroSlider: () => null
|
|
1074
|
+
});
|
|
1075
|
+
var HomeConfigHeroSliderProvider = (props) => {
|
|
1076
|
+
const [loading, setLoading] = react.useState(true);
|
|
1077
|
+
const [heroSliderConfigData, setHeroSliderConfigData] = react.useState([]);
|
|
1078
|
+
const { token } = useThemeEdit();
|
|
1079
|
+
const themeConfig = react.useContext(BusinessConfigContext);
|
|
1080
|
+
const getHeroSliderConfig = async () => {
|
|
1081
|
+
setLoading(true);
|
|
1082
|
+
try {
|
|
1083
|
+
const response = await api$1.retrieveThemeContent(
|
|
1084
|
+
themeConfig.theme.id,
|
|
1085
|
+
"hero_slider"
|
|
1086
|
+
);
|
|
1087
|
+
setHeroSliderConfigData(response.data);
|
|
1088
|
+
} finally {
|
|
1089
|
+
setLoading(false);
|
|
1090
|
+
}
|
|
1091
|
+
};
|
|
1092
|
+
react.useEffect(() => {
|
|
1093
|
+
getHeroSliderConfig();
|
|
1094
|
+
}, []);
|
|
1095
|
+
const onUpdateHeroSlider = async (configToUpdate) => {
|
|
1096
|
+
setLoading(true);
|
|
1097
|
+
try {
|
|
1098
|
+
const body = {
|
|
1099
|
+
data: configToUpdate,
|
|
1100
|
+
slug: "hero_slider",
|
|
1101
|
+
platform: typeof window !== "undefined" ? "website" : "app"
|
|
1102
|
+
};
|
|
1103
|
+
await api$1.updateThemeContent(
|
|
1104
|
+
body,
|
|
1105
|
+
themeConfig?.theme?.id,
|
|
1106
|
+
"hero_slider",
|
|
1107
|
+
token
|
|
1108
|
+
);
|
|
1109
|
+
const updatedResponse = await api$1.retrieveThemeContent(
|
|
1110
|
+
themeConfig.theme.id,
|
|
1111
|
+
"hero_slider"
|
|
1112
|
+
);
|
|
1113
|
+
setHeroSliderConfigData(updatedResponse.data);
|
|
1114
|
+
} catch (error) {
|
|
1115
|
+
console.error("Error updating theme content:", error);
|
|
1116
|
+
} finally {
|
|
1117
|
+
setLoading(false);
|
|
1118
|
+
}
|
|
1119
|
+
};
|
|
1120
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
1121
|
+
HomeConfigHeroSliderContext.Provider,
|
|
1122
|
+
{
|
|
1123
|
+
value: { loading, heroSliderConfigData, onUpdateHeroSlider },
|
|
1124
|
+
children: props.children
|
|
1125
|
+
}
|
|
1126
|
+
);
|
|
1127
|
+
};
|
|
1128
|
+
var useHomeConfigHeroSlider = () => react.useContext(HomeConfigHeroSliderContext);
|
|
1051
1129
|
var CustomPageConfigContext = react.createContext({
|
|
1052
1130
|
selectedConfig: [],
|
|
1053
1131
|
setSelectedConfig: () => null,
|
|
@@ -1178,80 +1256,17 @@ var CustomPageConfigProvider = (props) => {
|
|
|
1178
1256
|
onUpdateHeroSlider,
|
|
1179
1257
|
loading
|
|
1180
1258
|
},
|
|
1181
|
-
children:
|
|
1259
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
1260
|
+
HomeConfigHeroSliderContext.Provider,
|
|
1261
|
+
{
|
|
1262
|
+
value: { loading, heroSliderConfigData, onUpdateHeroSlider },
|
|
1263
|
+
children: props.children
|
|
1264
|
+
}
|
|
1265
|
+
)
|
|
1182
1266
|
}
|
|
1183
1267
|
);
|
|
1184
1268
|
};
|
|
1185
1269
|
var useCustomPageConfig = () => react.useContext(CustomPageConfigContext);
|
|
1186
|
-
var HomeConfigHeroSliderContext = react.createContext({
|
|
1187
|
-
loading: true,
|
|
1188
|
-
heroSliderConfigData: [],
|
|
1189
|
-
onUpdateHeroSlider: () => null
|
|
1190
|
-
});
|
|
1191
|
-
var HomeConfigHeroSliderProvider = (props) => {
|
|
1192
|
-
const [loading, setLoading] = react.useState(true);
|
|
1193
|
-
const [heroSliderConfigData, setHeroSliderConfigData] = react.useState([]);
|
|
1194
|
-
const { token } = useThemeEdit();
|
|
1195
|
-
const themeConfig = react.useContext(BusinessConfigContext);
|
|
1196
|
-
const getHeroSliderConfig = async () => {
|
|
1197
|
-
setLoading(true);
|
|
1198
|
-
try {
|
|
1199
|
-
const response = await api$1.retrieveThemeContent(
|
|
1200
|
-
themeConfig.theme.id,
|
|
1201
|
-
"hero_slider"
|
|
1202
|
-
);
|
|
1203
|
-
setHeroSliderConfigData(response.data);
|
|
1204
|
-
} finally {
|
|
1205
|
-
setLoading(false);
|
|
1206
|
-
}
|
|
1207
|
-
};
|
|
1208
|
-
react.useEffect(() => {
|
|
1209
|
-
getHeroSliderConfig();
|
|
1210
|
-
}, []);
|
|
1211
|
-
const onUpdateHeroSlider = async (configToUpdate) => {
|
|
1212
|
-
setLoading(true);
|
|
1213
|
-
try {
|
|
1214
|
-
const body = {
|
|
1215
|
-
data: configToUpdate,
|
|
1216
|
-
slug: "hero_slider",
|
|
1217
|
-
platform: typeof window !== "undefined" ? "website" : "app"
|
|
1218
|
-
};
|
|
1219
|
-
await api$1.updateThemeContent(
|
|
1220
|
-
body,
|
|
1221
|
-
themeConfig?.theme?.id,
|
|
1222
|
-
"hero_slider",
|
|
1223
|
-
token
|
|
1224
|
-
);
|
|
1225
|
-
const updatedResponse = await api$1.retrieveThemeContent(
|
|
1226
|
-
themeConfig.theme.id,
|
|
1227
|
-
"hero_slider"
|
|
1228
|
-
);
|
|
1229
|
-
setHeroSliderConfigData(updatedResponse.data);
|
|
1230
|
-
} catch (error) {
|
|
1231
|
-
console.error("Error updating theme content:", error);
|
|
1232
|
-
} finally {
|
|
1233
|
-
setLoading(false);
|
|
1234
|
-
}
|
|
1235
|
-
};
|
|
1236
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
1237
|
-
HomeConfigHeroSliderContext.Provider,
|
|
1238
|
-
{
|
|
1239
|
-
value: { loading, heroSliderConfigData, onUpdateHeroSlider },
|
|
1240
|
-
children: props.children
|
|
1241
|
-
}
|
|
1242
|
-
);
|
|
1243
|
-
};
|
|
1244
|
-
var useHomeConfigHeroSlider = () => react.useContext(HomeConfigHeroSliderContext);
|
|
1245
|
-
var CustomPageHeroSliderProvider = (props) => {
|
|
1246
|
-
const { loading, heroSliderConfigData, onUpdateHeroSlider } = useCustomPageConfig();
|
|
1247
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
1248
|
-
HomeConfigHeroSliderContext.Provider,
|
|
1249
|
-
{
|
|
1250
|
-
value: { loading, heroSliderConfigData, onUpdateHeroSlider },
|
|
1251
|
-
children: props.children
|
|
1252
|
-
}
|
|
1253
|
-
);
|
|
1254
|
-
};
|
|
1255
1270
|
var WishlistContext = react.createContext({
|
|
1256
1271
|
wishlistItems: [],
|
|
1257
1272
|
addToWishlist: () => null,
|
|
@@ -1921,7 +1936,6 @@ exports.CartWishlistRefreshContext = CartWishlistRefreshContext;
|
|
|
1921
1936
|
exports.CartWishlistRefreshProvider = CartWishlistRefreshProvider;
|
|
1922
1937
|
exports.CustomPageConfigContext = CustomPageConfigContext;
|
|
1923
1938
|
exports.CustomPageConfigProvider = CustomPageConfigProvider;
|
|
1924
|
-
exports.CustomPageHeroSliderProvider = CustomPageHeroSliderProvider;
|
|
1925
1939
|
exports.CustomerConfigContext = CustomerConfigContext;
|
|
1926
1940
|
exports.CustomerConfigProvider = CustomerConfigProvider;
|
|
1927
1941
|
exports.FilterContext = FilterContext;
|