tabexseriescomponents 0.2.1280 → 0.2.1283

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 (389) hide show
  1. package/dist/index.cjs.js +40 -258
  2. package/dist/index.esm.js +40 -258
  3. package/dist/index.umd.js +40 -258
  4. package/package.json +1 -1
  5. package/srcbefore27-11/Contexts/LanguageContext.jsx +0 -408
  6. package/srcbefore27-11/Contexts/ProductsCardsSectionContext.jsx +0 -36
  7. package/srcbefore27-11/Imagekitconfig copy.jsx +0 -46
  8. package/srcbefore27-11/Imagekitconfig.jsx +0 -178
  9. package/srcbefore27-11/StylesJS/Customstyles.js +0 -456
  10. package/srcbefore27-11/TabexComponents/Cards/CTAProductCard/CTAProductCard.jsx +0 -538
  11. package/srcbefore27-11/TabexComponents/Cards/Card20/Card20.jsx +0 -299
  12. package/srcbefore27-11/TabexComponents/Cards/Card21/Card21.jsx +0 -388
  13. package/srcbefore27-11/TabexComponents/Cards/Card22/Card22.jsx +0 -288
  14. package/srcbefore27-11/TabexComponents/Cards/Card23/Card23 copy.jsx +0 -1630
  15. package/srcbefore27-11/TabexComponents/Cards/Card23/Card23.jsx +0 -733
  16. package/srcbefore27-11/TabexComponents/Cards/CardAll/CardAll.jsx +0 -453
  17. package/srcbefore27-11/TabexComponents/Cards/CardBadgeSlideFromTop/CardBadgeSlideFromTop.jsx +0 -394
  18. package/srcbefore27-11/TabexComponents/Cards/CardWithTextOnly/CardWithTextOnly.jsx +0 -70
  19. package/srcbefore27-11/TabexComponents/Cards/Cardwithdetailsshowonhover/Cardwithdetailsshowonhover.jsx +0 -1074
  20. package/srcbefore27-11/TabexComponents/Cards/CategoryCardTextOnImage/CategoryCardTextOnImage.jsx +0 -211
  21. package/srcbefore27-11/TabexComponents/Cards/CategoryCardwithhoveraction/CategoryCardwithhoveraction.jsx +0 -293
  22. package/srcbefore27-11/TabexComponents/Cards/Categorycard_details_onhover/Categorycard_details_onhover.jsx +0 -512
  23. package/srcbefore27-11/TabexComponents/Cards/Categorycard_details_onhover copy/Categorycard_details_onhover.jsx +0 -513
  24. package/srcbefore27-11/TabexComponents/Cards/Categorycard_fullimage/Categorycard_fullimage.jsx +0 -235
  25. package/srcbefore27-11/TabexComponents/Cards/Categorycard_slidebgscaled/Categorycard_slidebgscaled.jsx +0 -199
  26. package/srcbefore27-11/TabexComponents/Cards/Categorycard_with_trianglebg/Categorycard_with_trianglebg.jsx +0 -182
  27. package/srcbefore27-11/TabexComponents/Cards/Categorycard_with_twolinestransition/Categorycard_with_twolinestransition.jsx +0 -184
  28. package/srcbefore27-11/TabexComponents/Cards/Categorycard_withshapes/Categorycard_withshapes.jsx +0 -161
  29. package/srcbefore27-11/TabexComponents/Cards/Categorycard_withtext/Categorycard_withtext.jsx +0 -208
  30. package/srcbefore27-11/TabexComponents/Cards/CircleCardWithVariants/CircleCardWithVariants.jsx +0 -560
  31. package/srcbefore27-11/TabexComponents/Cards/Classiccategorycard/Classiccategorycard copy.jsx +0 -145
  32. package/srcbefore27-11/TabexComponents/Cards/Classiccategorycard/Classiccategorycard.jsx +0 -145
  33. package/srcbefore27-11/TabexComponents/Cards/Classiccategorycard/ClassiccategorycardOriginal.jsx +0 -142
  34. package/srcbefore27-11/TabexComponents/Cards/HorizontalCategoryCard/HorizontalCategoryCard.jsx +0 -193
  35. package/srcbefore27-11/TabexComponents/Cards/Horizontalcard/Horizontalcard.jsx +0 -605
  36. package/srcbefore27-11/TabexComponents/Cards/MenuCard/MenuCard.jsx +0 -817
  37. package/srcbefore27-11/TabexComponents/Cards/ModernCardWithQuantityButton/ModernCardWithQuantityButton.jsx +0 -468
  38. package/srcbefore27-11/TabexComponents/Cards/ModernProductCard/ModernProductCard.jsx +0 -593
  39. package/srcbefore27-11/TabexComponents/Cards/Moderncategorycard/Moderncategorycard.jsx +0 -208
  40. package/srcbefore27-11/TabexComponents/Cards/NewProductcard/NewProductcard copy.jsx +0 -497
  41. package/srcbefore27-11/TabexComponents/Cards/NewProductcard/NewProductcard.jsx +0 -512
  42. package/srcbefore27-11/TabexComponents/Cards/ProductCardWithTextOnImage/ProductCardWithTextOnImage.jsx +0 -304
  43. package/srcbefore27-11/TabexComponents/Cards/Productcard6/Productcard6.jsx +0 -257
  44. package/srcbefore27-11/TabexComponents/Cards/Productcard7/Productcard7.jsx +0 -277
  45. package/srcbefore27-11/TabexComponents/Cards/Productcard_animatedbuttons/Productcard_animatedbuttons.jsx +0 -352
  46. package/srcbefore27-11/TabexComponents/Cards/Productcard_with_circularbg/Productcard_with_circularbg.jsx +0 -291
  47. package/srcbefore27-11/TabexComponents/Cards/Productcard_with_circularhover/Productcard_with_circularhover.jsx +0 -315
  48. package/srcbefore27-11/TabexComponents/Cards/Productcard_with_slideanimation/Productcard_with_slideanimation.jsx +0 -327
  49. package/srcbefore27-11/TabexComponents/Cards/Productcard_with_variants/Productcard_with_variants copy.jsx +0 -408
  50. package/srcbefore27-11/TabexComponents/Cards/Productcard_with_variants/Productcard_with_variants.jsx +0 -528
  51. package/srcbefore27-11/TabexComponents/Cards/Productcard_with_zoominonhover/Productcard_with_zoominonhover.jsx +0 -731
  52. package/srcbefore27-11/TabexComponents/Cards/Productcarddefault/Productcarddefault.jsx +0 -275
  53. package/srcbefore27-11/TabexComponents/Cards/Productccard_with_imageontopleft/Productccard_with_imageontopleft.jsx +0 -286
  54. package/srcbefore27-11/TabexComponents/Cards/Prouductcard_with_zoomhover/Prouductcard_with_zoomhover.jsx +0 -138
  55. package/srcbefore27-11/TabexComponents/Cards/QuantityButtonBasedProductCard/QuantityButtonBasedProductCard.jsx +0 -611
  56. package/srcbefore27-11/TabexComponents/Cards/ServiceCard/ServiceCard.jsx +0 -600
  57. package/srcbefore27-11/TabexComponents/Cards/Simplecategorycardwithtextbelow/Simplecategorycardwithtextbelow.jsx +0 -225
  58. package/srcbefore27-11/TabexComponents/Cards/Simpleproductcard/Simpleproductcard copy 2.jsx +0 -525
  59. package/srcbefore27-11/TabexComponents/Cards/Simpleproductcard/Simpleproductcard copy.jsx +0 -2321
  60. package/srcbefore27-11/TabexComponents/Cards/Simpleproductcard/Simpleproductcard.jsx +0 -1311
  61. package/srcbefore27-11/TabexComponents/Cards/Simpleproductcard/Simpleproductcardlastversion15-9.jsx +0 -1292
  62. package/srcbefore27-11/TabexComponents/Cards/StylishProductCard/StylishProductCard.jsx +0 -337
  63. package/srcbefore27-11/TabexComponents/Cards/TwoWayServiceSectionWithImage/TwoWayServiceSectionWithImage.jsx +0 -347
  64. package/srcbefore27-11/TabexComponents/Cards/UpSlideEffectCard/UpSlideEffectCard.jsx +0 -605
  65. package/srcbefore27-11/TabexComponents/Cards/UserCardWithSocialMediaOnHover/UserCardWithSocialMediaOnHover.jsx +0 -185
  66. package/srcbefore27-11/TabexComponents/Cards/Variants_J_Cards/Variants_J_Cards.jsx +0 -660
  67. package/srcbefore27-11/TabexComponents/Footer/Allinonefooter/Allinonefooter.jsx +0 -759
  68. package/srcbefore27-11/TabexComponents/Footer/Footer1/Footer1.jsx +0 -551
  69. package/srcbefore27-11/TabexComponents/Footer/Footer2/Footer2.jsx +0 -731
  70. package/srcbefore27-11/TabexComponents/Footer/Footer3/Footer3.jsx +0 -414
  71. package/srcbefore27-11/TabexComponents/Footer/Footer4/Footer4.jsx +0 -466
  72. package/srcbefore27-11/TabexComponents/Footer/Footer5/Footer5.jsx +0 -776
  73. package/srcbefore27-11/TabexComponents/Footer/Footer6/Footer6.jsx +0 -290
  74. package/srcbefore27-11/TabexComponents/Footer/Footer7/Footer7.jsx +0 -430
  75. package/srcbefore27-11/TabexComponents/Footer/Footer8/Footer8 copy.jsx +0 -1970
  76. package/srcbefore27-11/TabexComponents/Footer/Footer8/Footer8.jsx +0 -2015
  77. package/srcbefore27-11/TabexComponents/Footer/FooterWithThreeColumns/FooterWithThreeColumns.jsx +0 -330
  78. package/srcbefore27-11/TabexComponents/Footer/ModernFooter/ModernFooter.jsx +0 -582
  79. package/srcbefore27-11/TabexComponents/Footer/Newsletterfooter/Newsletterfooter.jsx +0 -1165
  80. package/srcbefore27-11/TabexComponents/Footer/Newsletterincenter/Newsletterincenter.jsx +0 -646
  81. package/srcbefore27-11/TabexComponents/Footer/PrivacyPolicy/PrivacyPolicy.jsx +0 -110
  82. package/srcbefore27-11/TabexComponents/Footer/Simplefooter/Simplefooter.jsx +0 -332
  83. package/srcbefore27-11/TabexComponents/Generalfiles/images/egyptflag.png +0 -0
  84. package/srcbefore27-11/TabexComponents/Generalfiles/images/noimage.png +0 -0
  85. package/srcbefore27-11/TabexComponents/Generalfiles/images/payment/cod.png +0 -0
  86. package/srcbefore27-11/TabexComponents/Generalfiles/images/payment/fawry.png +0 -0
  87. package/srcbefore27-11/TabexComponents/Generalfiles/images/payment/payment.png +0 -0
  88. package/srcbefore27-11/TabexComponents/Generalfiles/images/payment/paymob.png +0 -0
  89. package/srcbefore27-11/TabexComponents/Generalfiles/images/payment/paypal.png +0 -0
  90. package/srcbefore27-11/TabexComponents/Generalfiles/images/payment/visa.png +0 -0
  91. package/srcbefore27-11/TabexComponents/Generalfiles/images/shoppingcart.png +0 -0
  92. package/srcbefore27-11/TabexComponents/Generalfiles/images/tabexlogo.png +0 -0
  93. package/srcbefore27-11/TabexComponents/Generalfiles/images/unknownmaleuser.png +0 -0
  94. package/srcbefore27-11/TabexComponents/Generalfiles/images/usflag.png +0 -0
  95. package/srcbefore27-11/TabexComponents/Generalfiles/images/whatsapp.png +0 -0
  96. package/srcbefore27-11/TabexComponents/Headers/CTAHeader/CTAHeader.jsx +0 -1264
  97. package/srcbefore27-11/TabexComponents/Headers/CategoriesComponent/CategoriesComponent.jsx +0 -375
  98. package/srcbefore27-11/TabexComponents/Headers/CategoryFeaturingHeader/CategoryFeaturingHeader.jsx +0 -1056
  99. package/srcbefore27-11/TabexComponents/Headers/CenteredLogoHeaderWithSlider/CenteredLogoHeaderWithSlider.jsx +0 -1498
  100. package/srcbefore27-11/TabexComponents/Headers/ClassicHeader/ClassicHeader.jsx +0 -1289
  101. package/srcbefore27-11/TabexComponents/Headers/DownloadApp/DownloadApp.jsx +0 -76
  102. package/srcbefore27-11/TabexComponents/Headers/ElegantHeader/ElegantHeader.jsx +0 -907
  103. package/srcbefore27-11/TabexComponents/Headers/FloatingIcons/FloatingIcons.jsx +0 -358
  104. package/srcbefore27-11/TabexComponents/Headers/Gotoheader/Gotoheader.jsx +0 -875
  105. package/srcbefore27-11/TabexComponents/Headers/Header4/Header4.jsx +0 -622
  106. package/srcbefore27-11/TabexComponents/Headers/Header8/Header8 copy.jsx +0 -1026
  107. package/srcbefore27-11/TabexComponents/Headers/Header8/Header8.jsx +0 -3414
  108. package/srcbefore27-11/TabexComponents/Headers/HeaderRestaurant/HeaderRestaurant.jsx +0 -777
  109. package/srcbefore27-11/TabexComponents/Headers/HeaderWithAdSlider/HeaderWithAdSlider.jsx +0 -933
  110. package/srcbefore27-11/TabexComponents/Headers/HeaderWithSearchOnCenter/HeaderWithSearchOnCenter.jsx +0 -710
  111. package/srcbefore27-11/TabexComponents/Headers/HeaderWithUtilityBar/HeaderWithUtilityBar.jsx +0 -902
  112. package/srcbefore27-11/TabexComponents/Headers/Header_threesectionslogocentered/Header_threesectionslogocentered.jsx +0 -1347
  113. package/srcbefore27-11/TabexComponents/Headers/Headerresponsive/Headerresponsive.jsx +0 -1566
  114. package/srcbefore27-11/TabexComponents/Headers/Headerresponsive/Headerresponsive11-1.jsx +0 -1201
  115. package/srcbefore27-11/TabexComponents/Headers/Headerresponsive/HeaderresponsiveOriginal.jsx +0 -990
  116. package/srcbefore27-11/TabexComponents/Headers/Headerresponsive/HeaderresponsiveStyle2 copy.jsx +0 -1639
  117. package/srcbefore27-11/TabexComponents/Headers/Headerresponsive/HeaderresponsiveStyle2.jsx +0 -7163
  118. package/srcbefore27-11/TabexComponents/Headers/Headerresponsive/Headerresponsivenew.jsx +0 -1327
  119. package/srcbefore27-11/TabexComponents/Headers/HeaderwithContactinfo/HeaderwithContactinfo.jsx +0 -941
  120. package/srcbefore27-11/TabexComponents/Headers/MarqueeHeader/MarqueeHeader.jsx +0 -80
  121. package/srcbefore27-11/TabexComponents/Headers/Minimalheader/Minimalheader.jsx +0 -846
  122. package/srcbefore27-11/TabexComponents/Headers/Modernheader/Modernheader.jsx +0 -1198
  123. package/srcbefore27-11/TabexComponents/Headers/ParentCollectionsComponent/ParentCollectionsComponent.jsx +0 -385
  124. package/srcbefore27-11/TabexComponents/Headers/SearchCenteredHeader/SearchCenteredHeader.jsx +0 -784
  125. package/srcbefore27-11/TabexComponents/Headers/SearchFocusedHeader/SearchFocusedHeader.jsx +0 -1186
  126. package/srcbefore27-11/TabexComponents/Headers/Simpleheader/Simpleheader.jsx +0 -3692
  127. package/srcbefore27-11/TabexComponents/Headers/SocialMediaSection/SocialMediaSection.jsx +0 -266
  128. package/srcbefore27-11/TabexComponents/Headers/StylishHeader/StylishHeader.jsx +0 -860
  129. package/srcbefore27-11/TabexComponents/Headers/Subheader/Subheader copy.jsx +0 -950
  130. package/srcbefore27-11/TabexComponents/Headers/Subheader/Subheader.jsx +0 -1052
  131. package/srcbefore27-11/TabexComponents/Headers/Subheader/Subheader13-3.jsx +0 -685
  132. package/srcbefore27-11/TabexComponents/Headers/Subheader/SubheaderOriginal.jsx +0 -517
  133. package/srcbefore27-11/TabexComponents/Headers/Subheader/Subheadernew.jsx +0 -555
  134. package/srcbefore27-11/TabexComponents/Headers/SubheaderDropdown/SubheaderDropdown.jsx +0 -610
  135. package/srcbefore27-11/TabexComponents/Headers/ThreeTieredHeader/ThreeTieredHeader.jsx +0 -1049
  136. package/srcbefore27-11/TabexComponents/Headers/TwoTieredHeader/TwoTieredHeader.jsx +0 -1095
  137. package/srcbefore27-11/TabexComponents/Headers/TwoTieredWithCenteredLogoHeader/TwoTieredWithCenteredLogoHeader.jsx +0 -979
  138. package/srcbefore27-11/TabexComponents/Sections/BackgroundImages/BacgroundThreeImageWithCategories/BacgroundThreeImageWithCategories.jsx +0 -533
  139. package/srcbefore27-11/TabexComponents/Sections/BackgroundImages/BackgroundFiveImageStructure/BackgroundFiveImageStructure.jsx +0 -338
  140. package/srcbefore27-11/TabexComponents/Sections/BackgroundImages/BackgroundImageWithTopContent/BackgroundImageWithTopContent.jsx +0 -872
  141. package/srcbefore27-11/TabexComponents/Sections/BackgroundImages/BackgroundImageWithTopContent/BackgroundImageWithTopContentrecent.jsx +0 -895
  142. package/srcbefore27-11/TabexComponents/Sections/BackgroundImages/BackgroundSectionWithServicesCards/BackgroundSectionWithServicesCards.jsx +0 -302
  143. package/srcbefore27-11/TabexComponents/Sections/BackgroundImages/Backgroundimage1/Backgroundimage1.jsx +0 -314
  144. package/srcbefore27-11/TabexComponents/Sections/BackgroundImages/Backgroundimage_with_toppill/Backgroundimage_with_toppill.jsx +0 -318
  145. package/srcbefore27-11/TabexComponents/Sections/BackgroundImages/BackgroundimageandTextsection/BackgroundimageandTextsection.jsx +0 -179
  146. package/srcbefore27-11/TabexComponents/Sections/BackgroundImages/Bgimagewithsearchbar/Bgimagewithsearchbar.jsx +0 -201
  147. package/srcbefore27-11/TabexComponents/Sections/BackgroundImages/CollapsableSection/CollapsableSection.jsx +0 -421
  148. package/srcbefore27-11/TabexComponents/Sections/BackgroundImages/DynamicForm/DynamicForm copy 2.jsx +0 -583
  149. package/srcbefore27-11/TabexComponents/Sections/BackgroundImages/DynamicForm/DynamicForm copy.jsx +0 -291
  150. package/srcbefore27-11/TabexComponents/Sections/BackgroundImages/DynamicForm/DynamicForm.jsx +0 -822
  151. package/srcbefore27-11/TabexComponents/Sections/BackgroundImages/DynamicForm/DynamicForm19-8beforeattach.jsx +0 -789
  152. package/srcbefore27-11/TabexComponents/Sections/BackgroundImages/DynamicForm/DynamicForm22-7.jsx +0 -787
  153. package/srcbefore27-11/TabexComponents/Sections/BackgroundImages/DynamicForm/habal +0 -348
  154. package/srcbefore27-11/TabexComponents/Sections/BackgroundImages/Filterwithcategoriespcoll/Filterwithcategoriespcoll.jsx +0 -387
  155. package/srcbefore27-11/TabexComponents/Sections/BackgroundImages/FullVideoSection/FullVideoSection.jsx +0 -268
  156. package/srcbefore27-11/TabexComponents/Sections/BackgroundImages/MapsSection/MapsSection.jsx +0 -295
  157. package/srcbefore27-11/TabexComponents/Sections/BackgroundImages/PopupCountryComponent/PopupCountryComponent.jsx +0 -120
  158. package/srcbefore27-11/TabexComponents/Sections/BackgroundImages/Popupcomponent/Popupcomponent.jsx +0 -119
  159. package/srcbefore27-11/TabexComponents/Sections/BackgroundImages/Searchcomponent/Searchcomponent.jsx +0 -99
  160. package/srcbefore27-11/TabexComponents/Sections/BackgroundImages/Section_with_rightbgcont/Section_with_rightbgcont.jsx +0 -146
  161. package/srcbefore27-11/TabexComponents/Sections/BackgroundImages/TextSectionConnectToWA/TextSectionConnectToWA.jsx +0 -489
  162. package/srcbefore27-11/TabexComponents/Sections/BackgroundImages/Threebgimages/Threebgimages.jsx +0 -296
  163. package/srcbefore27-11/TabexComponents/Sections/BackgroundImages/Twobgimages/Twobgimages copy.jsx +0 -396
  164. package/srcbefore27-11/TabexComponents/Sections/BackgroundImages/Twobgimages/Twobgimages.jsx +0 -633
  165. package/srcbefore27-11/TabexComponents/Sections/BackgroundImages/VideosSection/VideosSection.jsx +0 -509
  166. package/srcbefore27-11/TabexComponents/Sections/Cards/CardsSection/CardsSection copy 2.jsx +0 -1399
  167. package/srcbefore27-11/TabexComponents/Sections/Cards/CardsSection/CardsSection copy 3.jsx +0 -1656
  168. package/srcbefore27-11/TabexComponents/Sections/Cards/CardsSection/CardsSection copy.jsx +0 -1540
  169. package/srcbefore27-11/TabexComponents/Sections/Cards/CardsSection/CardsSection.jsx +0 -2323
  170. package/srcbefore27-11/TabexComponents/Sections/Cards/CardsSection/CardsSection13-3.jsx +0 -1596
  171. package/srcbefore27-11/TabexComponents/Sections/Cards/CardsSection/CardsSection21-10.jsx +0 -1872
  172. package/srcbefore27-11/TabexComponents/Sections/Cards/CardsSection/CardsSection21-11beforeform.jsx +0 -1891
  173. package/srcbefore27-11/TabexComponents/Sections/Cards/CardsSection/CardsSection_cosmoandmore.jsx +0 -1880
  174. package/srcbefore27-11/TabexComponents/Sections/Cards/CardsSection/CardsSectionwithanomation12-1.jsx +0 -2065
  175. package/srcbefore27-11/TabexComponents/Sections/Cards/CardsSection2/CardsSection2.jsx +0 -726
  176. package/srcbefore27-11/TabexComponents/Sections/Cards/CardsSectionwithfilter/CardsSectionwithfilter.jsx +0 -719
  177. package/srcbefore27-11/TabexComponents/Sections/Cards/ElegantCategoriesCardSection/ElegantCategoriesCardSection.jsx +0 -406
  178. package/srcbefore27-11/TabexComponents/Sections/Cards/ModernCardsSection/ModernCardsSection.jsx +0 -966
  179. package/srcbefore27-11/TabexComponents/Sections/Cards/RandomlyStructuredCollectionCards/RandomlyStructuredCollectionCards copy.jsx +0 -646
  180. package/srcbefore27-11/TabexComponents/Sections/Cards/RandomlyStructuredCollectionCards/RandomlyStructuredCollectionCards.jsx +0 -1577
  181. package/srcbefore27-11/TabexComponents/Sections/Cards/Sixverticalcardssection/Sixverticalcardssection.jsx +0 -596
  182. package/srcbefore27-11/TabexComponents/Sections/Cards/UsersCardsSection/UsersCardsSection.jsx +0 -383
  183. package/srcbefore27-11/TabexComponents/Sections/Slideshow/AboutSection/AboutSection.jsx +0 -342
  184. package/srcbefore27-11/TabexComponents/Sections/Slideshow/Backgroundimage_with_topcircle/Backgroundimage_with_topcircle.jsx +0 -161
  185. package/srcbefore27-11/TabexComponents/Sections/Slideshow/ContactUsSection/ContactUsSection.jsx +0 -394
  186. package/srcbefore27-11/TabexComponents/Sections/Slideshow/CountDownSection/CountDownSection.jsx +0 -174
  187. package/srcbefore27-11/TabexComponents/Sections/Slideshow/Freetextsection/Freetextsection copy.jsx +0 -382
  188. package/srcbefore27-11/TabexComponents/Sections/Slideshow/Freetextsection/Freetextsection.jsx +0 -651
  189. package/srcbefore27-11/TabexComponents/Sections/Slideshow/Freetextsection/Freetextsection19-11.jsx +0 -757
  190. package/srcbefore27-11/TabexComponents/Sections/Slideshow/Freetextsection/Freetextsection20-2.jsx +0 -1017
  191. package/srcbefore27-11/TabexComponents/Sections/Slideshow/HorizontalContactUsSection/HorizontalContactUsSection.jsx +0 -346
  192. package/srcbefore27-11/TabexComponents/Sections/Slideshow/Image_with_leftwords/Image_with_leftwords.jsx +0 -3027
  193. package/srcbefore27-11/TabexComponents/Sections/Slideshow/Image_with_rightwords/Image_with_rightwords.jsx +0 -141
  194. package/srcbefore27-11/TabexComponents/Sections/Slideshow/MarqueeSection/MarqueeSection.jsx +0 -103
  195. package/srcbefore27-11/TabexComponents/Sections/Slideshow/Preloaderone/Preloaderone.jsx +0 -49
  196. package/srcbefore27-11/TabexComponents/Sections/Slideshow/ServiceSectionWithImage/ServiceSectionWithImage.jsx +0 -376
  197. package/srcbefore27-11/TabexComponents/Sections/Slideshow/Servicesection/Servicesection.jsx +0 -384
  198. package/srcbefore27-11/TabexComponents/Sections/Slideshow/ServicesectionCenteredcards/ServicesectionCenteredcards copy.jsx +0 -1576
  199. package/srcbefore27-11/TabexComponents/Sections/Slideshow/ServicesectionCenteredcards/ServicesectionCenteredcards.jsx +0 -1989
  200. package/srcbefore27-11/TabexComponents/Sections/Slideshow/Slideshow_with_rotatedsquare/Slideshow_with_rotatedsquare.jsx +0 -226
  201. package/srcbefore27-11/TabexComponents/Sections/Slideshow/Slideshow_with_squarebg/Slideshow_with_squarebg.jsx +0 -149
  202. package/srcbefore27-11/TabexComponents/Sections/Slideshow/Slideshowdifferentanimations/Slideshowdifferentanimations.jsx +0 -143
  203. package/srcbefore27-11/TabexComponents/Sections/Slideshow/Slideshowfade/Slideshowfade copy.jsx +0 -634
  204. package/srcbefore27-11/TabexComponents/Sections/Slideshow/Slideshowfade/Slideshowfade.jsx +0 -474
  205. package/srcbefore27-11/TabexComponents/Sections/Slideshow/Slideshowslide/Slideshowslide copy.jsx +0 -527
  206. package/srcbefore27-11/TabexComponents/Sections/Slideshow/Slideshowslide/Slideshowslide.jsx +0 -665
  207. package/srcbefore27-11/TabexComponents/Sections/Slideshow/Slideshowslide/SlideshowslideOriginal.jsx +0 -477
  208. package/srcbefore27-11/TabexComponents/Sections/Slideshow/Slideshowslide/SlideshowslideRecent.jsx +0 -1217
  209. package/srcbefore27-11/TabexComponents/Sections/Slideshow/Slideshowslide/Slideshowslideoriginal8-5.jsx +0 -614
  210. package/srcbefore27-11/TabexComponents/Sections/Slideshow/Slideshowzoom/Arrow.jsx +0 -91
  211. package/srcbefore27-11/TabexComponents/Sections/Slideshow/Slideshowzoom/Slideshowzoom copy.jsx +0 -380
  212. package/srcbefore27-11/TabexComponents/Sections/Slideshow/Slideshowzoom/Slideshowzoom.jsx +0 -741
  213. package/srcbefore27-11/TabexComponents/Sections/Slideshow/TableSection/TableSection.jsx +0 -423
  214. package/srcbefore27-11/TabexComponents/Sections/Slideshow/ThreeSectionsWithSlideshow/ThreeSectionsWithSlideshow copy.jsx +0 -284
  215. package/srcbefore27-11/TabexComponents/Sections/Slideshow/ThreeSectionsWithSlideshow/ThreeSectionsWithSlideshow.jsx +0 -636
  216. package/srcbefore27-11/TabexComponents/Sections/Slideshow/TwoWayServiceSectionWithImage/TwoWayServiceSectionWithImage.jsx +0 -402
  217. package/srcbefore27-11/TabexComponents/StaticPages/AccountInformation/AccountInformation.jsx +0 -234
  218. package/srcbefore27-11/TabexComponents/StaticPages/AddReview/AddReview.jsx +0 -306
  219. package/srcbefore27-11/TabexComponents/StaticPages/Afiiliatesignup/Afiiliatesignup.jsx +0 -364
  220. package/srcbefore27-11/TabexComponents/StaticPages/CartSlider/CartSlider.jsx +0 -1000
  221. package/srcbefore27-11/TabexComponents/StaticPages/Categoriesdropdown/Categoriesdropdown.jsx +0 -460
  222. package/srcbefore27-11/TabexComponents/StaticPages/Checkout/Checkout copy.jsx +0 -1306
  223. package/srcbefore27-11/TabexComponents/StaticPages/Checkout/Checkout.jsx +0 -2506
  224. package/srcbefore27-11/TabexComponents/StaticPages/Checkout/Checkout10-1.jsx +0 -1633
  225. package/srcbefore27-11/TabexComponents/StaticPages/Checkout/Checkout12-12beforeextras.jsx +0 -1999
  226. package/srcbefore27-11/TabexComponents/StaticPages/Checkout/Checkout26-9.jsx +0 -1593
  227. package/srcbefore27-11/TabexComponents/StaticPages/Checkout/Checkout9-9.jsx +0 -1574
  228. package/srcbefore27-11/TabexComponents/StaticPages/Compare/Compare.jsx +0 -79
  229. package/srcbefore27-11/TabexComponents/StaticPages/Filter/CollectionsFilterHorizontal.jsx +0 -245
  230. package/srcbefore27-11/TabexComponents/StaticPages/Filter/Filter copy 2.jsx +0 -2888
  231. package/srcbefore27-11/TabexComponents/StaticPages/Filter/Filter copy.jsx +0 -1450
  232. package/srcbefore27-11/TabexComponents/StaticPages/Filter/Filter.jsx +0 -3459
  233. package/srcbefore27-11/TabexComponents/StaticPages/Filter/Filter1-5.jsx +0 -2624
  234. package/srcbefore27-11/TabexComponents/StaticPages/Filter/Filter13-11.jsx +0 -2758
  235. package/srcbefore27-11/TabexComponents/StaticPages/Filter/Filter14-8.jsx +0 -2753
  236. package/srcbefore27-11/TabexComponents/StaticPages/Filter/Filter17-9.jsx +0 -1495
  237. package/srcbefore27-11/TabexComponents/StaticPages/Filter/VariantFilter.jsx +0 -1271
  238. package/srcbefore27-11/TabexComponents/StaticPages/InnerGroups/InnerGroups.jsx +0 -62
  239. package/srcbefore27-11/TabexComponents/StaticPages/Login/FacebookLoginButton.jsx +0 -50
  240. package/srcbefore27-11/TabexComponents/StaticPages/Login/GoogleLoginButton.jsx +0 -35
  241. package/srcbefore27-11/TabexComponents/StaticPages/Login/Login copy.jsx +0 -1060
  242. package/srcbefore27-11/TabexComponents/StaticPages/Login/Login.jsx +0 -616
  243. package/srcbefore27-11/TabexComponents/StaticPages/OrderSuccess/OrderSuccess.jsx +0 -693
  244. package/srcbefore27-11/TabexComponents/StaticPages/OrderSuccess/OrderSuccess2.jsx +0 -173
  245. package/srcbefore27-11/TabexComponents/StaticPages/Ordershistory/Ordershistory.jsx +0 -1831
  246. package/srcbefore27-11/TabexComponents/StaticPages/Policies/Policies.jsx +0 -291
  247. package/srcbefore27-11/TabexComponents/StaticPages/PrivacyPolicy/PrivacyPolicy.jsx +0 -194
  248. package/srcbefore27-11/TabexComponents/StaticPages/Productinfo/Addreviewform.jsx +0 -183
  249. package/srcbefore27-11/TabexComponents/StaticPages/Productinfo/AddreviewformOriginal.jsx +0 -128
  250. package/srcbefore27-11/TabexComponents/StaticPages/Productinfo/Article_itemtype.jsx +0 -268
  251. package/srcbefore27-11/TabexComponents/StaticPages/Productinfo/DescriptionContent.jsx +0 -190
  252. package/srcbefore27-11/TabexComponents/StaticPages/Productinfo/ProductExtraFields.jsx +0 -225
  253. package/srcbefore27-11/TabexComponents/StaticPages/Productinfo/ProductExtras.jsx +0 -224
  254. package/srcbefore27-11/TabexComponents/StaticPages/Productinfo/ProductFileUploader.jsx +0 -136
  255. package/srcbefore27-11/TabexComponents/StaticPages/Productinfo/ProductHeaderPricing.jsx +0 -347
  256. package/srcbefore27-11/TabexComponents/StaticPages/Productinfo/ProductReviews.jsx +0 -262
  257. package/srcbefore27-11/TabexComponents/StaticPages/Productinfo/Product_itemtype.jsx +0 -5566
  258. package/srcbefore27-11/TabexComponents/StaticPages/Productinfo/Product_itemtype10-1.jsx +0 -1554
  259. package/srcbefore27-11/TabexComponents/StaticPages/Productinfo/Product_itemtype3-11.jsx +0 -1827
  260. package/srcbefore27-11/TabexComponents/StaticPages/Productinfo/Product_itemtype31-3.jsx +0 -1351
  261. package/srcbefore27-11/TabexComponents/StaticPages/Productinfo/Product_itemtypeUpdated.jsx +0 -1566
  262. package/srcbefore27-11/TabexComponents/StaticPages/Productinfo/Product_itemtypeeuro.jsx +0 -3101
  263. package/srcbefore27-11/TabexComponents/StaticPages/Productinfo/Productinfo.jsx +0 -3047
  264. package/srcbefore27-11/TabexComponents/StaticPages/Productinfo/Productinfo13-5.jsx +0 -2103
  265. package/srcbefore27-11/TabexComponents/StaticPages/Productinfo/Productinfo_28_6.jsx +0 -2189
  266. package/srcbefore27-11/TabexComponents/StaticPages/Productinfo/Productinfotoday.jsx +0 -2166
  267. package/srcbefore27-11/TabexComponents/StaticPages/Productinfo/Service_itemtype.js +0 -2714
  268. package/srcbefore27-11/TabexComponents/StaticPages/Productinfo/Service_itemtype.jsx +0 -2206
  269. package/srcbefore27-11/TabexComponents/StaticPages/Productinfo/Service_itemtypetill28-4-2025.jsx +0 -1158
  270. package/srcbefore27-11/TabexComponents/StaticPages/Productinfo/Serviceinfotabs.jsx +0 -1117
  271. package/srcbefore27-11/TabexComponents/StaticPages/Productinfo/Serviceinfotabs4-5.jsx +0 -1043
  272. package/srcbefore27-11/TabexComponents/StaticPages/Productinfo/Serviceinfotabstill28-4-2025.jsx +0 -1040
  273. package/srcbefore27-11/TabexComponents/StaticPages/Productinfo/Variantoptions.jsx +0 -905
  274. package/srcbefore27-11/TabexComponents/StaticPages/Productinfo/Variantoptions21-9.jsx +0 -324
  275. package/srcbefore27-11/TabexComponents/StaticPages/Productinfo/staticroutersidenav.module.css +0 -145
  276. package/srcbefore27-11/TabexComponents/StaticPages/Productinfo4-4/Addreviewform.jsx +0 -183
  277. package/srcbefore27-11/TabexComponents/StaticPages/Productinfo4-4/AddreviewformOriginal.jsx +0 -128
  278. package/srcbefore27-11/TabexComponents/StaticPages/Productinfo4-4/DescriptionContent.jsx +0 -140
  279. package/srcbefore27-11/TabexComponents/StaticPages/Productinfo4-4/ProductExtraFields.jsx +0 -225
  280. package/srcbefore27-11/TabexComponents/StaticPages/Productinfo4-4/ProductHeaderPricing.jsx +0 -310
  281. package/srcbefore27-11/TabexComponents/StaticPages/Productinfo4-4/ProductReviews.jsx +0 -235
  282. package/srcbefore27-11/TabexComponents/StaticPages/Productinfo4-4/Product_itemtype.jsx +0 -1672
  283. package/srcbefore27-11/TabexComponents/StaticPages/Productinfo4-4/Product_itemtype10-1.jsx +0 -1554
  284. package/srcbefore27-11/TabexComponents/StaticPages/Productinfo4-4/Product_itemtype31-3.jsx +0 -1351
  285. package/srcbefore27-11/TabexComponents/StaticPages/Productinfo4-4/Product_itemtypeUpdated.jsx +0 -1566
  286. package/srcbefore27-11/TabexComponents/StaticPages/Productinfo4-4/Productinfo.jsx +0 -1804
  287. package/srcbefore27-11/TabexComponents/StaticPages/Productinfo4-4/Service_itemtype.jsx +0 -560
  288. package/srcbefore27-11/TabexComponents/StaticPages/Productinfo4-4/Serviceinfotabs.jsx +0 -928
  289. package/srcbefore27-11/TabexComponents/StaticPages/Productinfo4-4/Variantoptions.jsx +0 -597
  290. package/srcbefore27-11/TabexComponents/StaticPages/Productinfo4-4/Variantoptions21-9.jsx +0 -324
  291. package/srcbefore27-11/TabexComponents/StaticPages/Productinfo4-4/staticroutersidenav.module.css +0 -145
  292. package/srcbefore27-11/TabexComponents/StaticPages/RefundPolicy/RefundPolicy.jsx +0 -194
  293. package/srcbefore27-11/TabexComponents/StaticPages/Resetpassword/Resetpassword.jsx +0 -346
  294. package/srcbefore27-11/TabexComponents/StaticPages/Searchlist/Searchlist.jsx +0 -367
  295. package/srcbefore27-11/TabexComponents/StaticPages/ShippingPolicy/ShippingPolicy.jsx +0 -222
  296. package/srcbefore27-11/TabexComponents/StaticPages/Signup/CustomerAddressForm.jsx +0 -277
  297. package/srcbefore27-11/TabexComponents/StaticPages/Signup/CustomerInformationForm copy.jsx +0 -1135
  298. package/srcbefore27-11/TabexComponents/StaticPages/Signup/CustomerInformationForm.jsx +0 -1505
  299. package/srcbefore27-11/TabexComponents/StaticPages/Signup/CustomerInformationForm12-5beforeemailrequired.jsx +0 -1476
  300. package/srcbefore27-11/TabexComponents/StaticPages/Signup/Signup.jsx +0 -199
  301. package/srcbefore27-11/TabexComponents/StaticPages/Staticpagesrouter/Staticpagesrouter.jsx +0 -292
  302. package/srcbefore27-11/TabexComponents/StaticPages/TermsConditions/TermsConditions.jsx +0 -219
  303. package/srcbefore27-11/TabexComponents/StaticPages/VendorPage/VendorPage.jsx +0 -162
  304. package/srcbefore27-11/TabexComponents/StaticPages/Viewcart/Viewcart 10-10.jsx +0 -765
  305. package/srcbefore27-11/TabexComponents/StaticPages/Viewcart/Viewcart.jsx +0 -786
  306. package/srcbefore27-11/TabexComponents/StaticPages/Viewcart/Viewcart26-9.jsx +0 -786
  307. package/srcbefore27-11/TabexComponents/StaticPages/Viewcart/ViewcartOriginal.jsx +0 -786
  308. package/srcbefore27-11/TabexComponents/StaticPages/Viewcart/ViewcartUpdated.jsx +0 -1425
  309. package/srcbefore27-11/TabexComponents/StaticPages/Wishlist/Wishlist.jsx +0 -844
  310. package/srcbefore27-11/TabexComponents/StaticPages/Wishlist/Wishlist25-4.jsx +0 -555
  311. package/srcbefore27-11/TabexComponents/StaticPages/Wishlist/Wishlist26-9.jsx +0 -555
  312. package/srcbefore27-11/TabexComponents/StaticPages/Wishlist/WishlistOriginal.jsx +0 -555
  313. package/srcbefore27-11/TabexComponents/StaticPages/Wishlist/WishlistUpdated.jsx +0 -815
  314. package/srcbefore27-11/button.jsx +0 -40
  315. package/srcbefore27-11/index.jsx +0 -353
  316. package/srcbefore27-11/styles/Home.module.css +0 -129
  317. package/srcbefore27-11/styles/cards/Categorcycard_fullimage.module.css +0 -14
  318. package/srcbefore27-11/styles/cards/Categorycard_slidebgscaled.module.css +0 -73
  319. package/srcbefore27-11/styles/cards/Categorycard_withshapes.module.css +0 -189
  320. package/srcbefore27-11/styles/cards/ModernCardWithQuantityButton.module.css +0 -30
  321. package/srcbefore27-11/styles/cards/Productcard6.module.css +0 -9
  322. package/srcbefore27-11/styles/cards/Productccard_with_zoominonhover.module.css +0 -94
  323. package/srcbefore27-11/styles/cards/Prouductcard_with_zoomhover.module.css +0 -61
  324. package/srcbefore27-11/styles/cards/UserCardWithSocialMediaOnHover.module.css +0 -65
  325. package/srcbefore27-11/styles/cards/card23.module.css +0 -60
  326. package/srcbefore27-11/styles/cards/categorycard.module.css +0 -84
  327. package/srcbefore27-11/styles/cards/categorycard3.module.css +0 -50
  328. package/srcbefore27-11/styles/cards/categorycardwithtext.module.css +0 -40
  329. package/srcbefore27-11/styles/cards/generalCardsStyles.module.css +0 -79
  330. package/srcbefore27-11/styles/cards/productcard_animatedbuttons.module.css +0 -139
  331. package/srcbefore27-11/styles/cards/productcard_with_textonhover.module.css +0 -18
  332. package/srcbefore27-11/styles/cards/productcard_withtextonimage.module.css +0 -0
  333. package/srcbefore27-11/styles/cards/productccard_with_imageontopleft.module.css +0 -85
  334. package/srcbefore27-11/styles/general/bootstrap.css +0 -4763
  335. package/srcbefore27-11/styles/general/dropdown.css +0 -206
  336. package/srcbefore27-11/styles/general/editorbardropdown.module.css +0 -94
  337. package/srcbefore27-11/styles/general/filter.module.css +0 -108
  338. package/srcbefore27-11/styles/general/form.module.css +0 -255
  339. package/srcbefore27-11/styles/general/general.module.css +0 -872
  340. package/srcbefore27-11/styles/general/image-gallery.css +0 -531
  341. package/srcbefore27-11/styles/general/react-accessible-accordion.module.css +0 -52
  342. package/srcbefore27-11/styles/general/react-phone-input-2.module.css +0 -927
  343. package/srcbefore27-11/styles/general/scrollbtn.module.css +0 -22
  344. package/srcbefore27-11/styles/general/slick.module.css +0 -166
  345. package/srcbefore27-11/styles/general/tabs.module.css +0 -119
  346. package/srcbefore27-11/styles/general/workplaceeditor.module.css +0 -328
  347. package/srcbefore27-11/styles/globals.css +0 -26
  348. package/srcbefore27-11/styles/headers/CTAHeader.module.css +0 -40
  349. package/srcbefore27-11/styles/headers/CategoryFeaturingHeader.module.css +0 -61
  350. package/srcbefore27-11/styles/headers/Gotoheader.module.css +0 -87
  351. package/srcbefore27-11/styles/headers/Header7.module.css +0 -50
  352. package/srcbefore27-11/styles/headers/HeaderWithAdSlider.module.css +0 -86
  353. package/srcbefore27-11/styles/headers/HeaderWithSearchOnCenter.module.css +0 -101
  354. package/srcbefore27-11/styles/headers/HeaderWithUtilityBar.module.css +0 -46
  355. package/srcbefore27-11/styles/headers/Header_threesectionslogocentered.module.css +0 -84
  356. package/srcbefore27-11/styles/headers/NewHeader.module.css +0 -101
  357. package/srcbefore27-11/styles/headers/SearchFocusedHeader.module.css +0 -62
  358. package/srcbefore27-11/styles/headers/Sideheader.module.css +0 -108
  359. package/srcbefore27-11/styles/headers/Simpleheader.module.css +0 -102
  360. package/srcbefore27-11/styles/headers/classicheader.module.css +0 -16
  361. package/srcbefore27-11/styles/headers/classicheaderstyles.module.css +0 -9
  362. package/srcbefore27-11/styles/headers/dropdown.css +0 -0
  363. package/srcbefore27-11/styles/headers/header4.module.css +0 -175
  364. package/srcbefore27-11/styles/headers/header5.module.css +0 -30
  365. package/srcbefore27-11/styles/headers/header_contactinfo.module.css +0 -53
  366. package/srcbefore27-11/styles/headers/headerresturant.module.css +0 -89
  367. package/srcbefore27-11/styles/headers/modernheader.module.css +0 -45
  368. package/srcbefore27-11/styles/headers/stylishheader.module.css +0 -24
  369. package/srcbefore27-11/styles/headers/subheader.module.css +0 -114
  370. package/srcbefore27-11/styles/headers/threetieredheader.module.css +0 -91
  371. package/srcbefore27-11/styles/sections/BackgroundImageWithTopContent.css +0 -4
  372. package/srcbefore27-11/styles/sections/Backgroundimage1.module.css +0 -17
  373. package/srcbefore27-11/styles/sections/Backgroundimage_with_topcircle.module.css +0 -28
  374. package/srcbefore27-11/styles/sections/Freetext.module.css +0 -18
  375. package/srcbefore27-11/styles/sections/Section_with_rightbgcont.module.css +0 -49
  376. package/srcbefore27-11/styles/sections/Slideshow_with_rotatedsquare.module.css +0 -35
  377. package/srcbefore27-11/styles/sections/Slideshow_with_squarebg.module.css +0 -39
  378. package/srcbefore27-11/styles/staticpages/accordion.module.css +0 -9
  379. package/srcbefore27-11/styles/staticpages/cart.module.css +0 -108
  380. package/srcbefore27-11/styles/staticpages/dropdown.css +0 -196
  381. package/srcbefore27-11/styles/staticpages/filter.module.css +0 -139
  382. package/srcbefore27-11/styles/staticpages/image-gallery.css +0 -481
  383. package/srcbefore27-11/styles/staticpages/login.module.css +0 -155
  384. package/srcbefore27-11/styles/staticpages/productinfo.module.css +0 -54
  385. package/srcbefore27-11/styles/staticpages/shop.module.css +0 -191
  386. package/srcbefore27-11/styles/staticpages/signup.module.css +0 -250
  387. package/srcbefore27-11/styles/staticpages/staticroutersidenav.module.css +0 -129
  388. package/srcbefore27-11/styles/staticpages/viewcart.module.css +0 -129
  389. package/srcbefore27-11/styles/staticpages/wishlist.module.css +0 -29
@@ -1,2189 +0,0 @@
1
- //productidprops
2
- import React, { useEffect, useState } from 'react';
3
- import { Messaging } from 'react-cssfx-loading';
4
- import { css } from 'glamor';
5
- import Product_itemtype from './Product_itemtype.jsx';
6
- import Service_itemtype from './Service_itemtype.jsx';
7
- import Article_itemtype from './Article_itemtype.jsx';
8
- import '../../../styles/staticpages/image-gallery.css';
9
- import { ScrollMenu, VisibilityContext } from 'react-horizontal-scrolling-menu';
10
- import { Box, Tab, Tabs } from '@mui/material';
11
- import { Imagekitimagecomp } from '../../../Imagekitconfig.jsx';
12
- import { HiOutlinePhone } from '@react-icons/all-files/hi/HiOutlinePhone';
13
- import { AiOutlineMail } from '@react-icons/all-files/ai/AiOutlineMail';
14
- import { FaShippingFast } from '@react-icons/all-files/fa/FaShippingFast';
15
- import { RiSecurePaymentLine } from '@react-icons/all-files/ri/RiSecurePaymentLine';
16
- import ProductReviews from './ProductReviews.jsx';
17
- import DescriptionContent from './DescriptionContent.jsx';
18
- import ReactPlayer from 'react-player';
19
-
20
- const Productinfo = (props) => {
21
- const [ProductInfoObj, setProductInfoObj] = useState({});
22
- const srcfromprops = props.actions.srcfromprops;
23
- const productinfoDataPassedProps = props?.productinfoDataPassedProps;
24
-
25
- const StatePagePropertiesContext = props.actions.StatePagePropertiesContext;
26
- const lang = props.actions.lang;
27
- const langdetect = props.actions.langdetect;
28
- const templatepropcontext = props.actions.templatepropcontext;
29
- const routingcountext = props.actions.routingcountext;
30
- const StaticPagesLinksContext = props.actions.StaticPagesLinksContext;
31
- const TabexSectionsComponentsContext = props.actions.TabexSectionsComponentsContext;
32
- const FetchQueriesEngineContext = props.actions.FetchQueriesEngineContext;
33
- const setFetchQueriesEngineContext = props.actions.setFetchQueriesEngineContext;
34
- const serverbaselink = props.actions.serverbaselink;
35
- const AddtoCartMutationContext = props.actions.AddtoCartMutationContext;
36
- const ProductIdProdutInfoModalContext = props.actions.ProductIdProdutInfoModalContext;
37
- const AddtoCartContext = props.actions.AddtoCartContext;
38
- const addtofavoritescontext = props.actions.addtofavoritescontext;
39
- const fetchProductInfoQueryContextProps = props.actions.fetchProductInfoQueryContext;
40
- const [fetchProductInfoQueryContext, setfetchProductInfoQueryContext] = useState({});
41
- const [finalProductId, setfinalProductId] = useState(null);
42
- const [isProductPageLoading, setisProductPageLoading] = useState(false);
43
- useEffect(() => {
44
- if (productinfoDataPassedProps != undefined && productinfoDataPassedProps != null && typeof productinfoDataPassedProps === 'object' && Object.keys(productinfoDataPassedProps).length != 0) {
45
- if (Object.keys(fetchProductInfoQueryContext).length == 0) {
46
- var obj = {
47
- data: {
48
- data: {
49
- productinfo: {
50
- name_en: productinfoDataPassedProps?.name_en,
51
- name_ar: productinfoDataPassedProps?.name_ar,
52
- productid: productinfoDataPassedProps?.productid,
53
- item_type: productinfoDataPassedProps?.item_type,
54
-
55
- productimages: productinfoDataPassedProps?.productimages,
56
- defaultprice: productinfoDataPassedProps?.defaultprice,
57
- defaultsaleprice: productinfoDataPassedProps?.defaultsaleprice,
58
- measurmentunit: productinfoDataPassedProps?.measurmentunit,
59
- hasvariants: productinfoDataPassedProps?.hasvariants,
60
- hassale: productinfoDataPassedProps?.hassale,
61
- isproducttobesold: productinfoDataPassedProps?.isproducttobesold,
62
- sku: productinfoDataPassedProps?.sku,
63
- isproducthasquantitychange: productinfoDataPassedProps?.isproducthasquantitychange,
64
- quantitystepincrearse: productinfoDataPassedProps?.quantitystepincrearse,
65
- description_ar: productinfoDataPassedProps?.description_ar,
66
- description_en: productinfoDataPassedProps?.description_en,
67
- instid: productinfoDataPassedProps?.instid,
68
- variants: [],
69
- },
70
- },
71
- },
72
- };
73
- setfetchProductInfoQueryContext({ ...obj });
74
- setProductInfoObj({ ...obj });
75
- }
76
- } else {
77
- if (fetchProductInfoQueryContextProps.isFetching) {
78
- setisProductPageLoading(true);
79
- } else {
80
- if (fetchProductInfoQueryContextProps.isSuccess) {
81
- }
82
- }
83
- }
84
- }, [props, props.productinfoDataPassedProps, productinfoDataPassedProps, fetchProductInfoQueryContext, fetchProductInfoQueryContextProps.isFetching, fetchProductInfoQueryContextProps.isSuccess]);
85
-
86
- useEffect(() => {
87
- if (fetchProductInfoQueryContextProps.isSuccess) {
88
- if (fetchProductInfoQueryContextProps?.data?.data?.productinfo?.productid == finalProductId) {
89
- setProductInfoObj({ ...fetchProductInfoQueryContextProps.data });
90
- setfetchProductInfoQueryContext(fetchProductInfoQueryContextProps);
91
- setisProductPageLoading(false);
92
- }
93
- }
94
- }, [props.actions, props, fetchProductInfoQueryContextProps.data, fetchProductInfoQueryContextProps.isSuccess, finalProductId]);
95
- const fetchproductinfoObjContext = props.actions.fetchproductinfoObjContext;
96
- const setfetchproductinfoObjContext = props.actions.setfetchproductinfoObjContext;
97
- const pageindexcontext = props.actions.pageindexcontext;
98
- const setpageindexcontext = props.actions.setpageindexcontext;
99
- const authdetailsContext = props.actions.authdetailsContext;
100
- const ikimagecredcontext = props.actions.ikimagecredcontext;
101
- const Pixel_EventsContext = props.actions.Pixel_EventsContext;
102
-
103
- const actions = props.actions;
104
- const GeneralAPIMutationContext = props.actions.GeneralAPIMutationContext;
105
- const setCurrentPageIdContext = props.actions.setCurrentPageIdContext;
106
- const NotificationManager = props.actions.NotificationManager;
107
- const productidparam = props.productidparam;
108
-
109
- const [variantsku, setvariantsku] = useState('');
110
- const [isoutofstock, setisoutofstock] = useState(false);
111
- const [sectionproperties, setsectionproperties] = useState('');
112
- const [CurrentPageId, setCurrentPageId] = useState('');
113
- const [RelatedProductsTagid, setRelatedProductsTagid] = useState('');
114
- const [variantnotchosendisclaimer, setvariantnotchosendisclaimer] = useState('');
115
-
116
- const [filterproductreviews, setfilterproductreviews] = useState('all');
117
- const [productreviews, setproductreviews] = useState([]);
118
- const [Relatedproducts, setRelatedproducts] = useState([]);
119
- const [productimagesarray, setproductimagesarray] = useState([]);
120
- const [quantityconditionfoundobj, setquantityconditionfoundobj] = useState(null);
121
- const [addtocardpayloadobj, setaddtocardpayloadobj] = useState({
122
- functype: 'add',
123
- item_type: 'product',
124
- productid: '',
125
- variantid: '',
126
- quantity: 1,
127
- date: '',
128
- time: '',
129
- from: '',
130
- to: '',
131
- extrafields: [],
132
- });
133
- const [opensizeguidemodal, setopensizeguidemodal] = useState(false);
134
- const [variantindexcompleted, setvariantindexcompleted] = useState('');
135
- const [variantindex, setvariantindex] = useState('');
136
- const [isloaded, setisloaded] = useState(false);
137
- const [showMore, setShowMore] = useState(false);
138
- const [currentshowingimageindex, setcurrentshowingimageindex] = useState(0);
139
- const [tabIndex, setTabIndex] = useState('');
140
- const [tabname, settabname] = useState('');
141
- const [sizeguideimage, setsizeguideimage] = useState([]);
142
- const [productVideos, setproductVideos] = useState([]);
143
- const [variantvalueidentifier, setvariantvalueidentifier] = useState([]);
144
-
145
- const handleTabChange = (event, newTabIndex) => {
146
- setTabIndex(newTabIndex);
147
- };
148
- useEffect(() => {
149
- if (Object.keys(StatePagePropertiesContext).length != 0) {
150
- var secpropobj = {};
151
- StatePagePropertiesContext.pageobj != undefined &&
152
- StatePagePropertiesContext.pageobj.pageproperties != undefined &&
153
- StatePagePropertiesContext.pageobj.pageproperties.forEach(function (arrayItem, arrayindex) {
154
- secpropobj[arrayItem.property_css_name] = arrayItem.property_value;
155
- });
156
-
157
- setsectionproperties({ ...secpropobj });
158
- setTabIndex(0);
159
- settabname('descriptiontab');
160
- if (sectionproperties.prodCatShow == 'Hide' || (sectionproperties.descriptionposition != 'Bottom' && fetchProductInfoQueryContext?.data?.data?.productinfo?.product_videos?.length == 0)) {
161
- settabname('shippingpolicytab');
162
- } else if (
163
- fetchProductInfoQueryContext?.data?.data?.productinfo?.product_videos?.length == 0 &&
164
- sectionproperties.showfirstpolicy == 'Hide' &&
165
- sectionproperties.showsecondpolicy == 'Hide'
166
- ) {
167
- // settabname('videostab');
168
- settabname('reviewstab');
169
- } else if (
170
- fetchProductInfoQueryContext?.data?.data?.productinfo?.product_videos?.length != 0 &&
171
- sectionproperties.showfirstpolicy == 'Hide' &&
172
- sectionproperties.showsecondpolicy == 'Hide'
173
- ) {
174
- // settabname('videostab');
175
- settabname('videostab');
176
- }
177
- }
178
- }, [StatePagePropertiesContext]);
179
- useEffect(() => {
180
- if (fetchProductInfoQueryContext?.data?.data?.productinfo?.product_videos?.length != 0) {
181
- if (Array.isArray(fetchProductInfoQueryContext?.data?.data?.productinfo?.product_videos)) {
182
- var temparr = [...fetchProductInfoQueryContext?.data?.data?.productinfo?.product_videos];
183
- temparr.forEach(function (item) {
184
- item.linkclicked = false;
185
- });
186
- setproductVideos([...temparr]);
187
- }
188
- }
189
- }, [fetchProductInfoQueryContext.isSuccess, fetchProductInfoQueryContext.data]);
190
- useEffect(() => {
191
- var cartindex = templatepropcontext.pagesnprop.findIndex((x) => x.staticpageid == '6218bccb810ae');
192
-
193
- if (cartindex >= 0) {
194
- setpageindexcontext(cartindex);
195
- setCurrentPageId(templatepropcontext.pagesnprop[cartindex].pageid);
196
- if (props.srcfromprops != 'templatedraftrouter') {
197
- setCurrentPageIdContext(templatepropcontext.pagesnprop[cartindex].pageid);
198
- }
199
- }
200
- }, []);
201
- useEffect(() => {
202
- var secpropobj = {};
203
- templatepropcontext?.pagesnprop[pageindexcontext]?.pageproperties?.forEach(function (arrayItem, arrayindex) {
204
- secpropobj[arrayItem.property_css_name] = arrayItem.property_value;
205
- });
206
- setsectionproperties({ ...secpropobj });
207
- }, [pageindexcontext]);
208
- useEffect(() => {
209
- if (productidparam == undefined) {
210
- productidassigner(ProductIdProdutInfoModalContext);
211
- } else {
212
- productidassigner(productidparam);
213
- }
214
- }, []);
215
- // useEffect(() => {
216
- // if (fetchProductInfoQueryContext.isSuccess) {
217
- // setProductInfoObj({ ...fetchProductInfoQueryContext.data });
218
- // }
219
- // }, [fetchProductInfoQueryContext.isSuccess, fetchProductInfoQueryContext.data, props, props.actions]);
220
- useEffect(() => {
221
- if (Object.keys(ProductInfoObj).length != 0 && !isloaded) {
222
- variantchecker();
223
- Pixel_EventsContext('productview', {
224
- name_en: fetchProductInfoQueryContext?.data?.data?.productinfo?.name_en,
225
- name_ar: fetchProductInfoQueryContext?.data?.data?.productinfo?.name_ar,
226
- productid: fetchProductInfoQueryContext?.data?.data?.productinfo?.productid,
227
- sku: fetchProductInfoQueryContext?.data?.data?.productinfo?.sku,
228
- });
229
- Pixel_EventsContext('ViewContent', {
230
- name_en: fetchProductInfoQueryContext?.data?.data?.productinfo?.name_en,
231
- name_ar: fetchProductInfoQueryContext?.data?.data?.productinfo?.name_ar,
232
- productid: fetchProductInfoQueryContext?.data?.data?.productinfo?.productid,
233
- sku: fetchProductInfoQueryContext?.data?.data?.productinfo?.sku,
234
- });
235
- }
236
- }, [ProductInfoObj, isloaded]);
237
- const productidassigner = (productid) => {
238
- var tempFetchQueriesEngineContext = { ...FetchQueriesEngineContext };
239
- tempFetchQueriesEngineContext.fetchproductinfo = true;
240
- setFetchQueriesEngineContext({ ...tempFetchQueriesEngineContext });
241
- var tempfetchproductinfoObjContext = { ...fetchproductinfoObjContext };
242
-
243
- tempfetchproductinfoObjContext.productid = productid;
244
- setfetchproductinfoObjContext({ ...tempfetchproductinfoObjContext });
245
- setfinalProductId(productid);
246
- };
247
- useEffect(() => {
248
- // if (!fetchProductInfoQueryContext.isFetching && fetchProductInfoQueryContext.isSuccess && ikimagecredcontext != undefined) {
249
- if (
250
- isProductPageLoading == false &&
251
- Object.keys(fetchProductInfoQueryContext) != 0 &&
252
- fetchProductInfoQueryContext?.data?.data?.productinfo != undefined &&
253
- fetchProductInfoQueryContext?.data?.data?.productinfo != null &&
254
- ikimagecredcontext != undefined
255
- ) {
256
- if (fetchProductInfoQueryContext?.data?.data?.productinfo != null) {
257
- var tempproductimagesarray = [];
258
- var sizeguideimagetemp = [];
259
-
260
- if (Array.isArray(fetchProductInfoQueryContext?.data?.data?.productinfo?.productimages)) {
261
- fetchProductInfoQueryContext?.data?.data?.productinfo?.productimages.forEach(function (arrayItem, arrayindex) {
262
- var imagepath = arrayItem.path;
263
-
264
- // var sizeguideimagearrayobj = {
265
- // thumbnail: arrayItem.path,
266
- // original: arrayItem.path,
267
- // galleryid: arrayItem.galleryid,
268
- // };
269
-
270
- if (imagepath.includes('https')) {
271
- let position = imagepath.search('https');
272
- let result = imagepath.slice(position);
273
- var productimagesarrayobj = {
274
- thumbnail: arrayItem.path,
275
- original: arrayItem.path,
276
- galleryid: arrayItem.galleryid,
277
- };
278
- } else {
279
- var productimagesarrayobj = {
280
- thumbnail: ikimagecredcontext?.ikimageendpoint + '/tr:w-' + sectionproperties.imagetr_w + ',h-' + sectionproperties.imagetr_h + '/' + arrayItem.path,
281
- original: ikimagecredcontext?.ikimageendpoint + '/tr:w-' + sectionproperties.imagetr_w + ',h-' + sectionproperties.imagetr_h + '/' + arrayItem.path,
282
- galleryid: arrayItem.galleryid,
283
- // description:
284
- // { dangerouslySetInnerHTML={{
285
- // __html:
286
- // fetchProductInfoQueryContext?.data?.data?.productinfo?.description_en,
287
- // }}}
288
- // langdetect == 'en' ? fetchProductInfoQueryContext?.data?.data?.productinfo?.description_en : fetchProductInfoQueryContext?.data?.data?.productinfo?.description_ar,
289
- };
290
- }
291
- // tempproductimagesarray.push(productimagesarrayobj);
292
- if (arrayItem?.is_size_guide != undefined && arrayItem?.is_size_guide != null && arrayItem?.is_size_guide == 1) {
293
- sizeguideimagetemp.push(productimagesarrayobj);
294
- } else {
295
- tempproductimagesarray.push(productimagesarrayobj);
296
- }
297
- });
298
- }
299
- setsizeguideimage([...sizeguideimagetemp]);
300
-
301
- setproductimagesarray([...tempproductimagesarray]);
302
- variantchecker();
303
- var quantitystepincrearse = 1;
304
-
305
- var tempaddtocardpayloadobj = { ...addtocardpayloadobj };
306
- tempaddtocardpayloadobj.productid = fetchProductInfoQueryContext?.data?.data?.productinfo?.productid;
307
- // setaddtocardpayloadobj({ ...tempaddtocardpayloadobj });
308
- setRelatedProductsTagid(fetchProductInfoQueryContext?.data?.data?.productinfo?.maintagid);
309
- if (fetchProductInfoQueryContext?.data?.data?.productinfo?.maintagid != null && fetchProductInfoQueryContext?.data?.data?.productinfo?.maintagid?.length != 0) {
310
- GeneralAPIMutationContext.mutate({
311
- endpointurl: '/FetchRelatedProducts',
312
- tagid: fetchProductInfoQueryContext?.data?.data?.productinfo?.maintagid,
313
- mutateSuccesscallback: (data, variables) => {
314
- if (data.data.status) {
315
- setRelatedproducts(data.data.productsrelated);
316
- } else {
317
- // NotificationManager.warning('', data.data.reason);
318
- }
319
- },
320
- });
321
- }
322
- if (fetchProductInfoQueryContext?.data?.data?.productinfo?.item_type == 'package list') {
323
- tempaddtocardpayloadobj.item_type = 'package list';
324
- } else {
325
- tempaddtocardpayloadobj.item_type = 'product';
326
- }
327
-
328
- if (
329
- fetchProductInfoQueryContext?.data?.data?.productinfo?.quantitystepincrearse != undefined &&
330
- fetchProductInfoQueryContext?.data?.data?.productinfo?.quantitystepincrearse != null &&
331
- fetchProductInfoQueryContext?.data?.data?.productinfo?.quantitystepincrearse != 1 &&
332
- fetchProductInfoQueryContext?.data?.data?.productinfo?.quantitystepincrearse != ''
333
- ) {
334
- if (authdetailsContext?.instinfo?.contactinfo.instid == '66d6de1a1e04a') {
335
- quantitystepincrearse = parseFloat(fetchProductInfoQueryContext?.data?.data?.productinfo?.quantitystepincrearse);
336
- } else {
337
- quantitystepincrearse = parseInt(fetchProductInfoQueryContext?.data?.data?.productinfo?.quantitystepincrearse);
338
- }
339
- // quantitystepincrearse = parseFloat(fetchProductInfoQueryContext?.data?.data?.productinfo?.quantitystepincrearse);
340
- }
341
- // if (fetchProductInfoQueryContext?.data?.data?.productinfo?.quantitystepincrearse != 1 && fetchProductInfoQueryContext?.data?.data?.productinfo?.quantitystepincrearse != '') {
342
- // quantitystepincrearse = parseFloat(fetchProductInfoQueryContext?.data?.data?.productinfo?.quantitystepincrearse);
343
- // } else {
344
- // quantitystepincrearse = parseInt(fetchProductInfoQueryContext?.data?.data?.productinfo?.quantitystepincrearse);
345
- // }
346
- tempaddtocardpayloadobj.quantity = quantitystepincrearse;
347
- setaddtocardpayloadobj({ ...tempaddtocardpayloadobj });
348
- }
349
- }
350
- }, [fetchProductInfoQueryContext.isSuccess, fetchProductInfoQueryContext.data, ikimagecredcontext]);
351
- const clearchoosenvaluesbutkeepcurrentvalue = (optionindex, optionvaluesitem, optionvaluesindex) => {
352
- var productarr = ProductInfoObj;
353
- productarr?.data?.productinfo?.productoptions?.forEach(function (item, index) {
354
- item.isselected = 0;
355
- item?.optionvalues?.forEach(function (valueitem, valueindex) {
356
- valueitem.isselected = 0;
357
- });
358
- });
359
-
360
- selectproductoptionvalue(optionindex, optionvaluesitem, optionvaluesindex, productarr);
361
- };
362
- const selectproductoptionvalue = (optionindex, optionvaluesitem, optionvaluesindex, productarrtobepassed) => {
363
- if (productarrtobepassed == undefined || productarrtobepassed == null) {
364
- var productarr = ProductInfoObj;
365
- } else {
366
- var productarr = productarrtobepassed;
367
- }
368
- var isselected = productarr.data.productinfo.productoptions[optionindex].optionvalues[optionvaluesindex].isselected;
369
- if (isselected == 1) {
370
- productarr.data.productinfo.productoptions[optionindex].optionvalues[optionvaluesindex].isselected = 0;
371
- } else {
372
- productarr.data.productinfo.productoptions[optionindex].optionvalues[optionvaluesindex].isselected = 1;
373
- }
374
- if (
375
- productarr.data.productinfo.productoptions[optionindex].optionname == 'color' ||
376
- productarr.data.productinfo.productoptions[optionindex].optionname == 'Color' ||
377
- productarr.data.productinfo.productoptions[optionindex].optionname == 'Colour'
378
- ) {
379
- setvariantvalueidentifier(productarr.data.productinfo.productoptions[optionindex].optionvalues[optionvaluesindex]?.value_identifier);
380
- // setvariantnotchosendisclaimer('This field is required');
381
- var variantimageindex = 0;
382
- var variantImageMatching = null;
383
- productarr.data.productinfo.variants.forEach(function (ProductVariantItem, ProductVariantIndex) {
384
- ProductVariantItem.variantoptions.forEach(function (varinatoptionitem, variantoptionindex) {
385
- if (optionvaluesitem.valueid == varinatoptionitem.valueid) {
386
- variantImageMatching = ProductVariantItem;
387
- }
388
- });
389
- });
390
-
391
- if (variantImageMatching != null) {
392
- productimagesarray?.forEach(function (tempimageitem, tempimageindex) {
393
- if (tempimageitem.galleryid == variantImageMatching?.variantgalleryid) {
394
- variantimageindex = tempimageindex;
395
- }
396
- });
397
-
398
- setcurrentshowingimageindex(variantimageindex);
399
- }
400
- }
401
- productarr.data.productinfo.productoptions[optionindex].optionvalues.forEach(function (arrayItem, arrayindex) {
402
- if (optionvaluesindex != arrayindex) {
403
- arrayItem.isselected = 0;
404
- }
405
- });
406
- variantchecker();
407
- variantcompleting();
408
- setProductInfoObj({ ...productarr });
409
- };
410
- const variantchecker = () => {
411
- var productarr = ProductInfoObj;
412
- if (Object.keys(productarr).length != 0) {
413
- if (productarr?.data?.productinfo?.hasvariants == 1) {
414
- var selectedoptionsvalues = [];
415
- var variantsaccessible = [];
416
- productarr.data.productinfo.productoptions.forEach(function (productoptionsitem, productoptionsindex) {
417
- productoptionsitem.optionvalues.forEach(function (ProductOptionValuesitem, ProductOptionValuesIndex) {
418
- if (ProductOptionValuesitem.isselected == 1) {
419
- selectedoptionsvalues.push(ProductOptionValuesitem);
420
- }
421
- });
422
- });
423
- if (selectedoptionsvalues.length == 0) {
424
- productarr.data.productinfo.variants.forEach(function (ProductVariantItem, ProductVariantIndex) {
425
- ProductVariantItem.variantoptions.forEach(function (varinatoptionitem, variantoptionindex) {
426
- productarr.data.productinfo.productoptions.forEach(function (productoptionsitem, productoptionsindex) {
427
- productoptionsitem.optionvalues.forEach(function (ProductOptionValuesitem, ProductOptionValuesIndex) {
428
- if (ProductOptionValuesitem.valueid == varinatoptionitem.valueid) {
429
- ProductOptionValuesitem.isenabled = 1;
430
- }
431
- });
432
- });
433
- });
434
- });
435
- } else {
436
- productarr.data.productinfo.productoptions.forEach(function (productoptionsitem, productoptionsindex) {
437
- productoptionsitem.optionvalues.forEach(function (ProductOptionValuesitem, ProductOptionValuesIndex) {
438
- ProductOptionValuesitem.isenabled = 0;
439
- });
440
- });
441
-
442
- productarr.data.productinfo.variants.forEach(function (ProductVariantItem, ProductVariantIndex) {
443
- var variantcommonvalues = [];
444
- ProductVariantItem.variantoptions.forEach(function (varinatoptionitem, variantoptionindex) {
445
- selectedoptionsvalues.forEach(function (ProductOptionValuesitem, ProductOptionValuesIndex) {
446
- if (ProductOptionValuesitem.optionid == varinatoptionitem.optionid) {
447
- variantcommonvalues.push(varinatoptionitem);
448
- }
449
- });
450
- });
451
-
452
- var addvariantcount = [];
453
- var addvariant = false;
454
- selectedoptionsvalues.forEach(function (ProductOptionValuesitem, ProductOptionValuesIndex) {
455
- addvariant = false;
456
- variantcommonvalues.forEach(function (varinatoptionitem, variantoptionindex) {
457
- if (ProductOptionValuesitem.optionid == varinatoptionitem.optionid) {
458
- if (ProductOptionValuesitem.valueid == varinatoptionitem.valueid) {
459
- addvariant = true;
460
- } else {
461
- addvariantcount.push(varinatoptionitem);
462
- }
463
- }
464
- });
465
- });
466
- if (addvariant && addvariantcount.length == 0) {
467
- variantsaccessible.push(ProductVariantItem);
468
- }
469
- });
470
-
471
- variantsaccessible.forEach(function (ProductVariantItem, ProductVariantIndex) {
472
- ProductVariantItem.variantoptions.forEach(function (varinatoptionitem, variantoptionindex) {
473
- productarr.data.productinfo.productoptions.forEach(function (productoptionsitem, productoptionsindex) {
474
- productoptionsitem.optionvalues.forEach(function (ProductOptionValuesitem, ProductOptionValuesIndex) {
475
- if (ProductOptionValuesitem.valueid == varinatoptionitem.valueid) {
476
- ProductOptionValuesitem.isenabled = 1;
477
- }
478
- });
479
- });
480
- });
481
- });
482
- }
483
- // queryClient.setQueryData('fetchProductInfo_API' + JSON.stringify(fetchproductinfoObjContext), productarr);
484
- setProductInfoObj({ ...productarr });
485
- setisloaded(true);
486
- }
487
- }
488
- };
489
- const variantcompleting = () => {
490
- setvariantindexcompleted('');
491
- var tempaddtocardpayloadobj = { ...addtocardpayloadobj };
492
- tempaddtocardpayloadobj.variantid = '';
493
- setaddtocardpayloadobj({ ...tempaddtocardpayloadobj });
494
- var productarr = ProductInfoObj;
495
- var selectedoptionsvalues = [];
496
-
497
- productarr.data.productinfo.productoptions.forEach(function (productoptionsitem, productoptionsindex) {
498
- productoptionsitem.optionvalues.forEach(function (ProductOptionValuesitem, ProductOptionValuesIndex) {
499
- if (ProductOptionValuesitem.isselected == 1) {
500
- selectedoptionsvalues.push(ProductOptionValuesitem);
501
- }
502
- });
503
- });
504
- productarr.data.productinfo.variants.forEach(function (ProductVariantItem, ProductVariantIndex) {
505
- var isvariant = false;
506
- var variantnotmatch = [];
507
- if (selectedoptionsvalues.length == ProductVariantItem.variantoptions.length) {
508
- isvariant = true;
509
- ProductVariantItem.variantoptions.forEach(function (varinatoptionitem, variantoptionindex) {
510
- selectedoptionsvalues.forEach(function (ProductOptionValuesitem, ProductOptionValuesIndex) {
511
- if (ProductOptionValuesitem.optionid == varinatoptionitem.optionid) {
512
- if (ProductOptionValuesitem.valueid == varinatoptionitem.valueid) {
513
- } else {
514
- variantnotmatch.push('s');
515
- }
516
- }
517
- });
518
- });
519
- }
520
- if (variantnotmatch.length == 0 && isvariant == true) {
521
- var variantobj = fetchProductInfoQueryContext?.data?.data?.productinfo?.variants[ProductVariantIndex];
522
- var variantid = '';
523
- if (variantobj == undefined) {
524
- setisoutofstock(false);
525
- NotificationManager.warning('', 'Variant Not Found');
526
- } else {
527
- variantid = variantobj.variantid;
528
- var tempaddtocardpayloadobj = { ...addtocardpayloadobj };
529
- tempaddtocardpayloadobj.variantid = variantid;
530
- var variantimageindex = 0;
531
- productimagesarray?.forEach(function (tempimageitem, tempimageindex) {
532
- if (tempimageitem.galleryid == variantobj?.variantgalleryid) {
533
- variantimageindex = tempimageindex;
534
- }
535
- });
536
- if (variantobj.current_quantity <= 0) {
537
- setisoutofstock(true);
538
- } else {
539
- setisoutofstock(false);
540
- }
541
- setvariantsku(variantobj?.sku);
542
- setcurrentshowingimageindex(variantimageindex);
543
- setaddtocardpayloadobj({ ...tempaddtocardpayloadobj });
544
- setvariantindexcompleted(ProductVariantIndex);
545
- setvariantindex(ProductVariantIndex);
546
- }
547
- } else {
548
- // setisoutofstock(false);
549
- }
550
- });
551
- // queryClient.setQueryData('fetchProductInfo_API' + JSON.stringify(fetchproductinfoObjContext), productarr);
552
- setProductInfoObj({ ...productarr });
553
- };
554
- const addtocartfunc = (forcetocheckout) => {
555
- var runfunc = false;
556
- var forcetocheckoutvalue = forcetocheckout;
557
- // alert(addtocardpayloadobj.quantity + 'sad');
558
- if (addtocardpayloadobj.productid.length != 0 && addtocardpayloadobj.quantity > 0) {
559
- if (fetchProductInfoQueryContext?.data?.data?.productinfo?.hasvariants == 1) {
560
- if (addtocardpayloadobj.variantid.length != 0) {
561
- runfunc = true;
562
- } else {
563
- // here
564
- setvariantnotchosendisclaimer('This field is required');
565
- NotificationManager.warning(
566
- '',
567
- authdetailsContext?.instinfo?.contactinfo.instid == '674f0617c7811'
568
- ? 'Please Choose Size & Color'
569
- : authdetailsContext?.instinfo?.contactinfo.instid == '67e448d2ef6e0'
570
- ? 'من فضلك اختر لون'
571
- : 'Please Choose Product Options',
572
- );
573
- }
574
- } else {
575
- runfunc = true;
576
- }
577
- } else {
578
- NotificationManager.warning('', 'Please Choose Quantity');
579
- }
580
-
581
- if (runfunc == true) {
582
- var tempaddtocardpayloadobj = { ...addtocardpayloadobj };
583
- if (fetchProductInfoQueryContext?.data?.data?.productinfo?.quantitystepincrearse != 1 && fetchProductInfoQueryContext?.data?.data?.productinfo?.quantitystepincrearse != '') {
584
- tempaddtocardpayloadobj.quantity = parseFloat(tempaddtocardpayloadobj.quantity).toFixed(3);
585
- } else {
586
- }
587
- tempaddtocardpayloadobj.isproductforcedtocheckout = fetchProductInfoQueryContext?.data?.data?.productinfo?.isproductforcedtocheckout;
588
- tempaddtocardpayloadobj.vendorid = fetchProductInfoQueryContext?.data?.data?.productinfo?.vendorproviderid;
589
- if (forcetocheckoutvalue != undefined) {
590
- tempaddtocardpayloadobj.forcetocheckoutvalue = forcetocheckoutvalue;
591
- }
592
- var Extrafieldvalidationresponse = validateextrafields();
593
- if (Extrafieldvalidationresponse.status) {
594
- var finalprice = 0;
595
- if (fetchProductInfoQueryContext?.data?.data?.productinfo?.hassale == 1) {
596
- finalprice = getprice_discountpriceprops('defaultsaleprice', 0, variantindexcompleted);
597
- } else {
598
- finalprice = getprice_discountpriceprops('defaultprice', 0, variantindexcompleted);
599
- }
600
- Pixel_EventsContext('AddToCart', {
601
- content_ids: [fetchProductInfoQueryContext?.data?.data?.productinfo?.productid],
602
- content_name: fetchProductInfoQueryContext?.data?.data?.productinfo?.name_en + ' - ' + fetchProductInfoQueryContext?.data?.data?.productinfo?.name_ar,
603
- content_sku: fetchProductInfoQueryContext?.data?.data?.productinfo?.sku,
604
- content_type: 'product',
605
- currency: fetchProductInfoQueryContext?.data?.data?.currencyname_en,
606
- value: finalprice,
607
- quantity: addtocardpayloadobj.quantity,
608
- });
609
- AddtoCartContext(tempaddtocardpayloadobj);
610
- } else {
611
- // NotificationManager.warning('', Extrafieldvalidationresponse.reason);
612
- }
613
- }
614
- };
615
- const validateextrafields = () => {
616
- var tempaddtocardpayloadobj = { ...addtocardpayloadobj };
617
- var status = false;
618
- var reason = '';
619
- var missingitemsfound = [];
620
- var extrafields = fetchProductInfoQueryContext?.data?.data?.productinfo?.productextrafields;
621
- if (extrafields?.length == 0) {
622
- status = true;
623
- } else {
624
- extrafields.forEach(function (item, index) {
625
- if (item.isrequired == 1) {
626
- var itemfound = null;
627
- tempaddtocardpayloadobj?.extrafields?.forEach(function (cchoosenitemvalue) {
628
- if (cchoosenitemvalue.id == item.id) {
629
- itemfound = cchoosenitemvalue;
630
- }
631
- });
632
- if (itemfound == null) {
633
- missingitemsfound.push(item);
634
- } else {
635
- if (itemfound?.value?.length == 0) {
636
- missingitemsfound.push(item);
637
- }
638
- }
639
- }
640
- });
641
- }
642
- if (missingitemsfound.length == 0) {
643
- status = true;
644
- } else {
645
- status = false;
646
- reason = 'Missing items';
647
- missingitemsfound.forEach(function (missingitem) {
648
- var notftitle = langdetect == 'en' ? missingitem.title_en : missingitem.title_ar;
649
- NotificationManager.warning('', langdetect == 'en' ? 'Please Choose ' + notftitle : 'من فضلك اختر' + notftitle);
650
- });
651
- }
652
- return { status: status, reason: reason };
653
- };
654
- const returnpolicyobj = (policytype) => {
655
- var policyobj = {};
656
- authdetailsContext?.instinfo?.instpolicies?.forEach(function (item, index) {
657
- if (item.policytype == policytype) {
658
- policyobj = item;
659
- }
660
- });
661
- return policyobj;
662
- };
663
- const relatedproducts = () => {
664
- if (Relatedproducts.length != 0) {
665
- return (
666
- <div
667
- className="w-100 row ml-0 mr-0 d-flex justify-content-start pl-md-3 pr-md-3 pl-sm-2 pr-sm-2"
668
- style={{
669
- background: sectionproperties.relatedproductsbg,
670
- paddingTop: sectionproperties.relatedproductspaddingTop + 'px',
671
- paddingBottom: sectionproperties.relatedproductspaddingBottom + 'px',
672
- paddingLeft: sectionproperties.relatedproductspaddingLeft + 'px',
673
- paddingRight: sectionproperties.relatedproductspaddingRight + 'px',
674
- borderTopLeftRadius: sectionproperties.borderTopLeftRadius + 'px',
675
- borderTopRightRadius: sectionproperties.borderTopRightRadius + 'px',
676
- borderBottomLeftRadius: sectionproperties.borderBottomLeftRadius + 'px',
677
- borderBottomRightRadius: sectionproperties.borderBottomRightRadius + 'px',
678
- borderTop: sectionproperties.sectioncardborderwidth + 'px solid ' + sectionproperties.sectioncardbordercolor,
679
- borderBottom: sectionproperties.sectioncardborderwidth + 'px solid ' + sectionproperties.sectioncardbordercolor,
680
- marginBottom: sectionproperties.relatedProductsMb + 'px',
681
- }}
682
- >
683
- {Relatedproducts.length != 0 && (
684
- <div className="col-lg-12 p-0">
685
- <div className="row m-0 w-100">
686
- <div
687
- className="col-lg-12 col-md-12 col-sm-12 d-flex align-items-center p-0 flex-column"
688
- style={{
689
- justifyContent: sectionproperties.relatedtitleposition == 'Centered' ? 'center' : 'start',
690
- marginBottom: sectionproperties.relatedtitlemb + 'px',
691
- }}
692
- >
693
- <p
694
- className={' m-0 p-0 wordbreak '}
695
- style={{
696
- fontSize: sectionproperties.relatedproductstitlefontsize + 'px',
697
- color: sectionproperties.relatedproductstitlecolor,
698
- fontWeight: sectionproperties.relatedproductstitlefontweight,
699
- textAlign: sectionproperties.relatedtitleposition == 'Centered' ? 'center' : langdetect == 'en' ? 'left' : 'right',
700
- }}
701
- >
702
- {langdetect == 'en' ? sectionproperties.relatedproducttitleEn : sectionproperties.relatedproducttitleAr}
703
- </p>
704
- <div
705
- style={{
706
- width: sectionproperties.relatedproducttitle_lineafterwidth + 'px',
707
- height: 2,
708
- background: sectionproperties.relatedproducttitlelinebgcolor,
709
- borderRadius: 5,
710
- }}
711
- />
712
- </div>
713
- <div className="col-lg-12 p-0">
714
- <ScrollMenu
715
- transitionBehavior={'auto'}
716
- wrapperClassName={''}
717
- itemClassName={
718
- authdetailsContext?.instinfo?.contactinfo.instid == '67dc756de56bd'
719
- ? 'scrollmenuclassnameitemrelatedproductkingtut'
720
- : authdetailsContext?.instinfo?.contactinfo.instid == '684fdf3f9e856'
721
- ? 'scrollmenuclassnameitemrelatedproductorinthya'
722
- : 'scrollmenuclassnameitemrelatedproduct'
723
- }
724
- scrollContainerClassName={'scrollmenuclasssubscrollbarrelatedproducts'}
725
- >
726
- {Relatedproducts.map((item, index) => {
727
- if (item.productinfo != null) {
728
- if (item.productid != fetchProductInfoQueryContext?.data?.data?.productinfo?.productid) {
729
- return (
730
- <div
731
- className="col-lg-12 mb-3 px-1"
732
- onClick={() => {
733
- if (props.srcfromprops != 'templatdraftrouter') {
734
- productidassigner(item.productid);
735
- } else {
736
- routingcountext(StaticPagesLinksContext.productinfo, true, item.productid);
737
- }
738
- }}
739
- >
740
- <div className={productinfo_cssstyles.relatedproductcardcont + ' row w-100 m-0 cursor-pointer '}>
741
- <div class={' cursor-pointer w-100 '}>
742
- <div
743
- class={`${productinfo_cssstyles.relatedProductImageCont}` + ' w-100 p-0 mb-2 '}
744
- style={{
745
- background: '#F1EDE7',
746
- }}
747
- >
748
- <Imagekitimagecomp
749
- urlEndpoint={ikimagecredcontext?.ikimageendpoint}
750
- publicKey={ikimagecredcontext?.ikimagepublickey}
751
- // path={
752
- // '/tr:w-' +
753
- // sectionproperties.relatedProductDimWidth +
754
- // ',h-' +
755
- // sectionproperties.galleryHeightDimension +
756
- // '/' +
757
- // item.productinfo.productmainimage
758
- // }
759
- path={
760
- '/tr:w-' + sectionproperties.imagetr_w + ',h-' + sectionproperties.imagetr_h + '/' + item.productinfo.productmainimage
761
- }
762
- loading="lazy"
763
- style={{
764
- width: '100%',
765
- height: '100%',
766
- objectFit: 'contain',
767
- }}
768
- />
769
- </div>
770
- <div class="row m-0 w-100 ">
771
- <div class="col-lg-12 p-0">
772
- <p
773
- class={
774
- `${productinfo_cssstyles.relatedproductNameStyles}` +
775
- ' relatedproductNameStyles wordbreak wordbreak1 text-center m-0 '
776
- }
777
- >
778
- {langdetect == 'en' ? item.productinfo.name_en : item.productinfo.name_ar}
779
- </p>
780
- </div>
781
- <div style={{ flexDirection: 'column' }} class="col-lg-12 d-flex align-items-center justify-content-center p-0 ">
782
- <p class={`${productinfo_cssstyles.relatedproductPricestyles}` + ' m-0 '}>
783
- {item.productinfo.hassale == 1 ? item.productinfo.defaultsaleprice : item.productinfo.defaultprice}{' '}
784
- {langdetect == 'en' ? authdetailsContext?.currencyname_en : authdetailsContext?.currencyname_ar}{' '}
785
- </p>
786
- </div>
787
- </div>
788
- </div>
789
- </div>
790
- </div>
791
- );
792
- }
793
- }
794
- })}
795
- </ScrollMenu>
796
- </div>
797
- </div>
798
- </div>
799
- )}
800
- </div>
801
- );
802
- }
803
- };
804
- // const DescriptionContent = () => {
805
- // return (
806
- // <div class="col-lg-12 pl-5 pr-5 p-md-0 w-100">
807
- // <div class="row m-0 w-100">
808
- // {langdetect == 'en' &&
809
- // fetchProductInfoQueryContext?.data?.data?.productinfo?.description_en != '' &&
810
- // fetchProductInfoQueryContext?.data?.data?.productinfo?.description_en != null &&
811
- // sectionproperties.prodCatShow == 'Show' && (
812
- // <div className="col-lg-12 p-0 mb-4 d-flex justify-content-center">
813
- // <div className="row m-0 w-100 d-flex">
814
- // <div class="col-lg-12 p-0 d-flex justify-content-start">
815
- // <p
816
- // className={'text-black text-capitalize m-0 p-0 wordbreak'}
817
- // style={{
818
- // textAlign: langdetect == 'en' ? 'left' : 'right',
819
- // }}
820
- // dangerouslySetInnerHTML={{
821
- // __html:
822
- // showMore == true
823
- // ? fetchProductInfoQueryContext?.data?.data?.productinfo?.description_en
824
- // : fetchProductInfoQueryContext?.data?.data?.productinfo?.description_en.slice(0, 1000),
825
- // }}
826
- // ></p>
827
- // </div>
828
- // <div class="col-lg-12 allcentered">
829
- // {fetchProductInfoQueryContext?.data?.data?.productinfo?.description_en.length > 1000 && (
830
- // <p class="m-0 p-0 cursor-pointer text-grey font-weight-600" onClick={() => setShowMore(!showMore)}>
831
- // {showMore ? lang.showless : lang.showmore}
832
- // </p>
833
- // )}
834
- // </div>
835
- // </div>
836
- // </div>
837
- // )}
838
- // {langdetect == 'ar' &&
839
- // fetchProductInfoQueryContext?.data?.data?.productinfo?.description_ar != '' &&
840
- // fetchProductInfoQueryContext?.data?.data?.productinfo?.description_ar != null &&
841
- // sectionproperties.prodCatShow == 'Show' && (
842
- // <div className="col-lg-12 p-0 mb-4 d-flex justify-content-center">
843
- // <div className="row m-0 w-100 d-flex">
844
- // <div class="col-lg-12 p-0 d-flex justify-content-start flex-column">
845
- // <p
846
- // className={'text-black text-capitalize m-0 p-0 wordbreak'}
847
- // style={{
848
- // textAlign: langdetect == 'en' ? 'left' : 'right',
849
- // }}
850
- // dangerouslySetInnerHTML={{
851
- // __html:
852
- // showMore == true
853
- // ? fetchProductInfoQueryContext?.data?.data?.productinfo?.description_ar
854
- // : fetchProductInfoQueryContext?.data?.data?.productinfo?.description_ar.slice(0, 1000),
855
- // }}
856
- // ></p>
857
- // </div>
858
- // <div class="col-lg-12 allcentered">
859
- // {fetchProductInfoQueryContext?.data?.data?.productinfo?.description_ar.length > 1000 && (
860
- // <p class="m-0 p-0 cursor-pointer text-grey font-weight-600 text-right" onClick={() => setShowMore(!showMore)}>
861
- // {showMore ? lang.showless : lang.showmore}
862
- // </p>
863
- // )}
864
- // </div>
865
- // </div>
866
- // </div>
867
- // )}
868
- // {sectionproperties.showGallery == 'Show' && fetchProductInfoQueryContext?.data?.data?.productinfo?.productimages?.length != 0 && (
869
- // <div class="col-lg-12 p-0">
870
- // <div
871
- // class="row m-0 w-100 allcentered pl-md-3 pr-md-3"
872
- // style={{
873
- // paddingLeft: sectionproperties.galleryPaddingHorizontal + 'px',
874
- // paddingRight: sectionproperties.galleryPaddingHorizontal + 'px',
875
- // }}
876
- // >
877
- // {fetchProductInfoQueryContext?.data?.data?.productinfo?.productimages?.map((item, index) => {
878
- // if (index <= 6) {
879
- // return (
880
- // <div
881
- // class={' col-md-4 col-sm-12 mb-3 col-lg-' + sectionproperties.galleryNoOfCols}
882
- // style={{
883
- // height: sectionproperties.galleryHeight + 'px',
884
- // }}
885
- // >
886
- // <Imagekitimagecomp
887
- // urlEndpoint={ikimagecredcontext?.ikimageendpoint}
888
- // publicKey={ikimagecredcontext?.ikimagepublickey}
889
- // path={'/tr:w-' + sectionproperties.galleryWidthDimension + ',h-' + sectionproperties.galleryHeightDimension + '/' + item.path}
890
- // style={{
891
- // width: '100%',
892
- // height: '100%',
893
- // objectFit: 'contain',
894
- // }}
895
- // loading="lazy"
896
- // />
897
- // </div>
898
- // );
899
- // }
900
- // })}
901
- // </div>
902
- // </div>
903
- // )}
904
- // </div>
905
- // </div>
906
- // );
907
- // };
908
- const productinfo_cssstyles = {
909
- containerstyles: css({
910
- marginTop: props.srcfromprops != 'templatedraftrouter' ? sectionproperties.marginTop + 'px' : 30,
911
- '@media (max-width: 800px)': {
912
- marginTop: sectionproperties.marginTopResp + 'px',
913
- },
914
- }),
915
- submitreviewbtn: css({
916
- width: sectionproperties.applybtn_width + 'px',
917
- height: sectionproperties.applybtn_height + 'px',
918
- borderRadius: sectionproperties.applybtn_borderBottomLeftRadius + 'px',
919
- fontSize: sectionproperties.applybtn_fontsize + 'px',
920
- color: sectionproperties.applybtn_textColor,
921
- fontWeight: sectionproperties.applybtn_Textfontweight,
922
- backgroundColor: sectionproperties.applybtn_bgColor,
923
- border: sectionproperties.applybtnborderwidth + 'px solid ' + sectionproperties.applybtnbordercolor,
924
- textTransform: sectionproperties.applybtn_texttransform,
925
- ':hover': {
926
- transition: '.3s',
927
- backgroundColor: sectionproperties.applybtn_bgColoronhover,
928
- color: sectionproperties.applybtn_Textcoloronhover,
929
- },
930
- }),
931
- sizeguidebtn: css({
932
- color: sectionproperties.sizeguidebtncolor,
933
- fontSize: sectionproperties.sizeguidebtnfontsize + 'px',
934
- transition: '.3s',
935
- textDecoration: 'underline',
936
- ':hover': {
937
- color: sectionproperties.sizeguidebtncoloronhover,
938
- borderColor: sectionproperties.sizeguidebtncoloronhover,
939
- fontWeight: sectionproperties.sizeguidebtnfontweight,
940
- },
941
- }),
942
- form_control: css({
943
- position: 'relative',
944
- display: 'flex',
945
- alignItems: 'center',
946
- display: 'block',
947
- width: '100%',
948
- padding: '0 10px',
949
- transition: '.3s',
950
- fontWeight: 500,
951
- border: sectionproperties.inputfieldbordertype == 'All' ? sectionproperties.inputfieldborderWidth + 'px solid ' + sectionproperties.inputfieldborderColor : 0,
952
- borderBottom: sectionproperties.inputfieldborderWidth + 'px solid ' + sectionproperties.inputfieldborderColor,
953
- borderRadius: sectionproperties.inputfieldborderradius + 'px',
954
- height: sectionproperties.inputfieldheight + 'px',
955
- background: sectionproperties.input_bgcolor,
956
- color: sectionproperties.inputfieldcolor,
957
- ':focus': {
958
- borderColor: sectionproperties.inputfeildbordercoloronfocus,
959
- },
960
- ':focus .login_input_icon': {
961
- color: sectionproperties.inputfeildbordercoloronfocus,
962
- },
963
- }),
964
- inputfield_label: css({
965
- color: sectionproperties.form_labelcolor,
966
- fontWeight: sectionproperties.form_labelfontweight,
967
- fontSize: sectionproperties.form_labelfontsize + 'px',
968
- textTransform: sectionproperties.form_labeltexttransform,
969
- marginBottom: sectionproperties.inputfieldbordertype == 'All' ? 10 : 0,
970
- }),
971
- reviewbutton: css({
972
- width: sectionproperties.reviewbtn_width + 'px',
973
- height: sectionproperties.reviewbtn_height + 'px',
974
- background: sectionproperties.reviewbtn_bgcolor,
975
- color: sectionproperties.reviewbtn_color,
976
- fontSize: sectionproperties.reviewbtn_fontsize + 'px',
977
- borderRadius: sectionproperties.reviewbtn_borderradius + 'px',
978
- border: sectionproperties.reviewbtn_borderwidth + 'px solid ' + sectionproperties.reviewbtn_bordercolor,
979
- fontWeight: sectionproperties.reviewbtn_fontweight,
980
- ':hover': {
981
- transition: '.3s',
982
- color: sectionproperties.reviewbtn_coloronhover,
983
- borderColor: sectionproperties.reviewbtn_coloronhover,
984
- backgroundColor: sectionproperties.reviewbtn_bgcoloronhover,
985
- },
986
- }),
987
- before: css({
988
- ':before': {
989
- background: sectionproperties.activetabbordercolor,
990
- },
991
- }),
992
- reservationtab: css({
993
- color: sectionproperties.tabtextactivecolor,
994
- fontWeight: sectionproperties.tabtextfontweight,
995
- background: sectionproperties.activetabbgcolor,
996
- textTransform: sectionproperties.tabtexttexttransform,
997
- borderRadius: sectionproperties.tabcontainerborderradius + 'px',
998
- fontFamily: 'Poppins',
999
- transition: '.3s',
1000
- textAlign: 'start',
1001
- }),
1002
- cart_btn: css({
1003
- position: 'relative',
1004
- display: 'flex',
1005
- alignItems: 'center',
1006
- justifyContent: 'center',
1007
- overflow: 'hidden',
1008
- width: sectionproperties.cartBtnWidth + 'px',
1009
- height: sectionproperties.cartBtnHeight + 'px',
1010
- background: sectionproperties.cartbtn_bgtransparent == 'Transparent' ? 'transparent' : sectionproperties.cartBtnbgColor,
1011
- borderRadius: sectionproperties.cart_btn_borderBottomLeftRadius + 'px',
1012
- color: sectionproperties.cartBtnTextcolor,
1013
- fontSize: sectionproperties.cartBtnTextfontsize + 'px',
1014
- textTransform: sectionproperties.cartBtnTexttransform,
1015
- fontWeight: sectionproperties.cartBtnTextfontweight,
1016
- border: sectionproperties.cartbtnborderwidth + 'px solid ' + sectionproperties.cartbtnbordercolor,
1017
- margin: 0,
1018
- transition: '.3s',
1019
- ':hover': {
1020
- background: sectionproperties.cartbtn_transparentbgcoloronhover == 'Transparent' ? 'transparent' : sectionproperties.cartBtnbgColoronhover,
1021
- color: sectionproperties.cartBtnTextcoloronhover,
1022
- borderColor: sectionproperties.cartBtnTextcoloronhover,
1023
- },
1024
- }),
1025
- buynow: css({
1026
- position: 'relative',
1027
- display: 'flex',
1028
- alignItems: 'center',
1029
- justifyContent: 'center',
1030
- overflow: 'hidden',
1031
- width: sectionproperties.cartBtnWidth + 'px',
1032
- height: sectionproperties.cartBtnHeight + 'px',
1033
- background: sectionproperties.buynowbgcolor,
1034
- borderRadius: sectionproperties.cart_btn_borderBottomLeftRadius + 'px',
1035
- color: sectionproperties.buynowtextcolor,
1036
- fontSize: sectionproperties.cartBtnTextfontsize + 'px',
1037
- textTransform: sectionproperties.cartBtnTexttransform,
1038
- fontWeight: sectionproperties.cartBtnTextfontweight,
1039
- border: sectionproperties.buynowborderwidth + 'px solid ' + sectionproperties.buynowbordercolor,
1040
- margin: 0,
1041
- transition: '.3s',
1042
- ':hover': {
1043
- background: sectionproperties.buynowbgcoloronhover,
1044
- color: sectionproperties.buynowtextcoloronhover,
1045
- borderColor: sectionproperties.buynowtextcoloronhover,
1046
- },
1047
- }),
1048
- sizeguidebtn2: css({
1049
- position: 'relative',
1050
- display: 'flex',
1051
- alignItems: 'center',
1052
- justifyContent: 'center',
1053
- overflow: 'hidden',
1054
- width: sectionproperties.cartBtnWidth + 'px',
1055
- height: sectionproperties.cartBtnHeight + 'px',
1056
- borderRadius: sectionproperties.cart_btn_borderBottomLeftRadius + 'px',
1057
- color: sectionproperties.sizeguidebtncolor,
1058
- fontSize: sectionproperties.cartBtnTextfontsize + 'px',
1059
- textTransform: sectionproperties.cartBtnTexttransform,
1060
- fontWeight: sectionproperties.cartBtnTextfontweight,
1061
- border: '1px solid ' + sectionproperties.sizeguidebtncolor,
1062
- margin: 0,
1063
- transition: '.3s',
1064
- ':hover': {
1065
- color: sectionproperties.sizeguidebtncoloronhover,
1066
- borderColor: sectionproperties.sizeguidebtncoloronhover,
1067
- },
1068
- }),
1069
- quantitybtn: css({
1070
- width: sectionproperties.quantitybtn_height + 'px',
1071
- height: sectionproperties.quantitybtn_width + 'px',
1072
- display: 'flex',
1073
- flexDirection: 'column',
1074
- overflow: 'hidden',
1075
- borderRadius: sectionproperties.quantitybtn_borderradius + 'px',
1076
- background: sectionproperties.quantitybtn_bgcolor,
1077
- alignItems: 'center',
1078
- justifyContent: 'center',
1079
- margin: 0,
1080
- position: 'relative',
1081
- fontWeight: sectionproperties.quantitybtn_textfontweight,
1082
- color: sectionproperties.quantitybtn_textcolor,
1083
- fontSize: sectionproperties.quantitybtn_textfontsize + 'px',
1084
- border: sectionproperties.quantitybtnborderwidth + 'px solid ' + sectionproperties.quantitybtnbordercolor,
1085
- }),
1086
- quantitybtn_text: css({
1087
- margin: 'auto',
1088
- }),
1089
- add_quantitybtn_icon_container: css({
1090
- position: 'relative',
1091
- width: '35px',
1092
- height: '35px',
1093
- background: sectionproperties.add_quantitybtn_bgcolor,
1094
- display: 'flex',
1095
- alignItems: 'center',
1096
- justifyContent: 'center',
1097
- borderRadius: sectionproperties.add_quantitybtn_borderradius + 'px',
1098
- fontSize: sectionproperties.add_quantitybtn_textfontsize + 'px',
1099
- color: sectionproperties.add_quantitybtn_textcolor,
1100
- transition: '.3s',
1101
- ':hover': {
1102
- color: sectionproperties.add_quantitybtn_textcoloronhover,
1103
- background: sectionproperties.add_quantitybtn_bgcoloronhover,
1104
- },
1105
- }),
1106
- minus_quantitybtn_icon_container: css({
1107
- position: 'relative',
1108
- width: '35px',
1109
- height: '35px',
1110
- background: sectionproperties.remove_quantitybtn_bgcolor,
1111
- display: 'flex',
1112
- alignItems: 'center',
1113
- justifyContent: 'center',
1114
- borderRadius: sectionproperties.remove_quantitybtn_borderradius + 'px',
1115
- fontSize: sectionproperties.remove_quantitybtn_textfontsize + 'px',
1116
- color: sectionproperties.remove_quantitybtn_textcolor,
1117
- transition: '.3s',
1118
- ':hover': {
1119
- color: sectionproperties.remove_quantitybtn_textcoloronhover,
1120
- background: sectionproperties.remove_quantitybtn_bgcoloronhover,
1121
- },
1122
- }),
1123
- closemodalbtn: css({
1124
- color: sectionproperties.sizeguidebtncolor,
1125
- transition: '.3s',
1126
-
1127
- ':hover': {
1128
- color: sectionproperties.sizeguidebtncoloronhover,
1129
- },
1130
- }),
1131
- relatedproductcardcont: css({
1132
- ':hover .relatedproductNameStyles': {
1133
- color: sectionproperties.relatedprodNameColoronhover,
1134
- },
1135
- }),
1136
- relatedProductImageCont: css({
1137
- height: sectionproperties.relatedProductImageHeight + 'px',
1138
- border: sectionproperties.relatedProductImageBorderWidth + 'px solid ' + sectionproperties.relatedProductImageBorderColor,
1139
- borderRadius: sectionproperties.relatedProductImageBr + 'px',
1140
- display: 'flex',
1141
- alignItems: 'center',
1142
- justifyContent: 'center',
1143
- position: 'relative',
1144
- }),
1145
- relatedproductNameStyles: css({
1146
- transition: '.3s',
1147
- color: sectionproperties.relatedprodNameColor,
1148
- fontSize: sectionproperties.relatedprodNameFontSize + 'px',
1149
- fontWeight: sectionproperties.relatedprodnamefontWeight,
1150
- textTransform: sectionproperties.relatedprodNameTextTranform,
1151
- ':hover': {
1152
- color: sectionproperties.relatedprodNameColoronhover,
1153
- },
1154
- }),
1155
- relatedproductPricestyles: css({
1156
- color: sectionproperties.relatedprodPriceColor,
1157
- fontSize: sectionproperties.relatedprodpriceFontSize + 'px',
1158
- fontWeight: sectionproperties.relatedprodPriceFontWeight,
1159
- }),
1160
- cardcontainer: css({
1161
- backgroundColor: sectionproperties.backgroundColor,
1162
- borderTopLeftRadius: sectionproperties.borderTopLeftRadius + 'px',
1163
- borderTopRightRadius: sectionproperties.borderTopRightRadius + 'px',
1164
- borderBottomLeftRadius: sectionproperties.borderBottomLeftRadius + 'px',
1165
- borderBottomRightRadius: sectionproperties.borderBottomRightRadius + 'px',
1166
- paddingRight: langdetect == 'en' ? sectionproperties.paddingRight + 'px' : sectionproperties.paddingLeft + 'px',
1167
- paddingLeft: langdetect == 'en' ? sectionproperties.paddingLeft + 'px' : sectionproperties.paddingRight + 'px',
1168
- paddingTop: sectionproperties.paddingTop + 'px',
1169
- paddingBottom: sectionproperties.paddingBottom + 'px',
1170
- border: sectionproperties.sectioncardborderwidth + 'px solid ' + sectionproperties.sectioncardbordercolor,
1171
- marginBottom: sectionproperties.marginBottom + 'px',
1172
- }),
1173
- wishlist_btn: css({
1174
- // marginTop: sectionproperties.favbtnmargintop + 'px',
1175
- width: sectionproperties.favBtnWidth + 'px',
1176
- height: sectionproperties.favBtnHeight + 'px',
1177
- background: sectionproperties.favbtn_bgtransparent == 'Transparent' ? 'transparent' : sectionproperties.favBtnbgColor,
1178
- borderRadius: sectionproperties.fav_btn_borderBottomLeftRadius + 'px',
1179
- color: sectionproperties.favBtniconcolor,
1180
- fontSize: sectionproperties.favBtnTextfontsize + 'px',
1181
- textTransform: sectionproperties.favBtnTexttransform,
1182
- fontWeight: sectionproperties.favBtnTextfontweight,
1183
- boxShadow: sectionproperties.favbtn_showshadow == 'Show' ? '0 0 10px ' + sectionproperties.favbtn_shadowcolor : '',
1184
- border: sectionproperties.favbtnborderwidth + 'px solid ' + sectionproperties.favbtnbordercolor,
1185
- cursor: 'pointer',
1186
- transition: '.3s',
1187
- ':hover': {
1188
- background: sectionproperties.favbtn_transparentbgcoloronhover == 'Transparent' ? 'transparent' : sectionproperties.favBtnbgColoronhover,
1189
- color: sectionproperties.favBtnTextcoloronhover,
1190
- borderColor: sectionproperties.favBtnTextcoloronhover,
1191
- },
1192
- // '@media (max-width: 800px)': {
1193
- // marginTop: sectionproperties.favbtnmargintopresp + 'px',
1194
- // },
1195
- }),
1196
- productname: css({
1197
- fontSize: sectionproperties.prodNameFontSize + 'px',
1198
- textTransform: sectionproperties.prodNameTextTranform,
1199
- fontWeight: sectionproperties.prodNameFontWeight,
1200
- color: sectionproperties.prodNameColor,
1201
- }),
1202
- productnamehover: css({
1203
- transition: '.3s',
1204
- ':hover': {
1205
- cursor: 'pointer',
1206
- color: sectionproperties.prodNameColorOnHover,
1207
- },
1208
- }),
1209
- storeInfo: css({
1210
- color: sectionproperties.footerinfotext_color,
1211
- fontSize: sectionproperties.footerinfotext_fontsize + 'px',
1212
- textTransform: sectionproperties.footerinfotext_textTransform,
1213
- fontWeight: sectionproperties.footerinfotext_fontweight,
1214
- transition: '.3s',
1215
- }),
1216
- storeInfoContent: css({
1217
- color: sectionproperties.footerinfotext_secondarycolor,
1218
- fontSize: sectionproperties.footerinfotext_secondaryfontsize + 'px',
1219
- fontWeight: sectionproperties.footerinfotext_secondaryfontweight,
1220
- }),
1221
- iconContainer: css({
1222
- width: sectionproperties.iconcontainerwidth + 'px',
1223
- height: sectionproperties.iconcontainerheight + 'px',
1224
- borderRadius: sectionproperties.iconcontainerborderbl + 'px',
1225
- background: sectionproperties.iconcontainerbg,
1226
- color: sectionproperties.iconcontainercolor,
1227
- }),
1228
- storeinfocontainer: css({
1229
- ':hover .storeInfoContent': {
1230
- transition: '.3s',
1231
- color: sectionproperties.footerinfotext_coloronhover,
1232
- },
1233
- ':hover .iconContainer': {
1234
- transition: '.3s',
1235
- color: sectionproperties.iconcontainercoloronhover,
1236
- backgroundColor: sectionproperties.iconcontainerbgonhover,
1237
- },
1238
- }),
1239
- shareicon: css({
1240
- width: sectionproperties.shareiconwidth + 'px',
1241
- height: sectionproperties.shareiconheight + 'px',
1242
- borderRadius: sectionproperties.shareiconborderradius + 'px',
1243
- background: sectionproperties.shareiconbgcolor,
1244
- color: sectionproperties.shareiconcolor,
1245
- ':hover': {
1246
- color: sectionproperties.shareiconcoloronhover,
1247
- transition: '.3s',
1248
- cursor: 'pointer',
1249
- },
1250
- }),
1251
- checkoutbtn: css({
1252
- width: sectionproperties.checkoutBtnWidth + 'px',
1253
- height: sectionproperties.checkoutBtnHeight + 'px',
1254
- backgroundColor: sectionproperties.checkoutBtnbgColor,
1255
- color: sectionproperties.checkoutBtnTextcolor,
1256
- fontWeight: sectionproperties.checkoutBtnTextfontweight,
1257
- fontSize: sectionproperties.checkoutBtnTextfontsize + 'px',
1258
- borderRadius: sectionproperties.checkout_borderBottomLeftRadius + 'px',
1259
- border: sectionproperties.checkout_borderWidth + 'px solid ' + sectionproperties.checkout_bordercolor,
1260
- transition: '.3s',
1261
- ':hover': {
1262
- backgroundColor: sectionproperties.checkoutBtnbgColoronhover,
1263
- color: sectionproperties.checkoutBtncoloronhover,
1264
- },
1265
- }),
1266
- outstockbadge: css({
1267
- minWidth: sectionproperties.outstock_width + 'px',
1268
- height: sectionproperties.outstock_height + 'px',
1269
- background: sectionproperties.outstock_bg,
1270
- color: sectionproperties.outstock_color,
1271
- fontSize: sectionproperties.outstock_fontSize + 'px',
1272
- borderRadius: sectionproperties.outstock_borderradius + 'px',
1273
- }),
1274
- cashbackoutercontainer: css({
1275
- // minWidth: 'fit-content',
1276
- width: sectionproperties.cashbackcontainerwidth + '%',
1277
- height: sectionproperties.cashbackcontainerheight + 'px',
1278
- background: sectionproperties.cashbackcontainerbgcolor,
1279
- color: sectionproperties.cashbackcontainercolor,
1280
- fontSize: sectionproperties.cashbackcontainerfontsize + 'px',
1281
- border: sectionproperties.cashbackcontainerborderwidth + 'px ' + sectionproperties.cashbackcontainerborderstyle + sectionproperties.cashbackcontainerbordercolor,
1282
- borderRadius: sectionproperties.cashbackcontainerborderradius + 'px',
1283
- }),
1284
- profitcontainer: css({
1285
- width: sectionproperties.profitcontainerwidth + '%',
1286
- height: sectionproperties.profitcontainerheight + 'px',
1287
- background: sectionproperties.profitcontainerbgcolor,
1288
- border: sectionproperties.profitcontainerborderwidth + 'px solid' + sectionproperties.profitcontainerbordercolor,
1289
- borderRadius: sectionproperties.profitcontainerborderradius + 'px',
1290
- color: sectionproperties.profitcontainercolor,
1291
- '@media (max-width: 800px)': {
1292
- width: '90%',
1293
- },
1294
- }),
1295
- imagegallery: css({
1296
- '.image-gallery-thumbnail.active': {
1297
- border: '2px solid red ',
1298
- },
1299
- }),
1300
- storeinfobtn: css({
1301
- width: sectionproperties.storeinfobtnwidth + '%',
1302
- height: sectionproperties.storeinfobtnheight + 'px',
1303
- background: sectionproperties.storeinfobtnbgcolor,
1304
- fontSize: sectionproperties.footerinfotext_fontsize,
1305
- fontWeight: sectionproperties.footerinfotext_fontweight,
1306
- color: sectionproperties.footerinfotext_color,
1307
- borderRadius: sectionproperties.storeinfobtnborderradius + 'px',
1308
- border: sectionproperties.storeinfobtnborderwidth + 'px solid ' + sectionproperties.storeinfobtnbordercolor,
1309
- transition: '.3s',
1310
- ':hover': {
1311
- color: sectionproperties.footerinfotext_coloronhover,
1312
- borderColor: sectionproperties.footerinfotext_coloronhover,
1313
- background: sectionproperties.storeinfobtnbgcoloronhover,
1314
- },
1315
- }),
1316
- storeinfocontainer: css({
1317
- marginTop: sectionproperties.storeinfomarginvertical + 'px',
1318
- '@media (max-width: 800px)': {
1319
- marginTop: sectionproperties.storeinfomarginverticalresp + 'px',
1320
- },
1321
- }),
1322
- // storeinfocontainer2: css({
1323
- // marginBottom: sectionproperties.storeinfomarginvertical + 'px',
1324
- // '@media (max-width: 800px)': {
1325
- // marginBottom: sectionproperties.storeinfomarginverticalresp + 'px',
1326
- // },
1327
- // }),
1328
- };
1329
-
1330
- const getprice_discountpriceprops = (type, withtotal, variantindexcompleted) => {
1331
- var price = 0;
1332
- var quantityconditions = [];
1333
- var quantity = 0;
1334
- if (addtocardpayloadobj.quantity != undefined && addtocardpayloadobj.quantity != null) {
1335
- quantity = parseFloat(addtocardpayloadobj.quantity);
1336
- }
1337
- if (
1338
- fetchProductInfoQueryContext?.data?.data?.productinfo?.productquantityoptions != undefined &&
1339
- fetchProductInfoQueryContext?.data?.data?.productinfo?.productquantityoptions != null &&
1340
- Array.isArray(fetchProductInfoQueryContext?.data?.data?.productinfo?.productquantityoptions) &&
1341
- fetchProductInfoQueryContext?.data?.data?.productinfo?.productquantityoptions?.length != 0
1342
- ) {
1343
- quantityconditions = fetchProductInfoQueryContext?.data?.data?.productinfo?.productquantityoptions;
1344
- }
1345
- if (type == 'defaultprice') {
1346
- price = fetchProductInfoQueryContext?.data?.data?.productinfo?.defaultprice;
1347
- if (fetchProductInfoQueryContext?.data?.data?.productinfo?.hasvariants == 1) {
1348
- if (variantindexcompleted != undefined) {
1349
- if (fetchProductInfoQueryContext?.data?.data?.productinfo?.variants[variantindexcompleted]?.variantprice != undefined) {
1350
- price = fetchProductInfoQueryContext?.data?.data?.productinfo?.variants[variantindexcompleted]?.variantprice;
1351
- }
1352
- }
1353
- }
1354
- } else if (type == 'defaultsaleprice') {
1355
- price = fetchProductInfoQueryContext?.data?.data?.productinfo?.defaultsaleprice;
1356
- if (fetchProductInfoQueryContext?.data?.data?.productinfo?.hasvariants == 1) {
1357
- if (variantindexcompleted != undefined) {
1358
- if (fetchProductInfoQueryContext?.data?.data?.productinfo?.variants[variantindexcompleted]?.variantsaleprice != undefined) {
1359
- price = fetchProductInfoQueryContext?.data?.data?.productinfo?.variants[variantindexcompleted]?.variantsaleprice;
1360
- }
1361
- }
1362
- }
1363
- }
1364
- var localquantityconditionobj = null;
1365
- var temppriceinseidconditions = price;
1366
- // quantityconditions.forEach(function (item, index) {
1367
- // if (item.fromq <= quantity && item.toq >= quantity) {
1368
- // var discountprice = (item.value / 100) * price;
1369
- // if (item.type == 'add') {
1370
- // temppriceinseidconditions = price + discountprice;
1371
- // } else if (item.type == 'subtract') {
1372
- // temppriceinseidconditions = price - discountprice;
1373
- // }
1374
- // localquantityconditionobj = item;
1375
- // }
1376
- // });
1377
- price = temppriceinseidconditions;
1378
- // setquantityconditionfoundobj(localquantityconditionobj);
1379
- if (withtotal == true) {
1380
- if (price != undefined) {
1381
- price = price * quantity;
1382
- }
1383
- }
1384
- if (price != undefined) {
1385
- if (sectionproperties.removedecimals == 'Without Decimals') {
1386
- return parseFloat(Number(price).toFixed(2));
1387
- } else if (sectionproperties.removedecimals == 'Without Decimals and Separated With Comma') {
1388
- return Math.floor(price).toLocaleString();
1389
- } else {
1390
- return price;
1391
- }
1392
- } else {
1393
- return 0;
1394
- }
1395
- };
1396
- const getQuantityCondition = () => {
1397
- return (
1398
- <div
1399
- class="col-lg-12 p-0"
1400
- style={{
1401
- background: sectionproperties.reservation_bgcolor,
1402
- borderRadius: sectionproperties.reservation_borderradius + 'px',
1403
- }}
1404
- >
1405
- <div
1406
- class="row m-0 w-100"
1407
- style={{
1408
- paddingLeft: sectionproperties.reservation_padding_left + 'rem',
1409
- paddingRight: sectionproperties.reservation_padding_right + 'rem',
1410
- paddingTop: sectionproperties.reservation_padding_top + 'rem',
1411
- paddingBottom: sectionproperties.reservation_padding_bottom + 'rem',
1412
- }}
1413
- >
1414
- <div class="col-lg-12 p-0 mb-4 allcentered flex-column">
1415
- <p
1416
- class="m-0 p-0 "
1417
- style={{
1418
- color: sectionproperties.pricelisttitlecolor,
1419
- fontSize: sectionproperties.pricelisttitlefontSize + 'px',
1420
- fontWeight: sectionproperties.pricelisttitlefontWeight,
1421
- }}
1422
- >
1423
- {langdetect == 'en' ? sectionproperties.pricelisttitle_en : sectionproperties.pricelisttitle_ar}
1424
- </p>
1425
- <div
1426
- style={{
1427
- width: '30%',
1428
- height: 1,
1429
- background: sectionproperties.pricelisttitlecolor,
1430
- }}
1431
- />
1432
- </div>
1433
- {fetchProductInfoQueryContext?.data?.data?.productinfo?.productquantityoptions?.map((item, index) => {
1434
- return (
1435
- <div
1436
- className="col-lg-12 p-0 w-100 d-flex align-items-center"
1437
- style={{
1438
- marginBottom: fetchProductInfoQueryContext?.data?.data?.productinfo?.productquantityoptions?.length - 1 != index ? '1rem' : 0,
1439
- }}
1440
- >
1441
- <div
1442
- class="d-flex align-items-center"
1443
- style={{
1444
- color: sectionproperties.pricelistlabelcolor,
1445
- fontSize: sectionproperties.pricelistlabelfontsize + 'px',
1446
- fontWeight: sectionproperties.pricelistlabelfontweight,
1447
- }}
1448
- >
1449
- <p
1450
- class="m-0 pb-0"
1451
- style={{
1452
- paddingRight: langdetect == 'en' ? '0.5rem' : 0,
1453
- paddingLeft: langdetect == 'ar' ? '0.5rem' : 0,
1454
- }}
1455
- >
1456
- {langdetect == 'en' ? 'From' : 'من'}: {item.fromq} - {item.toq}
1457
- </p>
1458
- </div>
1459
- <div class="" style={{ flex: 1, borderTop: '5px dotted #ccc' }} />
1460
- <p
1461
- class="m-0 pb-0"
1462
- style={{
1463
- paddingLeft: langdetect == 'en' ? '0.5rem' : 0,
1464
- paddingRight: langdetect == 'ar' ? '0.5rem' : 0,
1465
- color: item.type == 'add' ? sectionproperties.valueaddcolor : sectionproperties.valueminuscolor,
1466
- fontSize: sectionproperties.pricelistvaluefontsize + 'px',
1467
- fontWeight: sectionproperties.pricelistvaluefontweight,
1468
- }}
1469
- >
1470
- {item.type == 'subtract' ? '-' : '+'} {item.value}%
1471
- </p>
1472
- </div>
1473
- );
1474
- })}
1475
- </div>
1476
- </div>
1477
- );
1478
- };
1479
- const StoreInfo = (position) => {
1480
- return (
1481
- <div class="row m-0 w-100">
1482
- <div class="col-lg-12 p-0">
1483
- {sectionproperties.storeinfostyle == 'Style 1' && (
1484
- <div class="row m-0 w-100">
1485
- {sectionproperties.showstoreinfo1 == 'Show' && (
1486
- <div className={productinfo_cssstyles.storeinfobtn + ' col-lg-12 p-0 w-100 d-flex align-items-center mb-4 '}>
1487
- <div class={productinfo_cssstyles.iconContainer}>
1488
- <i className="h-100 d-flex align-items-center justify-content-center">
1489
- <FaShippingFast size={20} />
1490
- </i>
1491
- </div>
1492
- <div className="col-lg-9 col-md-9 col-sm-9 d-flex justofy-content-start flex-column">
1493
- <p
1494
- className={productinfo_cssstyles.storeInfo + ' m-0 p-0 wordbreak '}
1495
- style={{
1496
- textAlign: langdetect == 'en' ? 'left' : 'right',
1497
- }}
1498
- >
1499
- {langdetect == 'en' ? sectionproperties.otherinfotitle1en : sectionproperties.otherinfotitle1ar}
1500
- </p>
1501
- <p
1502
- className={productinfo_cssstyles.storeInfoContent + ' m-0 p-0 wordbreak '}
1503
- style={{
1504
- textAlign: langdetect == 'en' ? 'left' : 'right',
1505
- }}
1506
- >
1507
- {langdetect == 'en' ? sectionproperties.otherinfodesc1en : sectionproperties.otherinfodesc1ar}
1508
- </p>
1509
- </div>
1510
- </div>
1511
- )}
1512
- {sectionproperties.showstoreinfo2 == 'Show' && (
1513
- <div className={productinfo_cssstyles.storeinfobtn + ' col-lg-12 p-0 d-flex align-items-center mb-4 '}>
1514
- <div class={productinfo_cssstyles.iconContainer}>
1515
- <i className="h-100 d-flex align-items-center justify-content-center">
1516
- <RiSecurePaymentLine size={20} />
1517
- </i>
1518
- </div>
1519
- <div className="col-lg-9 col-md-9 col-sm-9 d-flex justofy-content-start flex-column">
1520
- <p
1521
- className={productinfo_cssstyles.storeInfo + ' m-0 p-0 wordbreak '}
1522
- style={{
1523
- textAlign: langdetect == 'en' ? 'left' : 'right',
1524
- }}
1525
- >
1526
- {langdetect == 'en' ? sectionproperties.otherinfotitle2en : sectionproperties.otherinfotitle2ar}
1527
- </p>
1528
- <p
1529
- className={productinfo_cssstyles.storeInfoContent + ' m-0 p-0 wordbreak '}
1530
- style={{
1531
- textAlign: langdetect == 'en' ? 'left' : 'right',
1532
- }}
1533
- >
1534
- {langdetect == 'en' ? sectionproperties.otherinfodesc2en : sectionproperties.otherinfodesc2ar}
1535
- </p>
1536
- </div>
1537
- </div>
1538
- )}
1539
- {sectionproperties.showpricinglist == 'Show' && fetchProductInfoQueryContext?.data?.data?.productinfo?.productquantityoptions?.length != 0 && (
1540
- <div class="col-lg-12 p-0 mb-4">{getQuantityCondition()}</div>
1541
- )}
1542
- {sectionproperties.showfooterphonenumber == 'Show' && (
1543
- <div
1544
- className={`${productinfo_cssstyles.storeinfobtn} ${productinfo_cssstyles.storeinfocontainer}` + ' mb-4 col-lg-12 p-0 d-flex align-items-center cursor-pointer '}
1545
- onClick={() => {
1546
- window.open('tel:' + authdetailsContext?.CuContactphonenumber, '_blank');
1547
- }}
1548
- >
1549
- <div class={productinfo_cssstyles.iconContainer + ' iconContainer '}>
1550
- <i className="h-100 d-flex align-items-center justify-content-center">
1551
- <HiOutlinePhone size={20} />
1552
- </i>
1553
- </div>
1554
- <div className="col-lg-9 col-md-9 col-sm-9 d-flex justofy-content-start flex-column">
1555
- <p
1556
- className={productinfo_cssstyles.storeInfo + ' m-0 p-0 wordbreak '}
1557
- style={{
1558
- textAlign: langdetect == 'en' ? 'left' : 'right',
1559
- }}
1560
- >
1561
- {langdetect == 'en' ? sectionproperties.phonetitle_en : sectionproperties.phonetitle_ar}
1562
- </p>
1563
- <p
1564
- className={productinfo_cssstyles.storeInfoContent + ' storeInfoContent m-0 p-0 wordbreak '}
1565
- style={{
1566
- textAlign: langdetect == 'en' ? 'left' : 'right',
1567
- }}
1568
- >
1569
- {authdetailsContext?.CuContactphonenumber}
1570
- </p>
1571
- </div>
1572
- </div>
1573
- )}
1574
- {sectionproperties.showfooteremail == 'Show' && (
1575
- <div
1576
- className={`${productinfo_cssstyles.storeinfobtn} ${productinfo_cssstyles.storeinfocontainer}` + ' mb-4 col-lg-12 p-0 d-flex align-items-center cursor-pointer '}
1577
- onClick={() => {
1578
- window.open('mailto:' + authdetailsContext?.instinfo?.contactinfo?.email, '_self');
1579
- }}
1580
- >
1581
- <div class={productinfo_cssstyles.iconContainer + ' iconContainer '}>
1582
- <i className="h-100 d-flex align-items-center justify-content-center">
1583
- <AiOutlineMail size={20} />
1584
- </i>
1585
- </div>
1586
- <div className="col-lg-9 col-md-9 col-sm-9 d-flex justofy-content-start flex-column">
1587
- <p
1588
- className={productinfo_cssstyles.storeInfo + ' m-0 p-0 wordbreak '}
1589
- style={{
1590
- textAlign: langdetect == 'en' ? 'left' : 'right',
1591
- }}
1592
- >
1593
- {langdetect == 'en' ? sectionproperties.emailtitle_en : sectionproperties.emailtitle_ar}
1594
- </p>
1595
- <p
1596
- className={productinfo_cssstyles.storeInfoContent + ' storeInfoContent m-0 p-0 wordbreak '}
1597
- style={{
1598
- textAlign: langdetect == 'en' ? 'left' : 'right',
1599
- }}
1600
- >
1601
- {authdetailsContext?.instinfo?.contactinfo?.email}
1602
- </p>
1603
- </div>
1604
- </div>
1605
- )}
1606
- </div>
1607
- )}
1608
- {sectionproperties.storeinfostyle == 'Style 2' && (
1609
- <div class="row m-0 w-100">
1610
- {sectionproperties.showfooterphonenumber == 'Show' && authdetailsContext?.CuContactphonenumber != null && (
1611
- <div class={position == 'belowinfo' ? 'col-lg-12 allcentered mb-2 p-0' : 'col-lg-12 allcentered mb-2 p-sm-0'}>
1612
- <button
1613
- class={productinfo_cssstyles.storeinfobtn + ' allcentered '}
1614
- onClick={() => {
1615
- window.open('tel:' + authdetailsContext?.CuContactphonenumber, '_blank');
1616
- }}
1617
- >
1618
- <p class="m-0 p-0">{langdetect == 'en' ? sectionproperties.phonetitle_en : sectionproperties.phonetitle_ar}</p>
1619
- </button>
1620
- </div>
1621
- )}
1622
- {sectionproperties.showfooteremail == 'Show' && authdetailsContext?.instinfo?.contactinfo?.email != null && (
1623
- <div class={position == 'belowinfo' ? 'col-lg-12 allcentered mb-2 p-0' : 'col-lg-12 allcentered mb-2 p-sm-0'}>
1624
- <button
1625
- class={productinfo_cssstyles.storeinfobtn + ' allcentered '}
1626
- onClick={() => {
1627
- window.open('mailto:' + authdetailsContext?.instinfo?.contactinfo?.email, '_self');
1628
- }}
1629
- >
1630
- <p class="m-0 p-0">{langdetect == 'en' ? sectionproperties.emailtitle_en : sectionproperties.emailtitle_ar}</p>
1631
- </button>
1632
- </div>
1633
- )}
1634
- {sectionproperties.showwhatsapp == 'Show' && authdetailsContext?.instinfo?.whatsappnumber != null && (
1635
- <div class={position == 'belowinfo' ? 'col-lg-12 allcentered mb-2 p-0' : 'col-lg-12 allcentered mb-2 p-sm-0'}>
1636
- <button
1637
- class={productinfo_cssstyles.storeinfobtn + ' allcentered '}
1638
- onClick={() => {
1639
- if (authdetailsContext?.instinfo?.whatsappnumber != null) {
1640
- window.open('https://api.whatsapp.com/send?phone=' + authdetailsContext?.instinfo?.whatsappnumber, '_blank');
1641
- }
1642
- }}
1643
- >
1644
- <p class="m-0 p-0">{langdetect == 'en' ? sectionproperties.whatsapptitle_en : sectionproperties.whatsapptitle_ar}</p>
1645
- </button>
1646
- </div>
1647
- )}
1648
- </div>
1649
- )}
1650
- </div>
1651
- </div>
1652
- );
1653
- };
1654
- const isproductofstock = () => {
1655
- var isproductoutofstock = false;
1656
- var variantindexcompletedloc = variantindexcompleted?.toString();
1657
- var currquant = 0;
1658
- if (fetchProductInfoQueryContext.isSuccess) {
1659
- if (fetchProductInfoQueryContext?.data?.data?.productinfo?.quantavailtype == 'limit') {
1660
- if (fetchProductInfoQueryContext?.data?.data?.productinfo?.hasvariants == 1) {
1661
- if (variantindexcompletedloc != undefined && variantindexcompletedloc != null && variantindexcompletedloc != '') {
1662
- if (isoutofstock) {
1663
- isproductoutofstock = true;
1664
- } else {
1665
- isproductoutofstock = false;
1666
- }
1667
- }
1668
- } else {
1669
- if (fetchProductInfoQueryContext?.data?.data?.productinfo?.quantavailtype == 'limit') {
1670
- if (parseFloat(fetchProductInfoQueryContext?.data?.data?.productinfo?.currentquantity) <= 0) {
1671
- isproductoutofstock = true;
1672
- currquant = fetchProductInfoQueryContext?.data?.data?.productinfo?.currentquantity;
1673
- }
1674
- }
1675
- }
1676
- }
1677
- }
1678
- return { isproductoutofstock: isproductoutofstock, currquant: currquant };
1679
- };
1680
- return (
1681
- <div className={productinfo_cssstyles.containerstyles + ' row w-100 ml-0 mr-0 '}>
1682
- {/* <h1>
1683
- {isproductofstock()['isproductoutofstock']?.toString()} -- ff - {ProductInfoObj?.data?.productinfo?.name_en}
1684
- </h1> */}
1685
- {Object.keys(sectionproperties).length != 0 && (
1686
- <div className="col-lg-12 p-0" style={{ minHeight: '80vh' }}>
1687
- {/* {fetchProductInfoQueryContextProps.isFetching && ( */}
1688
- {/* {Object.keys(fetchProductInfoQueryContext).length == 0 && ( */}
1689
- {isProductPageLoading && (
1690
- <div className={'row ml-0 mr-0 w-100 px-5 py-5'}>
1691
- <div class="col-lg-6 col-md-12 is-loading mb-md-4">
1692
- <div
1693
- class="image"
1694
- style={{
1695
- width: '100%',
1696
- height: 400,
1697
- }}
1698
- ></div>
1699
- </div>
1700
- <div class="col-lg-6 col-md-12 mb-md-4">
1701
- <p class="is-loading"></p>
1702
- <p
1703
- class="is-loading"
1704
- style={{
1705
- width: '40%',
1706
- }}
1707
- ></p>
1708
- <p
1709
- class="is-loading"
1710
- style={{
1711
- width: '40%',
1712
- }}
1713
- ></p>
1714
- <p
1715
- class="is-loading"
1716
- style={{
1717
- width: '40%',
1718
- }}
1719
- ></p>
1720
- <p
1721
- class="is-loading"
1722
- style={{
1723
- width: '40%',
1724
- }}
1725
- ></p>
1726
- <p
1727
- class="is-loading"
1728
- style={{
1729
- width: '40%',
1730
- }}
1731
- ></p>
1732
- <p
1733
- class="is-loading"
1734
- style={{
1735
- width: '40%',
1736
- }}
1737
- ></p>
1738
- <p
1739
- class="is-loading"
1740
- style={{
1741
- width: '40%',
1742
- }}
1743
- ></p>
1744
- <p
1745
- class="is-loading"
1746
- style={{
1747
- width: '40%',
1748
- }}
1749
- ></p>
1750
- </div>
1751
-
1752
- {/* <Messaging color="#ccc" width="10px" height="10px" duration="1s" /> */}
1753
- </div>
1754
- )}
1755
- {/* {!fetchProductInfoQueryContext.isFetching && fetchProductInfoQueryContext.isSuccess && fetchProductInfoQueryContext?.data?.data?.productinfo? != null && ( */}
1756
- {/* {Object.keys(fetchProductInfoQueryContext).length != 0 && ( */}
1757
- {!isProductPageLoading && (
1758
- <div
1759
- className={sectionproperties.card_marginLeft != 0 ? ' row m-0 w-100 pl-lg-3 pr-lg-3 pl-md-4 pr-md-4 pl-sm-1 pr-sm-1 ' : ' row m-0 w-100 p-sm-0 '}
1760
- style={{
1761
- paddingLeft: props.srcfromprops == 'Productinfomodel' ? (langdetect == 'en' ? sectionproperties.card_marginLeft + 'px' : sectionproperties.card_marginRight + 'px') : 0,
1762
- paddingRight:
1763
- props.srcfromprops == 'Productinfomodel' ? (langdetect == 'en' ? sectionproperties.card_marginRight + 'px' : sectionproperties.card_marginLeft + 'px') : 0,
1764
- }}
1765
- >
1766
- {fetchProductInfoQueryContext?.data?.data?.productinfo?.item_type == 'product' && (
1767
- <Product_itemtype
1768
- actions={{
1769
- variantnotchosendisclaimer: variantnotchosendisclaimer,
1770
- setisoutofstock: setisoutofstock,
1771
- isoutofstock: isoutofstock,
1772
- returnpolicyobj: returnpolicyobj,
1773
- langdetect: langdetect,
1774
- lang: lang,
1775
- srcfromprops: props.srcfromprops,
1776
- returnpolicyobj: returnpolicyobj,
1777
- productinfo_cssstyles: productinfo_cssstyles,
1778
- addtocartfunc: addtocartfunc,
1779
- selectproductoptionvalue: selectproductoptionvalue,
1780
- clearchoosenvaluesbutkeepcurrentvalue: clearchoosenvaluesbutkeepcurrentvalue,
1781
- productimagesarray: productimagesarray,
1782
- fetchProductInfoQueryContext: fetchProductInfoQueryContext,
1783
- ProductInfoObj: ProductInfoObj,
1784
- sectionproperties: sectionproperties,
1785
- addtocardpayloadobj: addtocardpayloadobj,
1786
- setaddtocardpayloadobj: setaddtocardpayloadobj,
1787
- routingcountext: routingcountext,
1788
- AddtoCartMutationContext: AddtoCartMutationContext,
1789
- authdetailsContext: authdetailsContext,
1790
- addtofavoritescontext: addtofavoritescontext,
1791
- variantindexcompleted: variantindexcompleted,
1792
- StaticPagesLinksContext: StaticPagesLinksContext,
1793
- NotificationManager: NotificationManager,
1794
- GeneralAPIMutationContext: GeneralAPIMutationContext,
1795
- quantityconditionfoundobjprops: quantityconditionfoundobj,
1796
- relatedproducts: relatedproducts,
1797
- getprice_discountpriceprops: getprice_discountpriceprops,
1798
- StoreInfoprops: StoreInfo,
1799
- currentshowingimageindex: currentshowingimageindex,
1800
- setcurrentshowingimageindex: setcurrentshowingimageindex,
1801
- templatepropcontext: templatepropcontext,
1802
- ikimagecredcontext: ikimagecredcontext,
1803
- variantindex: variantindex,
1804
- setvariantindex: setvariantindex,
1805
- variantsku: variantsku,
1806
- variantvalueidentifier: variantvalueidentifier,
1807
- sizeguideimage: sizeguideimage,
1808
- setopensizeguidemodal: setopensizeguidemodal,
1809
- }}
1810
- />
1811
- )}
1812
- {fetchProductInfoQueryContext?.data?.data?.productinfo?.item_type == 'Article' && (
1813
- <Article_itemtype
1814
- actions={{
1815
- variantnotchosendisclaimer: variantnotchosendisclaimer,
1816
- setisoutofstock: setisoutofstock,
1817
- isoutofstock: isoutofstock,
1818
- returnpolicyobj: returnpolicyobj,
1819
- langdetect: langdetect,
1820
- lang: lang,
1821
- srcfromprops: props.srcfromprops,
1822
- returnpolicyobj: returnpolicyobj,
1823
- productinfo_cssstyles: productinfo_cssstyles,
1824
- addtocartfunc: addtocartfunc,
1825
- selectproductoptionvalue: selectproductoptionvalue,
1826
- clearchoosenvaluesbutkeepcurrentvalue: clearchoosenvaluesbutkeepcurrentvalue,
1827
- productimagesarray: productimagesarray,
1828
- fetchProductInfoQueryContext: fetchProductInfoQueryContext,
1829
- ProductInfoObj: ProductInfoObj,
1830
- sectionproperties: sectionproperties,
1831
- addtocardpayloadobj: addtocardpayloadobj,
1832
- setaddtocardpayloadobj: setaddtocardpayloadobj,
1833
- routingcountext: routingcountext,
1834
- AddtoCartMutationContext: AddtoCartMutationContext,
1835
- authdetailsContext: authdetailsContext,
1836
- addtofavoritescontext: addtofavoritescontext,
1837
- variantindexcompleted: variantindexcompleted,
1838
- StaticPagesLinksContext: StaticPagesLinksContext,
1839
- NotificationManager: NotificationManager,
1840
- GeneralAPIMutationContext: GeneralAPIMutationContext,
1841
- quantityconditionfoundobjprops: quantityconditionfoundobj,
1842
- relatedproducts: relatedproducts,
1843
- getprice_discountpriceprops: getprice_discountpriceprops,
1844
- StoreInfoprops: StoreInfo,
1845
- currentshowingimageindex: currentshowingimageindex,
1846
- setcurrentshowingimageindex: setcurrentshowingimageindex,
1847
- templatepropcontext: templatepropcontext,
1848
- ikimagecredcontext: ikimagecredcontext,
1849
- variantindex: variantindex,
1850
- setvariantindex: setvariantindex,
1851
- variantsku: variantsku,
1852
- variantvalueidentifier: variantvalueidentifier,
1853
- }}
1854
- />
1855
- )}
1856
- {fetchProductInfoQueryContext?.data?.data?.productinfo?.item_type == 'service' && (
1857
- <Service_itemtype
1858
- actions={{
1859
- variantnotchosendisclaimer: variantnotchosendisclaimer,
1860
- variantsku: variantsku,
1861
- setisoutofstock: setisoutofstock,
1862
- isoutofstock: isoutofstock,
1863
- returnpolicyobj: returnpolicyobj,
1864
- langdetect: langdetect,
1865
- lang: lang,
1866
- srcfromprops: props.srcfromprops,
1867
- returnpolicyobj: returnpolicyobj,
1868
- productinfo_cssstyles: productinfo_cssstyles,
1869
- addtocartfunc: addtocartfunc,
1870
- selectproductoptionvalue: selectproductoptionvalue,
1871
- clearchoosenvaluesbutkeepcurrentvalue: clearchoosenvaluesbutkeepcurrentvalue,
1872
- productimagesarray: productimagesarray,
1873
- fetchProductInfoQueryContext: fetchProductInfoQueryContext,
1874
- sectionproperties: sectionproperties,
1875
- addtocardpayloadobj: addtocardpayloadobj,
1876
- ProductInfoObj: ProductInfoObj,
1877
- currentshowingimageindex: currentshowingimageindex,
1878
- setcurrentshowingimageindex: setcurrentshowingimageindex,
1879
- setaddtocardpayloadobj: setaddtocardpayloadobj,
1880
- routingcountext: routingcountext,
1881
- AddtoCartMutationContext: AddtoCartMutationContext,
1882
- authdetailsContext: authdetailsContext,
1883
- addtofavoritescontext: addtofavoritescontext,
1884
- StaticPagesLinksContext: StaticPagesLinksContext,
1885
- variantindexcompleted: variantindexcompleted,
1886
- GeneralAPIMutationContext: GeneralAPIMutationContext,
1887
- NotificationManager: NotificationManager,
1888
- getprice_discountpriceprops: getprice_discountpriceprops,
1889
- quantityconditionfoundobjprops: quantityconditionfoundobj,
1890
- relatedproducts: relatedproducts,
1891
- getQuantityCondition: getQuantityCondition,
1892
- StoreInfoprops: StoreInfo,
1893
- templatepropcontext: templatepropcontext,
1894
- ikimagecredcontext: ikimagecredcontext,
1895
- sizeguideimage: sizeguideimage,
1896
- setopensizeguidemodal: setopensizeguidemodal,
1897
- }}
1898
- />
1899
- )}
1900
- {props.srcfromprops != 'templatedraftrouter' && sectionproperties.showtabs == 'Show' && (
1901
- <div
1902
- className={sectionproperties.card_marginLeft != 0 ? ' col-lg-12 p-0 pl-lg-3 pr-lg-3 pl-md-4 pr-md-4 pl-sm-1 pr-sm-1 ' : ' col-lg-12 p-sm-0 '}
1903
- style={{
1904
- paddingLeft:
1905
- props.srcfromprops == 'Productinfomodel' ? (langdetect == 'en' ? sectionproperties.card_marginLeft + 'px' : sectionproperties.card_marginRight + 'px') : 0,
1906
- paddingRight:
1907
- props.srcfromprops == 'Productinfomodel' ? (langdetect == 'en' ? sectionproperties.card_marginRight + 'px' : sectionproperties.card_marginLeft + 'px') : 0,
1908
- display:
1909
- sectionproperties.showfirstpolicy == 'Hide' &&
1910
- sectionproperties.showsecondpolicy == 'Hide' &&
1911
- fetchProductInfoQueryContext?.data?.data?.productinfo?.product_videos?.length != 0
1912
- ? 'flex'
1913
- : fetchProductInfoQueryContext?.data?.data?.productinfo?.productcanrate == 1
1914
- ? 'flex'
1915
- : sectionproperties.showfirstpolicy == 'Hide' && sectionproperties.showsecondpolicy == 'Hide'
1916
- ? 'none'
1917
- : sectionproperties.showfirstpolicy == 'Hide' &&
1918
- sectionproperties.showsecondpolicy == 'Hide' &&
1919
- sectionproperties.descriptionposition != 'Bottom' &&
1920
- fetchProductInfoQueryContext?.data?.data?.productinfo?.product_videos?.length == 0
1921
- ? 'none'
1922
- : 'flex',
1923
- }}
1924
- >
1925
- <div
1926
- class={`${productinfo_cssstyles.cardcontainer}` + ' ml-0 mr-0 w-100 pl-md-3 pr-md-3 px-1025-1 '}
1927
- style={{
1928
- paddingLeft: sectionproperties.tabspaddinghorizontal + 'px',
1929
- paddingRight: sectionproperties.tabspaddinghorizontal + 'px',
1930
- marginBottom: sectionproperties.tabsmb + 'px',
1931
- paddingTop: sectionproperties.tabsPt + 'px',
1932
- paddingBottom: sectionproperties.tabsPb + 'px',
1933
- }}
1934
- >
1935
- {sectionproperties.tabsfullwidth == 'Full Width' && (
1936
- <Box>
1937
- <Tabs
1938
- value={tabIndex}
1939
- onChange={handleTabChange}
1940
- scrollButtons="auto"
1941
- TabIndicatorProps={{
1942
- style: {
1943
- background: sectionproperties.activetabbordercolor,
1944
- // right: sectionproperties.showfirstpolicy == 'Hide' ? 0 : sectionproperties.showsecondpolicy == 'Hide' ? 0 : '',
1945
- // margin: sectionproperties.showfirstpolicy == 'Hide' ? 'auto' : sectionproperties.showsecondpolicy == 'Hide' ? 'auto' : '',
1946
- },
1947
- }}
1948
- sx={{
1949
- '& button': {
1950
- color: sectionproperties.tabtextcolor,
1951
- fontWeight: sectionproperties.tabtextfontweight,
1952
- background: sectionproperties.tabcontainerbgcolor,
1953
- textTransform: sectionproperties.tabtexttexttransform,
1954
- borderRadius: sectionproperties.tabcontainerborderradius + 'px',
1955
- fontFamily: 'Poppins',
1956
- transition: '.3s',
1957
- fontSize: sectionproperties.tabtextfontsize + 'px',
1958
- },
1959
- '& button:hover': {
1960
- color: sectionproperties.tabscoloronhover,
1961
- fontFamily: 'Poppins',
1962
- transition: '.3s',
1963
- },
1964
- '& button.Mui-selected': {
1965
- color: sectionproperties.tabtextactivecolor,
1966
- background: sectionproperties.activetabbgcolor,
1967
- fontFamily: 'Poppins',
1968
- transition: '.3s',
1969
- },
1970
- }}
1971
- variant={'fullWidth'}
1972
- // tabsfullwidth
1973
- >
1974
- {sectionproperties.prodCatShow == 'Show' && sectionproperties.descriptionposition == 'Bottom' && (
1975
- <Tab
1976
- label={langdetect == 'en' ? sectionproperties.tabsdescEn : sectionproperties.tabsdescAr}
1977
- onClick={() => {
1978
- settabname('descriptiontab');
1979
- }}
1980
- />
1981
- )}
1982
- {sectionproperties.showfirstpolicy == 'Show' && (
1983
- <Tab
1984
- label={langdetect == 'en' ? returnpolicyobj('Shipping Policy')?.policypagename_en : returnpolicyobj('Shipping Policy')?.policypagename_ar}
1985
- onClick={() => {
1986
- settabname('shippingpolicytab');
1987
- }}
1988
- />
1989
- )}
1990
- {sectionproperties.showsecondpolicy == 'Show' && (
1991
- <Tab
1992
- label={langdetect == 'en' ? returnpolicyobj('Refund Policy')?.policypagename_en : returnpolicyobj('Refund Policy')?.policypagename_ar}
1993
- onClick={() => {
1994
- settabname('refundpolicytab');
1995
- }}
1996
- />
1997
- )}
1998
- {fetchProductInfoQueryContext?.data?.data?.productinfo?.product_videos?.length != 0 && (
1999
- <Tab
2000
- label={langdetect == 'en' ? sectionproperties.videostitleen : sectionproperties.videostitlear}
2001
- onClick={() => {
2002
- settabname('videostab');
2003
- }}
2004
- />
2005
- )}
2006
- {fetchProductInfoQueryContext?.data?.data?.productinfo?.productcanrate == 1 && (
2007
- <Tab
2008
- label={langdetect == 'en' ? 'Reviews' : 'التقييمات'}
2009
- onClick={() => {
2010
- settabname('reviewstab');
2011
- }}
2012
- />
2013
- )}
2014
- </Tabs>
2015
- </Box>
2016
- )}
2017
- {sectionproperties.tabsfullwidth != 'Full Width' && (
2018
- <Box>
2019
- <Tabs
2020
- value={tabIndex}
2021
- onChange={handleTabChange}
2022
- scrollButtons="auto"
2023
- TabIndicatorProps={{
2024
- style: {
2025
- background: sectionproperties.activetabbordercolor,
2026
- // right: sectionproperties.showfirstpolicy == 'Hide' ? 0 : sectionproperties.showsecondpolicy == 'Hide' ? 0 : '',
2027
- // margin: sectionproperties.showfirstpolicy == 'Hide' ? 'auto' : sectionproperties.showsecondpolicy == 'Hide' ? 'auto' : '',
2028
- },
2029
- }}
2030
- sx={{
2031
- '& button': {
2032
- color: sectionproperties.tabtextcolor,
2033
- fontWeight: sectionproperties.tabtextfontweight,
2034
- background: sectionproperties.tabcontainerbgcolor,
2035
- textTransform: sectionproperties.tabtexttexttransform,
2036
- borderRadius: sectionproperties.tabcontainerborderradius + 'px',
2037
- fontFamily: 'Poppins',
2038
- transition: '.3s',
2039
- fontSize: sectionproperties.tabtextfontsize + 'px',
2040
- },
2041
- '& button:hover': {
2042
- color: sectionproperties.tabscoloronhover,
2043
- fontFamily: 'Poppins',
2044
- transition: '.3s',
2045
- },
2046
- '& button.Mui-selected': {
2047
- color: sectionproperties.tabtextactivecolor,
2048
- background: sectionproperties.activetabbgcolor,
2049
- fontFamily: 'Poppins',
2050
- transition: '.3s',
2051
- },
2052
- }}
2053
- >
2054
- {sectionproperties.prodCatShow == 'Show' && sectionproperties.gallerystyle == 'Style 1' && (
2055
- <Tab
2056
- label={langdetect == 'en' ? sectionproperties.tabsdescEn : sectionproperties.tabsdescAr}
2057
- onClick={() => {
2058
- settabname('descriptiontab');
2059
- }}
2060
- />
2061
- )}
2062
- {sectionproperties.showfirstpolicy == 'Show' && (
2063
- <Tab
2064
- label={langdetect == 'en' ? returnpolicyobj('Shipping Policy')?.policypagename_en : returnpolicyobj('Shipping Policy')?.policypagename_ar}
2065
- onClick={() => {
2066
- settabname('shippingpolicytab');
2067
- }}
2068
- />
2069
- )}
2070
- {sectionproperties.showsecondpolicy == 'Show' && (
2071
- <Tab
2072
- label={langdetect == 'en' ? returnpolicyobj('Refund Policy')?.policypagename_en : returnpolicyobj('Refund Policy')?.policypagename_ar}
2073
- onClick={() => {
2074
- settabname('refundpolicytab');
2075
- }}
2076
- />
2077
- )}
2078
- {fetchProductInfoQueryContext?.data?.data?.productinfo?.product_videos?.length != 0 && (
2079
- <Tab
2080
- label={langdetect == 'en' ? 'Videos' : 'فيديوهات'}
2081
- onClick={() => {
2082
- settabname('videostab');
2083
- }}
2084
- />
2085
- )}
2086
- {fetchProductInfoQueryContext?.data?.data?.productinfo?.productcanrate == 1 && (
2087
- <Tab
2088
- label={langdetect == 'en' ? 'Reviews' : 'التقييمات'}
2089
- onClick={() => {
2090
- settabname('reviewstab');
2091
- }}
2092
- />
2093
- )}
2094
- </Tabs>
2095
- </Box>
2096
- )}
2097
- <Box class="w-100 mt-5 mb-4">
2098
- {tabname == 'descriptiontab' && sectionproperties.descriptionposition == 'Bottom' && (
2099
- <DescriptionContent
2100
- actions={{
2101
- ...actions,
2102
- productinfo_cssstyles: productinfo_cssstyles,
2103
- sectionproperties: sectionproperties,
2104
- }}
2105
- />
2106
- )}
2107
- {tabname == 'shippingpolicytab' && (
2108
- <div class="col-lg-12 pl-5 pr-5 p-md-0 w-100">
2109
- <p
2110
- className={' m-0 p-0 wordbreak '}
2111
- style={{
2112
- // lineClamp: 10,
2113
- // WebkitLineClamp: 10,
2114
- textAlign: langdetect == 'en' ? 'left' : 'right',
2115
- }}
2116
- dangerouslySetInnerHTML={{
2117
- __html: langdetect == 'en' ? returnpolicyobj('Shipping Policy')?.policycontent_en : returnpolicyobj('Shipping Policy')?.policycontent_ar,
2118
- }}
2119
- ></p>
2120
- </div>
2121
- )}
2122
- {tabname == 'refundpolicytab' && (
2123
- <div class="col-lg-12 p-0 w-100 pl-5 pr-5 p-md-0">
2124
- <p
2125
- className={' m-0 p-0 wordbreak '}
2126
- style={{
2127
- // lineClamp: 10,
2128
- // WebkitLineClamp: 10,
2129
- textAlign: langdetect == 'en' ? 'left' : 'right',
2130
- }}
2131
- dangerouslySetInnerHTML={{
2132
- __html: langdetect == 'en' ? returnpolicyobj('Refund Policy')?.policycontent_en : returnpolicyobj('Refund Policy')?.policycontent_ar,
2133
- }}
2134
- ></p>
2135
- </div>
2136
- )}
2137
- {tabname == 'videostab' && (
2138
- <div class="row m-0 w-100 w-100 pl-5 pr-5 p-md-0">
2139
- {productVideos.map((item, index) => {
2140
- return (
2141
- <div
2142
- className="col-lg-4 col-md-6 col-sm-12 mb-4"
2143
- style={{
2144
- height: 400,
2145
- }}
2146
- >
2147
- <ReactPlayer url={item.videourl} height={'100%'} width={'100%'} playing={false} controls={true} loop={true} muted={true} />
2148
- </div>
2149
- );
2150
- })}
2151
- </div>
2152
- )}
2153
- {tabname == 'reviewstab' && (
2154
- <div class="col-lg-12 p-0 w-100 pl-5 pr-5 p-md-0">
2155
- <ProductReviews
2156
- actions={{
2157
- ...actions,
2158
- productinfo_cssstyles: productinfo_cssstyles,
2159
- sectionproperties: sectionproperties,
2160
- }}
2161
- />
2162
- </div>
2163
- )}
2164
- </Box>
2165
- </div>
2166
- </div>
2167
- )}
2168
-
2169
- {props.srcfromprops != 'templatedraftrouter' && (
2170
- <div
2171
- className={sectionproperties.card_marginLeft != 0 ? ' col-lg-12 pl-lg-3 pr-lg-3 pl-md-4 pr-md-4 pl-sm-1 pr-sm-1 ' : ' col-lg-12 p-sm-0 '}
2172
- style={{
2173
- paddingLeft:
2174
- props.srcfromprops == 'Productinfomodel' ? (langdetect == 'en' ? sectionproperties.card_marginLeft + 'px' : sectionproperties.card_marginRight + 'px') : 0,
2175
- paddingRight:
2176
- props.srcfromprops == 'Productinfomodel' ? (langdetect == 'en' ? sectionproperties.card_marginRight + 'px' : sectionproperties.card_marginLeft + 'px') : 0,
2177
- }}
2178
- >
2179
- {relatedproducts()}
2180
- </div>
2181
- )}
2182
- </div>
2183
- )}
2184
- </div>
2185
- )}
2186
- </div>
2187
- );
2188
- };
2189
- export default Productinfo;