tabexseriescomponents 0.0.706 → 0.0.708

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