tabexseriescomponents 0.0.73 → 0.0.74

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.
Files changed (211) hide show
  1. package/dist/index.cjs.js +337 -225
  2. package/dist/index.esm.js +343 -231
  3. package/dist/index.umd.js +340 -229
  4. package/package.json +1 -1
  5. package/src-aya/Contexts/LanguageContext.jsx +0 -369
  6. package/src-aya/Contexts/ProductsCardsSectionContext.jsx +0 -28
  7. package/src-aya/StylesJS/Customstyles.js +0 -235
  8. package/src-aya/TabexComponents/Cards/Card20/Card20.jsx +0 -288
  9. package/src-aya/TabexComponents/Cards/Card21/Card21.jsx +0 -386
  10. package/src-aya/TabexComponents/Cards/Card22/Card22.jsx +0 -289
  11. package/src-aya/TabexComponents/Cards/Card23/Card23.jsx +0 -355
  12. package/src-aya/TabexComponents/Cards/CardBadgeSlideFromTop/CardBadgeSlideFromTop.jsx +0 -393
  13. package/src-aya/TabexComponents/Cards/CategoryCardwithhoveraction/CategoryCardwithhoveraction.jsx +0 -168
  14. package/src-aya/TabexComponents/Cards/Categorycard_fullimage/Categorycard_fullimage.jsx +0 -243
  15. package/src-aya/TabexComponents/Cards/Categorycard_slidebgscaled/Categorycard_slidebgscaled.jsx +0 -202
  16. package/src-aya/TabexComponents/Cards/Categorycard_with_trianglebg/Categorycard_with_trianglebg.jsx +0 -174
  17. package/src-aya/TabexComponents/Cards/Categorycard_with_twolinestransition/Categorycard_with_twolinestransition.jsx +0 -182
  18. package/src-aya/TabexComponents/Cards/Categorycard_withshapes/Categorycard_withshapes.jsx +0 -158
  19. package/src-aya/TabexComponents/Cards/Categorycard_withtext/Categorycard_withtext.jsx +0 -189
  20. package/src-aya/TabexComponents/Cards/Classiccategorycard/Classiccategorycard.jsx +0 -150
  21. package/src-aya/TabexComponents/Cards/Horizontalcard/Horizontalcard.jsx +0 -271
  22. package/src-aya/TabexComponents/Cards/MenuCard/MenuCard.jsx +0 -538
  23. package/src-aya/TabexComponents/Cards/ModernCardWithQuantityButton/ModernCardWithQuantityButton.jsx +0 -491
  24. package/src-aya/TabexComponents/Cards/ModernProductCard/ModernProductCard.jsx +0 -469
  25. package/src-aya/TabexComponents/Cards/Productcard6/Productcard6.jsx +0 -257
  26. package/src-aya/TabexComponents/Cards/Productcard7/Productcard7.jsx +0 -272
  27. package/src-aya/TabexComponents/Cards/Productcard_animatedbuttons/Productcard_animatedbuttons.jsx +0 -295
  28. package/src-aya/TabexComponents/Cards/Productcard_with_circularbg/Productcard_with_circularbg.jsx +0 -289
  29. package/src-aya/TabexComponents/Cards/Productcard_with_circularhover/Productcard_with_circularhover.jsx +0 -315
  30. package/src-aya/TabexComponents/Cards/Productcard_with_slideanimation/Productcard_with_slideanimation.jsx +0 -288
  31. package/src-aya/TabexComponents/Cards/Productcard_with_variants/Productcard_with_variants.jsx +0 -328
  32. package/src-aya/TabexComponents/Cards/Productcard_with_zoominonhover/Productcard_with_zoominonhover.jsx +0 -509
  33. package/src-aya/TabexComponents/Cards/Productcarddefault/Productcarddefault.jsx +0 -272
  34. package/src-aya/TabexComponents/Cards/Productccard_with_imageontopleft/Productccard_with_imageontopleft.jsx +0 -286
  35. package/src-aya/TabexComponents/Cards/Prouductcard_with_zoomhover/Prouductcard_with_zoomhover.jsx +0 -133
  36. package/src-aya/TabexComponents/Cards/Simplecategorycardwithtextbelow/Simplecategorycardwithtextbelow.jsx +0 -125
  37. package/src-aya/TabexComponents/Cards/Simpleproductcard/Simpleproductcard.jsx +0 -292
  38. package/src-aya/TabexComponents/Cards/StylishProductCard/StylishProductCard.jsx +0 -336
  39. package/src-aya/TabexComponents/Footer/Allinonefooter/Allinonefooter.jsx +0 -429
  40. package/src-aya/TabexComponents/Footer/Footer1/Footer1.jsx +0 -416
  41. package/src-aya/TabexComponents/Footer/Footer2/Footer2.jsx +0 -381
  42. package/src-aya/TabexComponents/Footer/Footer3/Footer3.jsx +0 -302
  43. package/src-aya/TabexComponents/Footer/Footer4/Footer4.jsx +0 -437
  44. package/src-aya/TabexComponents/Footer/Footer5/Footer5.jsx +0 -488
  45. package/src-aya/TabexComponents/Footer/Footer6/Footer6.jsx +0 -286
  46. package/src-aya/TabexComponents/Footer/Footer7/Footer7.jsx +0 -370
  47. package/src-aya/TabexComponents/Footer/Simplefooter/Simplefooter.jsx +0 -231
  48. package/src-aya/TabexComponents/Generalfiles/images/egyptflag.png +0 -0
  49. package/src-aya/TabexComponents/Generalfiles/images/noimage.png +0 -0
  50. package/src-aya/TabexComponents/Generalfiles/images/payment/cod.png +0 -0
  51. package/src-aya/TabexComponents/Generalfiles/images/payment/fawry.png +0 -0
  52. package/src-aya/TabexComponents/Generalfiles/images/payment/payment.png +0 -0
  53. package/src-aya/TabexComponents/Generalfiles/images/payment/paymob.png +0 -0
  54. package/src-aya/TabexComponents/Generalfiles/images/payment/paypal.png +0 -0
  55. package/src-aya/TabexComponents/Generalfiles/images/payment/visa.png +0 -0
  56. package/src-aya/TabexComponents/Generalfiles/images/shoppingcart.png +0 -0
  57. package/src-aya/TabexComponents/Generalfiles/images/tabexlogo.png +0 -0
  58. package/src-aya/TabexComponents/Generalfiles/images/unknownmaleuser.png +0 -0
  59. package/src-aya/TabexComponents/Generalfiles/images/usflag.png +0 -0
  60. package/src-aya/TabexComponents/Generalfiles/images/whatsapp.png +0 -0
  61. package/src-aya/TabexComponents/Headers/CTAHeader/CTAHeader.jsx +0 -822
  62. package/src-aya/TabexComponents/Headers/CategoryFeaturingHeader/CategoryFeaturingHeader.jsx +0 -841
  63. package/src-aya/TabexComponents/Headers/ClassicHeader/ClassicHeader.jsx +0 -677
  64. package/src-aya/TabexComponents/Headers/Gotoheader/Gotoheader.jsx +0 -707
  65. package/src-aya/TabexComponents/Headers/Header4/Header4.jsx +0 -614
  66. package/src-aya/TabexComponents/Headers/Header6/Header6.jsx +0 -631
  67. package/src-aya/TabexComponents/Headers/Header8/Header8.jsx +0 -815
  68. package/src-aya/TabexComponents/Headers/HeaderRestaurant/HeaderRestaurant.jsx +0 -709
  69. package/src-aya/TabexComponents/Headers/Header_threesectionslogocentered/Header_threesectionslogocentered.jsx +0 -770
  70. package/src-aya/TabexComponents/Headers/Headerresponsive/Headerresponsive.jsx +0 -669
  71. package/src-aya/TabexComponents/Headers/HeaderwithContactinfo/HeaderwithContactinfo.jsx +0 -919
  72. package/src-aya/TabexComponents/Headers/Modernheader/Modernheader.jsx +0 -687
  73. package/src-aya/TabexComponents/Headers/StylishHeader/StylishHeader.jsx +0 -813
  74. package/src-aya/TabexComponents/Headers/Subheader/Subheader.jsx +0 -248
  75. package/src-aya/TabexComponents/Headers/ThreeTieredHeader/ThreeTieredHeader.jsx +0 -926
  76. package/src-aya/TabexComponents/Sections/BackgroundImages/BacgroundThreeImageWithCategories/BacgroundThreeImageWithCategories.jsx +0 -168
  77. package/src-aya/TabexComponents/Sections/BackgroundImages/BackgroundFiveImageStructure/BackgroundFiveImageStructure.jsx +0 -346
  78. package/src-aya/TabexComponents/Sections/BackgroundImages/BackgroundImageWithTopContent/BackgroundImageWithTopContent.jsx +0 -304
  79. package/src-aya/TabexComponents/Sections/BackgroundImages/Backgroundimage1/Backgroundimage1.jsx +0 -312
  80. package/src-aya/TabexComponents/Sections/BackgroundImages/Backgroundimage_with_toppill/Backgroundimage_with_toppill.jsx +0 -271
  81. package/src-aya/TabexComponents/Sections/BackgroundImages/BackgroundimageandTextsection/BackgroundimageandTextsection.jsx +0 -130
  82. package/src-aya/TabexComponents/Sections/BackgroundImages/Bgimagewithsearchbar/Bgimagewithsearchbar.jsx +0 -200
  83. package/src-aya/TabexComponents/Sections/BackgroundImages/Section_with_rightbgcont/Section_with_rightbgcont.jsx +0 -153
  84. package/src-aya/TabexComponents/Sections/BackgroundImages/Threebgimages/Threebgimages.jsx +0 -295
  85. package/src-aya/TabexComponents/Sections/BackgroundImages/Twobgimages/Twobgimages.jsx +0 -409
  86. package/src-aya/TabexComponents/Sections/Cards/CardsSection/CardsSection.jsx +0 -768
  87. package/src-aya/TabexComponents/Sections/Cards/CardsSection2/CardsSection2.jsx +0 -483
  88. package/src-aya/TabexComponents/Sections/Cards/CardsSection7/CardsSection7.jsx +0 -663
  89. package/src-aya/TabexComponents/Sections/Cards/CardsSection8/CardsSection8.js +0 -419
  90. package/src-aya/TabexComponents/Sections/Cards/Cardsection10/Arrows.js +0 -94
  91. package/src-aya/TabexComponents/Sections/Cards/Cardsection10/Cardsection10.js +0 -741
  92. package/src-aya/TabexComponents/Sections/Cards/Cardsection100/Cardsection10.js +0 -430
  93. package/src-aya/TabexComponents/Sections/Cards/Cardsection100/burger.jpg +0 -0
  94. package/src-aya/TabexComponents/Sections/Cards/ElegantCategoriesCardSection/ElegantCategoriesCardSection.jsx +0 -473
  95. package/src-aya/TabexComponents/Sections/Cards/ModernCardsSection/ModernCardsSection.jsx +0 -523
  96. package/src-aya/TabexComponents/Sections/Cards/Sixverticalcardssection/Sixverticalcardssection.jsx +0 -502
  97. package/src-aya/TabexComponents/Sections/Slideshow/AboutSection/AboutSection.jsx +0 -276
  98. package/src-aya/TabexComponents/Sections/Slideshow/Backgroundimage_with_topcircle/Backgroundimage_with_topcircle.jsx +0 -160
  99. package/src-aya/TabexComponents/Sections/Slideshow/Freetextsection/Freetextsection.jsx +0 -176
  100. package/src-aya/TabexComponents/Sections/Slideshow/Image_with_leftwords/Image_with_leftwords.jsx +0 -139
  101. package/src-aya/TabexComponents/Sections/Slideshow/Image_with_rightwords/Image_with_rightwords.jsx +0 -140
  102. package/src-aya/TabexComponents/Sections/Slideshow/Servicesection/Servicesection.jsx +0 -201
  103. package/src-aya/TabexComponents/Sections/Slideshow/ServicesectionCenteredcards/ServicesectionCenteredcards.jsx +0 -125
  104. package/src-aya/TabexComponents/Sections/Slideshow/Slideshow_with_rotatedsquare/Slideshow_with_rotatedsquare.jsx +0 -226
  105. package/src-aya/TabexComponents/Sections/Slideshow/Slideshow_with_squarebg/Slideshow_with_squarebg.jsx +0 -149
  106. package/src-aya/TabexComponents/Sections/Slideshow/Slideshowdifferentanimations/Slideshowdifferentanimations.jsx +0 -139
  107. package/src-aya/TabexComponents/Sections/Slideshow/Slideshowfade/Slideshowfade.jsx +0 -215
  108. package/src-aya/TabexComponents/Sections/Slideshow/Slideshowslide/Slideshowslide.jsx +0 -202
  109. package/src-aya/TabexComponents/Sections/Slideshow/Slideshowzoom/Arrow.js +0 -91
  110. package/src-aya/TabexComponents/Sections/Slideshow/Slideshowzoom/Slideshowzoom.jsx +0 -277
  111. package/src-aya/TabexComponents/StaticPages/AccountInformation/AccountInformation.jsx +0 -260
  112. package/src-aya/TabexComponents/StaticPages/CartSlider/CartSlider.jsx +0 -458
  113. package/src-aya/TabexComponents/StaticPages/Categoriesdropdown/Categoriesdropdown.jsx +0 -216
  114. package/src-aya/TabexComponents/StaticPages/Checkout/Checkout.jsx +0 -1220
  115. package/src-aya/TabexComponents/StaticPages/Filter/Filter.jsx +0 -542
  116. package/src-aya/TabexComponents/StaticPages/Login/FacebookLoginButton.jsx +0 -51
  117. package/src-aya/TabexComponents/StaticPages/Login/GoogleLoginButton.jsx +0 -35
  118. package/src-aya/TabexComponents/StaticPages/Login/Login.jsx +0 -283
  119. package/src-aya/TabexComponents/StaticPages/OrderSuccess/OrderSuccess.js +0 -192
  120. package/src-aya/TabexComponents/StaticPages/Ordershistory/Ordershistory.jsx +0 -1271
  121. package/src-aya/TabexComponents/StaticPages/Policies/Policies.jsx +0 -353
  122. package/src-aya/TabexComponents/StaticPages/Productinfo/Iteminfo.js +0 -1287
  123. package/src-aya/TabexComponents/StaticPages/Productinfo/Productinfo.js +0 -710
  124. package/src-aya/TabexComponents/StaticPages/Productinfo/Productinfo.jsx +0 -1457
  125. package/src-aya/TabexComponents/StaticPages/Productinfo/Serviceinfo.js +0 -804
  126. package/src-aya/TabexComponents/StaticPages/Searchlist/Searchlist.jsx +0 -206
  127. package/src-aya/TabexComponents/StaticPages/Signup/CustomerInformationForm.jsx +0 -791
  128. package/src-aya/TabexComponents/StaticPages/Signup/Signup.jsx +0 -155
  129. package/src-aya/TabexComponents/StaticPages/Staticpagesrouter/Staticpagesrouter.jsx +0 -279
  130. package/src-aya/TabexComponents/StaticPages/Viewcart/Viewcart.jsx +0 -1048
  131. package/src-aya/TabexComponents/StaticPages/Wishlist/Wishlist.jsx +0 -606
  132. package/src-aya/assets/images/appstore.png +0 -0
  133. package/src-aya/assets/images/cod.png +0 -0
  134. package/src-aya/assets/images/egyptflag.png +0 -0
  135. package/src-aya/assets/images/fawry.png +0 -0
  136. package/src-aya/assets/images/googleplay.png +0 -0
  137. package/src-aya/assets/images/payment.png +0 -0
  138. package/src-aya/assets/images/paymob.png +0 -0
  139. package/src-aya/assets/images/paypal.png +0 -0
  140. package/src-aya/assets/images/shoppingcart.png +0 -0
  141. package/src-aya/assets/images/usflag.png +0 -0
  142. package/src-aya/assets/images/visa.png +0 -0
  143. package/src-aya/assets/images/whatsapp.png +0 -0
  144. package/src-aya/button.jsx +0 -40
  145. package/src-aya/index.jsx +0 -222
  146. package/src-aya/styles/Home.module.css +0 -129
  147. package/src-aya/styles/cards/Categorcycard_fullimage.module.css +0 -10
  148. package/src-aya/styles/cards/Categorycard_slidebgscaled.module.css +0 -73
  149. package/src-aya/styles/cards/Categorycard_withshapes.module.css +0 -189
  150. package/src-aya/styles/cards/ModernCardWithQuantityButton.module.css +0 -34
  151. package/src-aya/styles/cards/Productcard6.module.css +0 -9
  152. package/src-aya/styles/cards/Productcard_with_circularbg.module.css +0 -137
  153. package/src-aya/styles/cards/Productccard_with_zoominonhover.module.css +0 -51
  154. package/src-aya/styles/cards/Prouductcard_with_zoomhover.module.css +0 -61
  155. package/src-aya/styles/cards/categorycard.module.css +0 -85
  156. package/src-aya/styles/cards/categorycard3.module.css +0 -50
  157. package/src-aya/styles/cards/categorycardwithtext.module.css +0 -40
  158. package/src-aya/styles/cards/productcard_animatedbuttons.module.css +0 -127
  159. package/src-aya/styles/cards/productcard_with_textonhover.module.css +0 -12
  160. package/src-aya/styles/cards/productccard_with_imageontopleft.module.css +0 -85
  161. package/src-aya/styles/general/bootstrap.css +0 -4562
  162. package/src-aya/styles/general/dropdown.css +0 -206
  163. package/src-aya/styles/general/editorbardropdown.module.css +0 -94
  164. package/src-aya/styles/general/filter.module.css +0 -108
  165. package/src-aya/styles/general/form.module.css +0 -273
  166. package/src-aya/styles/general/general.module.css +0 -861
  167. package/src-aya/styles/general/image-gallery.css +0 -481
  168. package/src-aya/styles/general/react-accessible-accordion.module.css +0 -52
  169. package/src-aya/styles/general/react-phone-input-2.module.css +0 -927
  170. package/src-aya/styles/general/scrollbtn.module.css +0 -22
  171. package/src-aya/styles/general/slick.module.css +0 -166
  172. package/src-aya/styles/general/tabs.module.css +0 -110
  173. package/src-aya/styles/general/workplaceeditor.module.css +0 -328
  174. package/src-aya/styles/globals.css +0 -26
  175. package/src-aya/styles/headers/CTAHeader.module.css +0 -40
  176. package/src-aya/styles/headers/CategoryFeaturingHeader.module.css +0 -61
  177. package/src-aya/styles/headers/Gotoheader.module.css +0 -91
  178. package/src-aya/styles/headers/Header7.module.css +0 -50
  179. package/src-aya/styles/headers/Header_threesectionslogocentered.module.css +0 -96
  180. package/src-aya/styles/headers/Sideheader.module.css +0 -108
  181. package/src-aya/styles/headers/classicheader.module.css +0 -16
  182. package/src-aya/styles/headers/classicheaderstyles.module.css +0 -16
  183. package/src-aya/styles/headers/dropdown.css +0 -0
  184. package/src-aya/styles/headers/header4.module.css +0 -175
  185. package/src-aya/styles/headers/header5.module.css +0 -30
  186. package/src-aya/styles/headers/header6.module.css +0 -102
  187. package/src-aya/styles/headers/header_contactinfo.module.css +0 -66
  188. package/src-aya/styles/headers/headerresturant.module.css +0 -89
  189. package/src-aya/styles/headers/modernheader.module.css +0 -72
  190. package/src-aya/styles/headers/stylishheader.module.css +0 -24
  191. package/src-aya/styles/headers/subheader.module.css +0 -114
  192. package/src-aya/styles/headers/threetieredheader.module.css +0 -91
  193. package/src-aya/styles/sections/BackgroundImageWithTopContent.css +0 -4
  194. package/src-aya/styles/sections/Backgroundimage1.module.css +0 -17
  195. package/src-aya/styles/sections/Backgroundimage_with_topcircle.module.css +0 -28
  196. package/src-aya/styles/sections/Section_with_rightbgcont.module.css +0 -49
  197. package/src-aya/styles/sections/Slideshow_with_rotatedsquare.module.css +0 -35
  198. package/src-aya/styles/sections/Slideshow_with_squarebg.module.css +0 -39
  199. package/src-aya/styles/staticpages/accordion.module.css +0 -9
  200. package/src-aya/styles/staticpages/cart.module.css +0 -108
  201. package/src-aya/styles/staticpages/dropdown.css +0 -196
  202. package/src-aya/styles/staticpages/filter.module.css +0 -139
  203. package/src-aya/styles/staticpages/image-gallery.css +0 -481
  204. package/src-aya/styles/staticpages/login.module.css +0 -113
  205. package/src-aya/styles/staticpages/productinfo.module.css +0 -54
  206. package/src-aya/styles/staticpages/shop.module.css +0 -191
  207. package/src-aya/styles/staticpages/signup.module.css +0 -206
  208. package/src-aya/styles/staticpages/staticroutersidenav.module.css +0 -129
  209. package/src-aya/styles/staticpages/viewcart.module.css +0 -129
  210. package/src-aya/styles/staticpages/wishlist.module.css +0 -29
  211. package/src-aya/styles.rar +0 -0
@@ -1,710 +0,0 @@
1
- //productidprops
2
- import React, { useEffect, useState, useContext } from 'react';
3
- import generalstyles from '../../Generalfiles/CSS_GENERAL/general.module.css';
4
- import productinfostyles from './productinfo.module.css';
5
- import { serverbaselink, instapikey } from '../../../Env_Variables';
6
- import Pagepreloader from '../Pagepreloader/Pagepreloader';
7
- import { ScrollMenu, VisibilityContext } from 'react-horizontal-scrolling-menu';
8
- import { LeftArrow, RightArrow, onWheel } from '../../Sections/Cards/CardsSection/Arrows';
9
- import { LanguageContext } from '../../../LanguageContext';
10
- import { FetchingContext } from '../../../FetchingContext';
11
- import { FetchRelatedProducts_API } from '../../../API/API';
12
- import { useMutation, useQuery, useQueryClient } from 'react-query';
13
- import { NotificationManager } from 'react-notifications';
14
- import ImageGallery from 'react-image-gallery';
15
- import '../../Generalfiles/CSS_GENERAL/image-gallery.css';
16
- import { WebsiteDesignWorkPlaceContext } from '../../../../WebsiteDesignWorkPlaceContext';
17
- import { ProductsCardsSectionContext_Provider } from '../../Sections/Cards/ProductsCardsSectionContext';
18
- import { MdOutlineShoppingCart } from 'react-icons/md';
19
- import CircularProgress from 'react-cssfx-loading/lib/CircularProgress';
20
- import { css } from 'glamor';
21
- import ShowMoreText from 'react-show-more-text';
22
- import { Page_Template_Fetch_API } from '../../../../../API/WebsiteDesign_API';
23
- import { useParams } from 'react-router';
24
- import { TemplateRoutingContext } from '../../../TemplateRoutingContext';
25
- import { IKImage } from 'imagekitio-react';
26
- import { FaShippingFast } from 'react-icons/fa';
27
- import { FiMapPin } from 'react-icons/fi';
28
- import { MdOutlinePolicy, MdOutlineLocalShipping } from 'react-icons/md';
29
- import { HiOutlinePhone } from 'react-icons/hi';
30
- import { RiSecurePaymentLine } from 'react-icons/ri';
31
- import { AiFillStar, AiOutlineStar } from 'react-icons/ai';
32
- import { FiShoppingBag, FiShoppingCart } from 'react-icons/fi';
33
- import { FaRegHeart, FaHeart } from 'react-icons/fa';
34
- import { CgShoppingBag } from 'react-icons/cg';
35
- import { BsBag } from 'react-icons/bs';
36
- import { IoBagHandleOutline } from 'react-icons/io5';
37
- import Iteminfo from './Iteminfo';
38
- import Serviceinfo from './Serviceinfo';
39
-
40
- // import "react-image-gallery/styles/css/image-gallery.css";
41
-
42
- const Productinfo = (props) => {
43
- const queryClient = useQueryClient();
44
- const { productidparam } = useParams();
45
- const { routingcountext, StaticPagesLinksContext } = useContext(TemplateRoutingContext);
46
- const { lang, langdetect } = useContext(LanguageContext);
47
- const {
48
- fetch_inst_tabex_websitetemplatesQueryContext,
49
- setpageindexcontext,
50
- ProjectOpenrcTypeContext,
51
- TemplateIdContext,
52
- INSTAPIKEYCONTEXT,
53
- // PageTemplateFetcherQueryContext,
54
- // CurrentPageIdContext,
55
- setCurrentPageIdContext,
56
- pageindexcontext,
57
- StatePagePropertiesContext,
58
- TabexSectionsComponentsContext,
59
- } = useContext(WebsiteDesignWorkPlaceContext);
60
- const {
61
- FetchQueriesEngineContext,
62
- setFetchQueriesEngineContext,
63
- fetchProductInfoQueryContext,
64
- fetchproductinfoObjContext,
65
- setfetchproductinfoObjContext,
66
- AddtoCartMutationContext,
67
- ProductIdProdutInfoModalContext,
68
- AddtoCartContext,
69
- fetchAuthorizationQueryContext,
70
- addtofavoritescontext,
71
- } = useContext(FetchingContext);
72
- const [sectionproperties, setsectionproperties] = useState('');
73
- const [CurrentPageId, setCurrentPageId] = useState('');
74
- const [RelatedProductsTagid, setRelatedProductsTagid] = useState('');
75
- const { collectionidparams } = useParams();
76
- useEffect(() => {
77
- if (Object.keys(StatePagePropertiesContext).length != 0) {
78
- var secpropobj = {};
79
- StatePagePropertiesContext.pageobj != undefined &&
80
- StatePagePropertiesContext.pageobj.pageproperties != undefined &&
81
- StatePagePropertiesContext.pageobj.pageproperties.forEach(function (arrayItem, arrayindex) {
82
- secpropobj[arrayItem.property_css_name] = arrayItem.property_value;
83
- });
84
-
85
- setsectionproperties({ ...secpropobj });
86
- }
87
- }, [StatePagePropertiesContext]);
88
- const PageTemplateFetcherQuery = useQuery(
89
- [ProjectOpenrcTypeContext == 'workplace' ? 'FetchPages_API' + TemplateIdContext + CurrentPageId : 'FetchPages_API' + INSTAPIKEYCONTEXT + CurrentPageId],
90
- () =>
91
- Page_Template_Fetch_API(
92
- ProjectOpenrcTypeContext == 'workplace'
93
- ? { templateid: TemplateIdContext, pageid: CurrentPageId }
94
- : { INSTAPIKEYCONTEXT: INSTAPIKEYCONTEXT, srctypefrom: 'subdomain', pageid: CurrentPageId },
95
- ),
96
- {
97
- keepPreviousData: true,
98
- staleTime: Infinity,
99
- enabled: CurrentPageId.length != 0 ? true : false,
100
- },
101
- );
102
- const FetchRelatedProductsQuery = useQuery([' FetchRelatedProducts_API' + RelatedProductsTagid], () => FetchRelatedProducts_API({ tagid: RelatedProductsTagid, productid: '' }), {
103
- keepPreviousData: true,
104
- staleTime: Infinity,
105
- enabled: fetchproductinfoObjContext.productid != undefined && fetchproductinfoObjContext.productid.length != 0 && RelatedProductsTagid.length != 0 ? true : false,
106
- });
107
- useEffect(() => {
108
- var cartindex = fetch_inst_tabex_websitetemplatesQueryContext.data.data.template.pages.findIndex((x) => x.staticpageid == '6218bccb810ae');
109
- if (cartindex >= 0) {
110
- setCurrentPageId(fetch_inst_tabex_websitetemplatesQueryContext.data.data.template.pages[cartindex].pageid);
111
- if (props.srcfromprops != 'templatedraftrouter') {
112
- setpageindexcontext(cartindex);
113
- setCurrentPageIdContext(fetch_inst_tabex_websitetemplatesQueryContext.data.data.template.pages[cartindex].pageid);
114
- }
115
- }
116
- }, [fetch_inst_tabex_websitetemplatesQueryContext.dataUpdatedAt]);
117
- useEffect(() => {
118
- if (PageTemplateFetcherQuery.isSuccess) {
119
- if (PageTemplateFetcherQuery.data.data.pageobj.pageproperties != undefined) {
120
- var secpropobj = {};
121
- PageTemplateFetcherQuery.data.data.pageobj.pageproperties.forEach(function (arrayItem, arrayindex) {
122
- secpropobj[arrayItem.property_css_name] = arrayItem.property_value;
123
- });
124
- setsectionproperties({ ...secpropobj });
125
- }
126
- }
127
- }, [PageTemplateFetcherQuery.dataUpdatedAt, PageTemplateFetcherQuery.isSuccess]);
128
- const [productimagesarray, setproductimagesarray] = useState([]);
129
- const [addtocardpayloadobj, setaddtocardpayloadobj] = useState({
130
- functype: 'add',
131
- productid: '',
132
- variantid: '',
133
- quantity: 1,
134
- });
135
- const [variantindexcompleted, setvariantindexcompleted] = useState('');
136
- useEffect(() => {
137
- if (productidparam == undefined) {
138
- productidassigner(ProductIdProdutInfoModalContext);
139
- } else {
140
- productidassigner(productidparam);
141
- }
142
- }, []);
143
- const productidassigner = (productid) => {
144
- var tempFetchQueriesEngineContext = { ...FetchQueriesEngineContext };
145
- tempFetchQueriesEngineContext.fetchproductinfo = true;
146
- setFetchQueriesEngineContext({ ...tempFetchQueriesEngineContext });
147
- var tempfetchproductinfoObjContext = { ...fetchproductinfoObjContext };
148
-
149
- tempfetchproductinfoObjContext.productid = productid;
150
- setfetchproductinfoObjContext({ ...tempfetchproductinfoObjContext });
151
- };
152
- useEffect(() => {
153
- if (!fetchProductInfoQueryContext.isFetching && fetchProductInfoQueryContext.isSuccess) {
154
- if (fetchProductInfoQueryContext.data.data.productinfo != null) {
155
- var tempproductimagesarray = [];
156
- if (Array.isArray(fetchProductInfoQueryContext.data.data.productinfo.productimages)) {
157
- fetchProductInfoQueryContext.data.data.productinfo.productimages.forEach(function (arrayItem, arrayindex) {
158
- var productimagesarrayobj = {
159
- thumbnail: serverbaselink + arrayItem.path,
160
- original: serverbaselink + arrayItem.path,
161
- };
162
- tempproductimagesarray.push(productimagesarrayobj);
163
- });
164
- }
165
- setproductimagesarray([...tempproductimagesarray]);
166
- variantchecker();
167
- var tempaddtocardpayloadobj = { ...addtocardpayloadobj };
168
- tempaddtocardpayloadobj.productid = fetchProductInfoQueryContext.data.data.productinfo.productid;
169
- setaddtocardpayloadobj({ ...tempaddtocardpayloadobj });
170
- setRelatedProductsTagid(fetchProductInfoQueryContext.data.data.productinfo.maintagid);
171
- }
172
- }
173
- }, [fetchProductInfoQueryContext.isSuccess, fetchProductInfoQueryContext.data]);
174
- const selectproductoptionvalue = (optionindex, optionvaluesitem, optionvaluesindex) => {
175
- var productarr = queryClient.getQueryData('fetchProductInfo_API' + JSON.stringify(fetchproductinfoObjContext));
176
- var isselected = productarr.data.productinfo.productoptions[optionindex].optionvalues[optionvaluesindex].isselected;
177
- if (isselected == 1) {
178
- productarr.data.productinfo.productoptions[optionindex].optionvalues[optionvaluesindex].isselected = 0;
179
- } else {
180
- productarr.data.productinfo.productoptions[optionindex].optionvalues[optionvaluesindex].isselected = 1;
181
- }
182
- productarr.data.productinfo.productoptions[optionindex].optionvalues.forEach(function (arrayItem, arrayindex) {
183
- if (optionvaluesindex != arrayindex) {
184
- arrayItem.isselected = 0;
185
- }
186
- });
187
- variantchecker();
188
- variantcompleting();
189
- queryClient.setQueryData('fetchProductInfo_API' + JSON.stringify(fetchproductinfoObjContext), productarr);
190
- };
191
- const variantchecker = () => {
192
- var productarr = queryClient.getQueryData('fetchProductInfo_API' + JSON.stringify(fetchproductinfoObjContext));
193
- if (productarr.data.productinfo.hasvariants == 1) {
194
- var selectedoptionsvalues = [];
195
- var variantsaccessible = [];
196
- productarr.data.productinfo.productoptions.forEach(function (productoptionsitem, productoptionsindex) {
197
- productoptionsitem.optionvalues.forEach(function (ProductOptionValuesitem, ProductOptionValuesIndex) {
198
- if (ProductOptionValuesitem.isselected == 1) {
199
- selectedoptionsvalues.push(ProductOptionValuesitem);
200
- }
201
- });
202
- });
203
- if (selectedoptionsvalues.length == 0) {
204
- productarr.data.productinfo.variants.forEach(function (ProductVariantItem, ProductVariantIndex) {
205
- ProductVariantItem.variantoptions.forEach(function (varinatoptionitem, variantoptionindex) {
206
- productarr.data.productinfo.productoptions.forEach(function (productoptionsitem, productoptionsindex) {
207
- productoptionsitem.optionvalues.forEach(function (ProductOptionValuesitem, ProductOptionValuesIndex) {
208
- if (ProductOptionValuesitem.valueid == varinatoptionitem.valueid) {
209
- ProductOptionValuesitem.isenabled = 1;
210
- }
211
- });
212
- });
213
- });
214
- });
215
- } else {
216
- productarr.data.productinfo.productoptions.forEach(function (productoptionsitem, productoptionsindex) {
217
- productoptionsitem.optionvalues.forEach(function (ProductOptionValuesitem, ProductOptionValuesIndex) {
218
- ProductOptionValuesitem.isenabled = 0;
219
- });
220
- });
221
-
222
- productarr.data.productinfo.variants.forEach(function (ProductVariantItem, ProductVariantIndex) {
223
- var variantcommonvalues = [];
224
- ProductVariantItem.variantoptions.forEach(function (varinatoptionitem, variantoptionindex) {
225
- selectedoptionsvalues.forEach(function (ProductOptionValuesitem, ProductOptionValuesIndex) {
226
- if (ProductOptionValuesitem.optionid == varinatoptionitem.optionid) {
227
- variantcommonvalues.push(varinatoptionitem);
228
- }
229
- });
230
- });
231
-
232
- var addvariantcount = [];
233
- var addvariant = false;
234
- selectedoptionsvalues.forEach(function (ProductOptionValuesitem, ProductOptionValuesIndex) {
235
- addvariant = false;
236
- variantcommonvalues.forEach(function (varinatoptionitem, variantoptionindex) {
237
- if (ProductOptionValuesitem.optionid == varinatoptionitem.optionid) {
238
- if (ProductOptionValuesitem.valueid == varinatoptionitem.valueid) {
239
- addvariant = true;
240
- } else {
241
- addvariantcount.push(varinatoptionitem);
242
- }
243
- }
244
- });
245
- });
246
- if (addvariant && addvariantcount.length == 0) {
247
- variantsaccessible.push(ProductVariantItem);
248
- }
249
- });
250
-
251
- variantsaccessible.forEach(function (ProductVariantItem, ProductVariantIndex) {
252
- ProductVariantItem.variantoptions.forEach(function (varinatoptionitem, variantoptionindex) {
253
- productarr.data.productinfo.productoptions.forEach(function (productoptionsitem, productoptionsindex) {
254
- productoptionsitem.optionvalues.forEach(function (ProductOptionValuesitem, ProductOptionValuesIndex) {
255
- if (ProductOptionValuesitem.valueid == varinatoptionitem.valueid) {
256
- ProductOptionValuesitem.isenabled = 1;
257
- }
258
- });
259
- });
260
- });
261
- });
262
- }
263
- queryClient.setQueryData('fetchProductInfo_API' + JSON.stringify(fetchproductinfoObjContext), productarr);
264
- }
265
- };
266
- const variantcompleting = () => {
267
- setvariantindexcompleted('');
268
- var tempaddtocardpayloadobj = { ...addtocardpayloadobj };
269
- tempaddtocardpayloadobj.variantid = '';
270
- setaddtocardpayloadobj({ ...tempaddtocardpayloadobj });
271
- var productarr = queryClient.getQueryData('fetchProductInfo_API' + JSON.stringify(fetchproductinfoObjContext));
272
- var selectedoptionsvalues = [];
273
-
274
- productarr.data.productinfo.productoptions.forEach(function (productoptionsitem, productoptionsindex) {
275
- productoptionsitem.optionvalues.forEach(function (ProductOptionValuesitem, ProductOptionValuesIndex) {
276
- if (ProductOptionValuesitem.isselected == 1) {
277
- selectedoptionsvalues.push(ProductOptionValuesitem);
278
- }
279
- });
280
- });
281
- productarr.data.productinfo.variants.forEach(function (ProductVariantItem, ProductVariantIndex) {
282
- var isvariant = false;
283
- var variantnotmatch = [];
284
- if (selectedoptionsvalues.length == ProductVariantItem.variantoptions.length) {
285
- isvariant = true;
286
- ProductVariantItem.variantoptions.forEach(function (varinatoptionitem, variantoptionindex) {
287
- selectedoptionsvalues.forEach(function (ProductOptionValuesitem, ProductOptionValuesIndex) {
288
- if (ProductOptionValuesitem.optionid == varinatoptionitem.optionid) {
289
- if (ProductOptionValuesitem.valueid == varinatoptionitem.valueid) {
290
- } else {
291
- variantnotmatch.push('s');
292
- }
293
- }
294
- });
295
- });
296
- }
297
- if (variantnotmatch.length == 0 && isvariant == true) {
298
- var variantobj = fetchProductInfoQueryContext.data.data.productinfo.variants[ProductVariantIndex];
299
- var variantid = '';
300
- if (variantobj == undefined) {
301
- NotificationManager.warning('', 'Variant Not Found');
302
- } else {
303
- variantid = variantobj.variantid;
304
- var tempaddtocardpayloadobj = { ...addtocardpayloadobj };
305
- tempaddtocardpayloadobj.variantid = variantid;
306
- setaddtocardpayloadobj({ ...tempaddtocardpayloadobj });
307
- setvariantindexcompleted(ProductVariantIndex);
308
- }
309
- }
310
- });
311
- queryClient.setQueryData('fetchProductInfo_API' + JSON.stringify(fetchproductinfoObjContext), productarr);
312
- };
313
- const addtocartfunc = () => {
314
- var runfunc = false;
315
- if (addtocardpayloadobj.productid.length != 0 && addtocardpayloadobj.quantity > 0) {
316
- if (fetchProductInfoQueryContext.data.data.productinfo.hasvariants == 1) {
317
- if (addtocardpayloadobj.variantid.length != 0) {
318
- runfunc = true;
319
- } else {
320
- NotificationManager.warning('', 'Please Choose Product Options');
321
- }
322
- } else {
323
- runfunc = true;
324
- }
325
- } else {
326
- NotificationManager.warning('', 'Please Choose Quantity');
327
- }
328
-
329
- if (runfunc == true) {
330
- AddtoCartContext(addtocardpayloadobj);
331
- }
332
- };
333
- const productinfo_cssstyles = {
334
- sectiontitlespan: css({
335
- ':after': {
336
- width: sectionproperties.relatedproducttitle_lineafterwidth + '%',
337
- backgroundColor: sectionproperties.relatedproducttitlelinebgcolor,
338
- },
339
- }),
340
- sectiontitlespan2: css({
341
- ':after': {
342
- width: sectionproperties.relatedproducttitle_lineafterwidth + 'px',
343
- height: '100%',
344
- backgroundColor: sectionproperties.relatedproducttitlelinebgcolor,
345
- },
346
- }),
347
- cart_btn: css({
348
- width: sectionproperties.cartBtnWidth + 'px',
349
- height: sectionproperties.cartBtnHeight + 'px',
350
- background: sectionproperties.cartbtn_bgtransparent == 'Transparent' ? 'transparent' : sectionproperties.cartBtnbgColor,
351
- borderRadius: sectionproperties.cart_btn_borderBottomLeftRadius + 'px',
352
- color: sectionproperties.cartBtnTextcolor,
353
- fontSize: sectionproperties.cartBtnTextfontsize + 'px',
354
- textTransform: sectionproperties.cartBtnTexttransform,
355
- fontWeight: sectionproperties.cartBtnTextfontweight,
356
- border: sectionproperties.cartbtnborderwidth + 'px solid ' + sectionproperties.cartbtnbordercolor,
357
- transition: '.3s',
358
- opacity: sectionproperties.cartbtn_opacity,
359
- display: 'flex',
360
- alignItems: 'center',
361
- justifyContent: 'center',
362
- overflow: 'hidden',
363
- margin: 0,
364
- position: 'relative',
365
- ':hover': {
366
- background: sectionproperties.cartbtn_transparentbgcoloronhover == 'Transparent' ? 'transparent' : sectionproperties.cartBtnbgColoronhover,
367
- color: sectionproperties.cartBtnTextcoloronhover,
368
- opacity: sectionproperties.cartbtn_opacityonhover,
369
- },
370
- }),
371
- quantitybtn: css({
372
- width: sectionproperties.quantitybtn_height + 'px',
373
- height: sectionproperties.quantitybtn_width + 'px',
374
- display: 'flex',
375
- flexDirection: 'column',
376
- overflow: 'hidden',
377
- borderRadius: sectionproperties.quantitybtn_borderradius + 'px',
378
- background: sectionproperties.quantitybtn_bgcolor,
379
- alignItems: 'center',
380
- justifyContent: 'center',
381
- margin: 0,
382
- position: 'relative',
383
- fontWeight: sectionproperties.quantitybtn_textfontweight,
384
- color: sectionproperties.quantitybtn_textcolor,
385
- fontSize: sectionproperties.quantitybtn_textfontsize + 'px',
386
- border: sectionproperties.quantitybtnborderwidth + 'px solid ' + sectionproperties.quantitybtnbordercolor,
387
- }),
388
- quantitybtn_text: css({
389
- margin: 'auto',
390
- }),
391
- add_quantitybtn_icon_container: css({
392
- position: 'relative',
393
- width: '35px',
394
- height: '35px',
395
- background: sectionproperties.add_quantitybtn_bgcolor,
396
- display: 'flex',
397
- alignItems: 'center',
398
- justifyContent: 'center',
399
- borderRadius: sectionproperties.add_quantitybtn_borderradius + 'px',
400
- fontSize: sectionproperties.add_quantitybtn_textfontsize + 'px',
401
- color: sectionproperties.add_quantitybtn_textcolor,
402
- transition: '.3s',
403
- ':hover': {
404
- color: sectionproperties.add_quantitybtn_textcoloronhover,
405
- background: sectionproperties.add_quantitybtn_bgcoloronhover,
406
- },
407
- }),
408
- minus_quantitybtn_icon_container: css({
409
- position: 'relative',
410
- width: '35px',
411
- height: '35px',
412
- background: sectionproperties.remove_quantitybtn_bgcolor,
413
- display: 'flex',
414
- alignItems: 'center',
415
- justifyContent: 'center',
416
- borderRadius: sectionproperties.remove_quantitybtn_borderradius + 'px',
417
- fontSize: sectionproperties.remove_quantitybtn_textfontsize + 'px',
418
- color: sectionproperties.remove_quantitybtn_textcolor,
419
- transition: '.3s',
420
- ':hover': {
421
- color: sectionproperties.remove_quantitybtn_textcoloronhover,
422
- background: sectionproperties.remove_quantitybtn_bgcoloronhover,
423
- },
424
- }),
425
- imagecont: css({
426
- width: '60px',
427
- height: '60px',
428
- border: sectionproperties.prodimage_borderwidth + 'px solid ' + sectionproperties.prodimage_color,
429
- backgroundColor: sectionproperties.prodimage_bgcolor,
430
- borderBottomLeftRadius: sectionproperties.prodimage__borderBottomLeftRadius + 'px',
431
- borderBottomRightRadius: sectionproperties.prodimage__borderBottomRightRadius + 'px',
432
- borderTopLeftRadius: sectionproperties.prodimage__borderTopLeftRadius + 'px',
433
- borderTopRightRadius: sectionproperties.prodimage__borderTopRightRadius + 'px',
434
- display: 'flex',
435
- alignItems: 'center',
436
- justifyContent: 'center',
437
- backgroundRepeat: 'no-repeat',
438
- backgroundSize: 'cover',
439
- backgroundPosition: 'center',
440
- position: 'relative',
441
- }),
442
- relatedproductNameStyles: css({
443
- color: sectionproperties.relatedprodNameColor,
444
- fontSize: sectionproperties.relatedprodNameFontSize + 'px',
445
- fontWeight: sectionproperties.relatedprodnamefontWeight,
446
- textTransform: sectionproperties.relatedprodNameTextTranform,
447
-
448
- ':hover': {
449
- color: sectionproperties.relatedprodNameColoronhover,
450
- },
451
- }),
452
- relatedproductPricestyles: css({
453
- color: sectionproperties.relatedprodPriceColor,
454
- fontSize: sectionproperties.relatedprodpriceFontSize + 'px',
455
- fontWeight: sectionproperties.relatedprodPriceFontWeight,
456
- }),
457
- cardcontainer: css({
458
- backgroundColor: sectionproperties.backgroundColor,
459
- borderTopLeftRadius: sectionproperties.borderTopLeftRadius + 'px',
460
- borderTopRightRadius: sectionproperties.borderTopRightRadius + 'px',
461
- borderBottomLeftRadius: sectionproperties.borderBottomLeftRadius + 'px',
462
- borderBottomRightRadius: sectionproperties.borderBottomRightRadius + 'px',
463
- paddingRight: sectionproperties.paddingRight + 'px',
464
- paddingLeft: sectionproperties.paddingLeft + 'px',
465
- paddingTop: sectionproperties.paddingTop + 'px',
466
- paddingBottom: sectionproperties.paddingBottom + 'px',
467
- border: sectionproperties.sectioncardborderwidth + 'px solid ' + sectionproperties.sectioncardbordercolor,
468
- }),
469
- wishlist_btn: css({
470
- width: sectionproperties.favBtnWidth + 'px',
471
- height: sectionproperties.favBtnHeight + 'px',
472
- background: sectionproperties.favbtn_bgtransparent == 'Transparent' ? 'transparent' : sectionproperties.favBtnbgColor,
473
- borderRadius: sectionproperties.fav_btn_borderBottomLeftRadius + 'px',
474
- color: sectionproperties.favBtniconcolor,
475
- fontSize: sectionproperties.favBtnTextfontsize + 'px',
476
- textTransform: sectionproperties.favBtnTexttransform,
477
- fontWeight: sectionproperties.favBtnTextfontweight,
478
- transition: '.3s',
479
- boxShadow: sectionproperties.favbtn_showshadow == 'Show' ? '0 0 10px ' + sectionproperties.favbtn_shadowcolor : '',
480
- border: sectionproperties.favbtnborderwidth + 'px solid ' + sectionproperties.favbtnbordercolor,
481
- opacity: sectionproperties.favbtn_opacity,
482
- cursor: 'pointer',
483
- ':hover': {
484
- background: sectionproperties.favbtn_transparentbgcoloronhover == 'Transparent' ? 'transparent' : sectionproperties.favBtnbgColoronhover,
485
- color: sectionproperties.favBtnTextcoloronhover,
486
- opacity: sectionproperties.favbtn_opacityonhover,
487
- },
488
- }),
489
- productname: css({
490
- fontSize: sectionproperties.prodNameFontSize + 'px',
491
- textTransform: sectionproperties.prodNameTextTranform,
492
- fontWeight: sectionproperties.prodNameFontWeight,
493
- color: sectionproperties.prodNameColor,
494
- }),
495
- productnamehover: css({
496
- transition: '.3s',
497
- ':hover': {
498
- color: sectionproperties.prodNameColorOnHover,
499
- },
500
- }),
501
- };
502
- const returnpolicyobj = (policytype) => {
503
- var policyobj = {};
504
- fetchAuthorizationQueryContext.data.data.instinfo.instpolicies.forEach(function (item, index) {
505
- if (item.policytype == policytype) {
506
- policyobj = item;
507
- }
508
- });
509
- return policyobj;
510
- };
511
- return (
512
- <div
513
- className={'row w-100 ml-0 mr-0'}
514
- style={{
515
- marginTop: sectionproperties.marginTop + 'px',
516
- }}
517
- >
518
- {fetchProductInfoQueryContext.isFetching && (
519
- <div className={'row ml-0 mr-0 mt-2 w-100 pb-3 mb-3'}>
520
- <Pagepreloader />
521
- </div>
522
- )}
523
- <div class="col-lg-12 p-0">
524
- {!fetchProductInfoQueryContext.isFetching && fetchProductInfoQueryContext.isSuccess && fetchProductInfoQueryContext.data.data.productinfo != null && (
525
- <div
526
- className={'row m-0 w-100 pl-md-3 pr-md-3 p-sm-0'}
527
- style={{
528
- paddingLeft: props.srcfromprops == 'templatdraftrouter' ? sectionproperties.card_marginLeft + 'px' : 0,
529
- paddingRight: props.srcfromprops == 'templatdraftrouter' ? sectionproperties.card_marginRight + 'px' : 0,
530
- }}
531
- >
532
- <Iteminfo srcfromprops="templatedraftrouter" />
533
- {/* <Serviceinfo /> */}
534
- </div>
535
- )}
536
- </div>
537
- {FetchRelatedProductsQuery.isSuccess && FetchRelatedProductsQuery.data.data.productsrelated.length != 0 && (
538
- <div class="w-100 row m-0 d-flex justify-content-start">
539
- <div class="col-lg-12">
540
- <hr class="mt-0" />
541
- </div>
542
- <div
543
- class="col-lg-12"
544
- style={{
545
- background: sectionproperties.relatedproductsbg,
546
- paddingTop: sectionproperties.relatedproductspaddingTop + 'px',
547
- paddingBottom: sectionproperties.relatedproductspaddingBottom + 'px',
548
- paddingLeft: sectionproperties.relatedproductspaddingLeft + 'px',
549
- paddingRight: sectionproperties.relatedproductspaddingRight + 'px',
550
- borderTopLeftRadius: sectionproperties.relatedproductsbgbtlr + 'px',
551
- borderTopRightRadius: sectionproperties.relatedproductsbgbtrr + 'px',
552
- borderBottomLeftRadius: sectionproperties.relatedproductsbgbblr + 'px',
553
- borderBottomRightRadius: sectionproperties.relatedproductsbgbbrr + 'px',
554
- boxShadow: sectionproperties.relatedproductsbgbbrrshowshadow == 'Show' ? '0 0 10px ' + sectionproperties.relatedproductsshadowcolor : 'none',
555
- }}
556
- >
557
- <div class="row m-0 w-100">
558
- <div class="col-lg-12 col-md-12 col-sm-12 d-flex align-items-center p-0 mb-2">
559
- <div class={`${generalstyles.sectiontitlecont} `}>
560
- {sectionproperties.relatedproductstitlestyle == 'Line Under Text' && (
561
- <div class="col-lg-12 col-md-12 col-sm-12 d-flex align-items-center p-0">
562
- <div class={`${generalstyles.sectiontitlecont} `}>
563
- <div class={' col-lg-12 d-flex align-items-center p-0'}>
564
- <span
565
- class={`${productinfo_cssstyles.sectiontitlespan}`}
566
- style={{
567
- fontSize: sectionproperties.relatedproductstitlefontsize + 'px',
568
- color: sectionproperties.relatedproductstitlecolor,
569
- fontWeight: sectionproperties.relatedproductstitlefontweight,
570
- textTransform: sectionproperties.relatedproductstitletextTransform,
571
- }}
572
- >
573
- {lang.relatedproducts}
574
- </span>
575
- </div>
576
- </div>
577
- </div>
578
- )}
579
- {sectionproperties.relatedproductstitlestyle == 'Line Before Text' && (
580
- <div
581
- class="col-lg-12 col-md-12 col-sm-12 d-flex align-items-center p-0"
582
- style={{
583
- justifyContent: sectionproperties.sectiontitleposition == 'Centered' ? 'center' : '',
584
- }}
585
- >
586
- <div class={`${generalstyles.sectiontitlecont2}`}>
587
- <span
588
- class={`${productinfo_cssstyles.sectiontitlespan2}` + ' pl-3 '}
589
- style={{
590
- fontSize: sectionproperties.relatedproductstitlefontsize + 'px',
591
- color: sectionproperties.relatedproductstitlecolor,
592
- fontWeight: sectionproperties.relatedproductstitlefontweight,
593
- textTransform: sectionproperties.relatedproductstitletextTransform,
594
- }}
595
- >
596
- Related
597
- <br /> Products
598
- </span>
599
- </div>
600
- </div>
601
- )}
602
- </div>
603
- </div>
604
-
605
- <div class="col-lg-12 p-0 pl-md-2 pr-md-2">
606
- <ScrollMenu
607
- onWheel={onWheel}
608
- transitionBehavior={'auto'}
609
- wrapperClassName={''}
610
- itemClassName={'scrollmenuclassnameitem'}
611
- scrollContainerClassName={'scrollmenuclasssubscrollbar'}
612
- >
613
- {FetchRelatedProductsQuery.data.data.productsrelated.map((item, index) => {
614
- if (item.productid != fetchProductInfoQueryContext.data.data.productinfo.productid) {
615
- return (
616
- <div
617
- class="col-lg-12 w-100 p-2"
618
- onClick={() => {
619
- if (props.srcfromprops != 'templatdraftrouter') {
620
- productidassigner(item.productid);
621
- } else {
622
- routingcountext(StaticPagesLinksContext.productinfo, true, item.productid);
623
- }
624
- }}
625
- >
626
- <div class="row w-100 m-0 cursor-pointer p-1" style={{ boxShadow: '0 0 10px #ccc', cursor: 'pointer', borderRadius: '10px', background: 'white' }}>
627
- <div class={'col-lg-2 col-md-2 col-sm-2 pl-0'}>
628
- <div class={productinfo_cssstyles.imagecont}>
629
- <IKImage
630
- path={item.productinfo.productmainimage}
631
- style={{
632
- borderBottomLeftRadius: sectionproperties.prodimage__borderBottomLeftRadius + 'px',
633
- borderBottomRightRadius: sectionproperties.prodimage__borderBottomRightRadius + 'px',
634
- borderTopLeftRadius: sectionproperties.prodimage__borderTopLeftRadius + 'px',
635
- borderTopRightRadius: sectionproperties.prodimage__borderTopRightRadius + 'px',
636
- width: '100%',
637
- height: '100%',
638
- objectFit: 'cover',
639
- }}
640
- loading="lazy"
641
- />
642
- </div>
643
- </div>
644
- <div class="col-lg-10 col-md-10 col-sm-10 pl-3 ">
645
- <div class="row m-0 w-100">
646
- <div class="col-lg-12 col-md-12 col-sm-12 p-0 d-flex justify-content-start">
647
- <p
648
- class={`${productinfo_cssstyles.relatedproductNameStyles}` + ' m-0 p-0 module line-clamp d-flex justify-content-start '}
649
- style={{ fontSize: '15px' }}
650
- >
651
- {langdetect == 'en' ? item.productinfo.name_en : item.productinfo.name_ar}
652
- </p>
653
- </div>
654
- <div
655
- class={
656
- langdetect == 'en'
657
- ? `${productinfo_cssstyles.relatedproductPricestyles}` + ' col-lg-12 col-md-12 col-sm-12 p-0 d-flex wordbreak text-right '
658
- : `${productinfo_cssstyles.relatedproductPricestyles}` + ' col-lg-12 col-md-12 col-sm-12 p-0 d-flex wordbreak text-left '
659
- }
660
- >
661
- <span class={'ml-1 mr-1'}>
662
- {item.productinfo.hasvariants == 1 ? item.productinfo.variants.variantsaleprice : item.productinfo.defaultsaleprice}{' '}
663
- {langdetect == 'en' ? 'EGP' : 'ج.م'}
664
- </span>
665
- </div>
666
- </div>
667
- </div>
668
- </div>
669
- </div>
670
- );
671
- }
672
- })}
673
- </ScrollMenu>
674
- </div>
675
- </div>
676
- </div>
677
- </div>
678
- )}
679
- {props.srcfromprops != 'templatedraftrouter' && (
680
- <div class="col-lg-12 d-flex align-items-center justify-content-center p-0">
681
- {pageindexcontext.length != 0 && Object.keys(StatePagePropertiesContext).length != 0 && (
682
- <div class={generalstyles.app_container + ' w-100 '} style={{ position: 'relative' }}>
683
- {StatePagePropertiesContext.pageobj.sections.map((item, index) => {
684
- if (item.tabexsectioninfo != null && TabexSectionsComponentsContext[item.tabexsectioninfo.sectioncompname] != undefined && item.componenttype == 'section') {
685
- var sectioncomp = TabexSectionsComponentsContext[item.tabexsectioninfo.sectioncompname];
686
- return (
687
- <div class="row w-100 ml-0 mr-0 d-flex justify-content-center p-0">
688
- {item.tabexsectioninfo.sectiontype == 'Cards' && (
689
- <ProductsCardsSectionContext_Provider>
690
- {React.createElement(sectioncomp, {
691
- sectionidprops: item.sectionid,
692
- sectionindexprops: index,
693
- srcfromprops: 'GeneralProductsComponent',
694
- collectionidprops: collectionidparams,
695
- })}
696
- </ProductsCardsSectionContext_Provider>
697
- )}
698
- {item.tabexsectioninfo.sectiontype != 'Cards' && React.createElement(sectioncomp, { sectionidprops: item.sectionid, sectionindexprops: index })}
699
- </div>
700
- );
701
- }
702
- })}
703
- </div>
704
- )}
705
- </div>
706
- )}
707
- </div>
708
- );
709
- };
710
- export default Productinfo;