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,1566 @@
1
+ //productidprops
2
+ import React, { useEffect, useState } from 'react';
3
+ import productinfostyles from '../../../styles/staticpages/productinfo.module.css';
4
+ import ImageGallery from 'react-image-gallery';
5
+ import { CircularProgress } from 'react-cssfx-loading';
6
+ import '../../../styles/staticpages/image-gallery.css';
7
+ import { MdAddShoppingCart } from '@react-icons/all-files/md/MdAddShoppingCart';
8
+ import { IoBagHandleOutline } from '@react-icons/all-files/io5/IoBagHandleOutline';
9
+ import { BsBag } from '@react-icons/all-files/bs/BsBag';
10
+ import { CgShoppingBag } from '@react-icons/all-files/cg/CgShoppingBag';
11
+ import { FaRegHeart } from '@react-icons/all-files/fa/FaRegHeart';
12
+ import { FaHeart } from '@react-icons/all-files/fa/FaHeart';
13
+ import { FiShoppingBag } from '@react-icons/all-files/fi/FiShoppingBag';
14
+ import { FiShoppingCart } from '@react-icons/all-files/fi/FiShoppingCart';
15
+ import { AiFillStar } from '@react-icons/all-files/ai/AiFillStar';
16
+ import { AiOutlineStar } from '@react-icons/all-files/ai/AiOutlineStar';
17
+ import { FaFacebookF } from '@react-icons/all-files/fa/FaFacebookF';
18
+ import { AiOutlineTwitter } from '@react-icons/all-files/ai/AiOutlineTwitter';
19
+ import { FaWhatsapp } from '@react-icons/all-files/fa/FaWhatsapp';
20
+ import { FaLinkedinIn } from '@react-icons/all-files/fa/FaLinkedinIn';
21
+ import { FacebookShareButton, TwitterShareButton, WhatsappShareButton, LinkedinShareButton } from 'react-share';
22
+ import { Imagekitimagecomp } from '../../../Imagekitconfig.jsx';
23
+ import { FiMinus } from '@react-icons/all-files/fi/FiMinus';
24
+ import { FiPlus } from '@react-icons/all-files/fi/FiPlus';
25
+ import ReactStars from 'react-rating-stars-component';
26
+ import { FiLayers } from '@react-icons/all-files/fi/FiLayers';
27
+ import Variantoptions from './Variantoptions.jsx';
28
+ import ProductHeaderPricing from './ProductHeaderPricing.jsx';
29
+ import ProductExtraFields from './ProductExtraFields.jsx';
30
+ import DescriptionContent from './DescriptionContent.jsx';
31
+
32
+ const Product_itemtype = (props) => {
33
+ const lang = props.actions.lang;
34
+ const langdetect = props.actions.langdetect;
35
+ const srcfromprops = props.actions.srcfromprops;
36
+ const productinfo_cssstyles = props.actions.productinfo_cssstyles;
37
+ const addtocartfunc = props.actions.addtocartfunc;
38
+ const productimagesarray = props.actions.productimagesarray;
39
+ const fetchProductInfoQueryContext = props.actions.fetchProductInfoQueryContext;
40
+ const sectionproperties = props.actions.sectionproperties;
41
+ const addtocardpayloadobj = props.actions.addtocardpayloadobj;
42
+ const setaddtocardpayloadobj = props.actions.setaddtocardpayloadobj;
43
+ const routingcountext = props.actions.routingcountext;
44
+ const AddtoCartMutationContext = props.actions.AddtoCartMutationContext;
45
+ const authdetailsContext = props.actions.authdetailsContext;
46
+ const addtofavoritescontext = props.actions.addtofavoritescontext;
47
+ const variantindexcompleted = props.actions.variantindexcompleted;
48
+ const ProductInfoObj = props.actions.ProductInfoObj;
49
+ const NotificationManager = props.actions.NotificationManager;
50
+ const StaticPagesLinksContext = props.actions.StaticPagesLinksContext;
51
+ const getprice_discountpriceprops = props.actions.getprice_discountpriceprops;
52
+ const ikimagecredcontext = props.actions.ikimagecredcontext;
53
+ const currentshowingimageindex = props.actions.currentshowingimageindex;
54
+ const StoreInfoprops = props.actions.StoreInfoprops;
55
+ // const DescriptionContent = props.actions.DescriptionContent;
56
+ const [shareUrl, setshareUrl] = useState('');
57
+ const [title, settitle] = useState('');
58
+ const [item, setitem] = useState(fetchProductInfoQueryContext.data.data.productinfo);
59
+ const [totalprice, settotalprice] = useState('');
60
+
61
+ useEffect(() => {
62
+ var itemobj = fetchProductInfoQueryContext.data.data.productinfo;
63
+ if (stringIsEnglish(fetchProductInfoQueryContext.data.data.productinfo.name_en)) {
64
+ itemobj.titlelang = 'en';
65
+ } else {
66
+ itemobj.titlelang = 'ar';
67
+ }
68
+ if (stringIsEnglish(fetchProductInfoQueryContext.data.data.productinfo.description_en)) {
69
+ itemobj.decriptionlang = 'en';
70
+ } else {
71
+ itemobj.decriptionlang = 'ar';
72
+ }
73
+ setitem(itemobj);
74
+ settitle(fetchProductInfoQueryContext.data.data.productinfo.name_en);
75
+ setshareUrl('https://' + authdetailsContext.instinfo.instcred.instexternaldomain + '/productinform/' + fetchProductInfoQueryContext.data.data.productinfo.productid);
76
+ }, [props.itemprops]);
77
+ function stringIsEnglish(str) {
78
+ var titlelang = 'English';
79
+ var arabic = /[\u0600-\u06FF]/;
80
+ if (!arabic.test(str)) {
81
+ titlelang = true;
82
+ } else {
83
+ titlelang = false;
84
+ }
85
+ return titlelang;
86
+ }
87
+ const GalleryStyle1Section = () => {
88
+ return (
89
+ <div
90
+ className={sectionproperties.maximizegalleryfullscreen == 'Yes' ? ' col-lg-12 p-0 maximize ' : 'col-lg-12 p-0'}
91
+ style={{
92
+ width: '100%',
93
+ height: 'auto',
94
+ }}
95
+ >
96
+ {productimagesarray.length == 0 && (
97
+ <div
98
+ style={{
99
+ width: '100%',
100
+ height: '30vh',
101
+ background: '#eee',
102
+ borderRadius: 10,
103
+ }}
104
+ >
105
+ <i class="h-100 allcentered text-light">
106
+ <FiLayers size={26} />
107
+ </i>
108
+ </div>
109
+ )}
110
+ {productimagesarray.length != 0 && (
111
+ <div class="w-100 d-block d-md-none">
112
+ <ImageGallery
113
+ items={productimagesarray}
114
+ thumbnailPosition={sectionproperties.thumbnailposition == 'Bottom' ? 'bottom' : 'left'}
115
+ showNav={false}
116
+ showPlayButton={false}
117
+ showFullscreenButton={true}
118
+ startIndex={currentshowingimageindex}
119
+ />
120
+ </div>
121
+ )}
122
+ {productimagesarray.length != 0 && (
123
+ <div class="w-100 d-none d-md-block">
124
+ <ImageGallery
125
+ items={productimagesarray}
126
+ thumbnailPosition={'bottom'}
127
+ showNav={false}
128
+ showPlayButton={false}
129
+ showFullscreenButton={true}
130
+ startIndex={currentshowingimageindex}
131
+ />
132
+ </div>
133
+ )}
134
+ </div>
135
+ );
136
+ };
137
+ const ProductNameSection = () => {
138
+ return (
139
+ <p
140
+ className={
141
+ srcfromprops == 'templatedraftrouter'
142
+ ? `${productinfo_cssstyles.productname} ${productinfo_cssstyles.productnamehover}` + ' m-0 p-0 wordbreak d-flex justify-content-start cursor-pointer font-sm-15 '
143
+ : `${productinfo_cssstyles.productname}` + ' m-0 p-0 wordbreak d-flex justify-content-start font-sm-15 '
144
+ }
145
+ onClick={() => {
146
+ if (srcfromprops == 'templatedraftrouter') {
147
+ routingcountext(StaticPagesLinksContext.productinfo, true, fetchProductInfoQueryContext.data.data.productinfo.productid);
148
+ }
149
+ }}
150
+ style={{ textAlign: langdetect == 'en' ? 'left' : 'right' }}
151
+ >
152
+ {langdetect == 'en' ? fetchProductInfoQueryContext.data.data.productinfo.name_en : fetchProductInfoQueryContext.data.data.productinfo.name_ar}
153
+ </p>
154
+ );
155
+ };
156
+ const SKUSection = () => {
157
+ return (
158
+ <div class={sectionproperties.availabilitybtnposition == 'Under SKU' && sectionproperties.show_availability == 'Show' ? 'row m-0 w-100 mt-3' : 'row m-0 w-100'}>
159
+ {sectionproperties.showSKU == 'Show' && sectionproperties.productInformationType == 'Product/Service Information' && (
160
+ <div
161
+ class={
162
+ sectionproperties.availabilitybtnposition == 'Under SKU' && sectionproperties.show_availability == 'Show'
163
+ ? 'col-lg-12 p-0 mb-1 d-flex justify-content-start'
164
+ : sectionproperties.deliverytimeshow == 'Show' && fetchProductInfoQueryContext?.data?.data?.productinfo?.deliverydatetext != null
165
+ ? 'col-lg-12 p-0 mb-2 d-flex justify-content-start'
166
+ : 'col-lg-12 p-0 mb-3 d-flex justify-content-start'
167
+ }
168
+ >
169
+ <p class="m-0 p-0 d-flex justify-content-start">
170
+ <span
171
+ style={{
172
+ color: sectionproperties.skuColor,
173
+ fontWeight: sectionproperties.skuFontWeight,
174
+ fontSize: sectionproperties.skuFontSize + 'px',
175
+ textAlign: langdetect == 'en' ? 'left' : 'right',
176
+ }}
177
+ >
178
+ {langdetect == 'en' ? sectionproperties.skutitleEn : sectionproperties.skutitleAr}:{' '}
179
+ </span>
180
+ <span
181
+ class="ml-1 mr-1"
182
+ style={{
183
+ color: '#7e859b',
184
+ fontWeight: sectionproperties.skuSecondaryFontWeight,
185
+ fontSize: sectionproperties.skuFontSize + 'px',
186
+ textAlign: langdetect == 'en' ? 'left' : 'right',
187
+ }}
188
+ >
189
+ {fetchProductInfoQueryContext.data.data.productinfo.sku}
190
+ </span>
191
+ </p>
192
+ </div>
193
+ )}
194
+ {sectionproperties.availabilitybtnposition == 'Under SKU' &&
195
+ sectionproperties.show_availability == 'Show' &&
196
+ fetchProductInfoQueryContext?.data?.data?.productinfo?.isproducttobesold == 1 && (
197
+ <div class={'col-lg-12 p-0 mb-3 d-flex justify-content-start'}>
198
+ <p class="m-0 p-0 d-flex justify-content-start">
199
+ <span
200
+ style={{
201
+ fontSize: sectionproperties.availability_fontsize + 'px',
202
+ color: sectionproperties.availability_textcolor,
203
+ textAlign: langdetect == 'en' ? 'left' : 'right',
204
+ fontWeight: sectionproperties.skuFontWeight,
205
+ }}
206
+ >
207
+ {lang.availability}:
208
+ </span>
209
+ <span
210
+ class="ml-1 mr-1"
211
+ style={{
212
+ color:
213
+ fetchProductInfoQueryContext.data.data.productinfo.quantavailtype == 'nolimit'
214
+ ? sectionproperties.availability_availabletextcolor
215
+ : sectionproperties.availability_limitedtextcolor,
216
+ fontSize: sectionproperties.availability_fontsize + 'px',
217
+ fontWeight: sectionproperties.skuSecondaryFontWeight,
218
+ textAlign: langdetect == 'en' ? 'left' : 'right',
219
+ }}
220
+ >
221
+ {fetchProductInfoQueryContext.data.data.productinfo.quantavailtype == 'nolimit' ? lang.instock : lang.limitedquantity}
222
+ </span>
223
+ </p>
224
+ </div>
225
+ )}
226
+ </div>
227
+ );
228
+ };
229
+ const ShareButtonsContainer = () => {
230
+ return (
231
+ <div class="row m-0 w-100">
232
+ <div class="col-lg-12 d-flex justify-content-center flex-column align-items-center p-0">
233
+ <p
234
+ class="m-0 p-0 w-100"
235
+ style={{
236
+ fontWeight: sectionproperties.sharebtn_FontWeight,
237
+ color: sectionproperties.sharebtn_color,
238
+ fontSize: sectionproperties.sharebtn_fontSize + 'px',
239
+ textAlign: sectionproperties.sharecentered == 'Centered' ? 'center' : langdetect == 'en' ? 'left' : 'right',
240
+ }}
241
+ >
242
+ {langdetect == 'en' ? sectionproperties.sharebtn_contentEn : sectionproperties.sharebtn_contentAr}
243
+ </p>
244
+ <div
245
+ className="Demo__container w-100 m-0 d-flex align-items-center mt-3"
246
+ style={{
247
+ justifyContent: srcfromprops != 'templatedraftrouter' ? 'start' : sectionproperties.sharecentered == 'Centered' ? 'center' : 'start',
248
+ }}
249
+ >
250
+ <div className="Demo__some-network ml-2 mr-2 allcentered">
251
+ <FacebookShareButton url={shareUrl} quote={title} className="Demo__some-network__share-button allcentered">
252
+ <div class={productinfo_cssstyles.shareicon + ' allcentered '} style={{}}>
253
+ <i class="h-100 allcentered">
254
+ <FaFacebookF />
255
+ </i>
256
+ </div>
257
+ </FacebookShareButton>
258
+ </div>
259
+ <div className="Demo__some-network ml-2 mr-2 allcentered">
260
+ <TwitterShareButton url={shareUrl} title={title} className="Demo__some-network__share-button allcentered">
261
+ <div class={productinfo_cssstyles.shareicon + ' allcentered '} style={{}}>
262
+ <i class="h-100 allcentered">
263
+ <AiOutlineTwitter size={16} />
264
+ </i>
265
+ </div>
266
+ </TwitterShareButton>
267
+ </div>
268
+ <div className="Demo__some-network ml-2 mr-2">
269
+ <WhatsappShareButton url={shareUrl} title={title} separator=":: " className="Demo__some-network__share-button">
270
+ <div class={productinfo_cssstyles.shareicon + ' allcentered '} style={{}}>
271
+ <i class="h-100 allcentered">
272
+ <FaWhatsapp size={16} />
273
+ </i>
274
+ </div>
275
+ </WhatsappShareButton>
276
+ </div>
277
+ {sectionproperties.showsharelinkedin == 'Show' && (
278
+ <div className="Demo__some-network ml-2 mr-2">
279
+ <LinkedinShareButton url={shareUrl} title={title} separator=":: " className="Demo__some-network__share-button">
280
+ <div class={productinfo_cssstyles.shareicon + ' allcentered '} style={{}}>
281
+ <i class="h-100 allcentered">
282
+ <FaLinkedinIn />
283
+ </i>
284
+ </div>
285
+ </LinkedinShareButton>
286
+ </div>
287
+ )}
288
+ {/* <div className="Demo__some-network ml-2 mr-2">
289
+ <FacebookMessengerShareButton url={shareUrl} title={title} separator=":: " className="Demo__some-network__share-button">
290
+ <FacebookMessengerIcon size={40} round />
291
+ </FacebookMessengerShareButton>
292
+ </div> */}
293
+ </div>
294
+ </div>
295
+ </div>
296
+ );
297
+ };
298
+ const Quantitybtn_Cartbtn_Favbottombtn = () => {
299
+ return (
300
+ <div class="col-lg-12 p-0">
301
+ <div
302
+ class="row m-0 w-100 d-flex align-items-center"
303
+ style={{
304
+ justifyContent: sectionproperties.cartbtncentered == 'Centered' ? 'center' : 'start',
305
+ }}
306
+ >
307
+ {sectionproperties.quantitybtn_show == 'Show' &&
308
+ fetchProductInfoQueryContext?.data?.data?.productinfo?.isproducttobesold == 1 &&
309
+ fetchProductInfoQueryContext?.data?.data?.productinfo?.isproducthasquantitychange == 1 && (
310
+ <button
311
+ className={` ${productinfo_cssstyles.quantitybtn}` + ' p-0 d-flex align-items-center justify-content-center mb-sm-2 '}
312
+ style={{
313
+ height: sectionproperties.quantitybtn_height + 'px',
314
+ width: sectionproperties.quantitybtn_width + 'px',
315
+ flexDirection: 'row',
316
+ direction: 'ltr',
317
+ }}
318
+ >
319
+ <span
320
+ className={`${productinfo_cssstyles.minus_quantitybtn_icon_container}` + ' m-1 '}
321
+ onClick={() => {
322
+ var tempaddtocardpayloadobj = {
323
+ ...addtocardpayloadobj,
324
+ };
325
+ if (tempaddtocardpayloadobj.quantity > 0) {
326
+ tempaddtocardpayloadobj.quantity = tempaddtocardpayloadobj.quantity - 1;
327
+ }
328
+ setaddtocardpayloadobj({
329
+ ...tempaddtocardpayloadobj,
330
+ });
331
+ }}
332
+ >
333
+ <i
334
+ className={sectionproperties.quantityiconstyle == 'Arrows' ? 'fa fa-chevron-down' : 'h-100 allcentered'}
335
+ style={{
336
+ fontSize: sectionproperties.remove_quantitybtn_textfontsize + 'px',
337
+ }}
338
+ >
339
+ {sectionproperties.quantityiconstyle == 'Plus/Minus' && <FiMinus size={sectionproperties.remove_quantitybtn_textfontsize} />}
340
+ </i>
341
+ </span>
342
+ <span className={`${productinfo_cssstyles.quantitybtn_text}`}>{addtocardpayloadobj.quantity}</span>
343
+ <span
344
+ className={`${productinfo_cssstyles.add_quantitybtn_icon_container}` + ' m-1 '}
345
+ onClick={() => {
346
+ var tempaddtocardpayloadobj = {
347
+ ...addtocardpayloadobj,
348
+ };
349
+ tempaddtocardpayloadobj.quantity = tempaddtocardpayloadobj.quantity + 1;
350
+ setaddtocardpayloadobj({
351
+ ...tempaddtocardpayloadobj,
352
+ });
353
+ }}
354
+ >
355
+ <i
356
+ className={sectionproperties.quantityiconstyle == 'Arrows' ? 'fa fa-chevron-up' : 'h-100 allcentered'}
357
+ // className="fa fa-chevron-up"
358
+ style={{
359
+ fontSize: sectionproperties.add_quantitybtn_textfontsize + 'px',
360
+ }}
361
+ >
362
+ {sectionproperties.quantityiconstyle == 'Plus/Minus' && <FiPlus size={sectionproperties.add_quantitybtn_textfontsize} />}
363
+ </i>
364
+ </span>
365
+ </button>
366
+ )}
367
+ {sectionproperties.cartbtnalone == 'Besides Other Buttons' &&
368
+ sectionproperties.cartBtnShow == 'Show' &&
369
+ fetchProductInfoQueryContext?.data?.data?.productinfo?.isproducttobesold == 1 && (
370
+ <button
371
+ className={`${productinfo_cssstyles.cart_btn} ` + ' ml-2 mr-2 d-flex align-items-center justify-content-center mb-sm-2 '}
372
+ onClick={() => {
373
+ if (fetchProductInfoQueryContext.data.data.productinfo.product_calltoaction == 'Call') {
374
+ window.open('tel:' + fetchProductInfoQueryContext.data.data.productinfo?.product_phonenumber, '_blank');
375
+ } else {
376
+ if (
377
+ fetchProductInfoQueryContext.data.data.productinfo.maximumproductquant >= addtocardpayloadobj.quantity &&
378
+ fetchProductInfoQueryContext.data.data.productinfo.minimumproductquant <= addtocardpayloadobj.quantity
379
+ ) {
380
+ addtocartfunc();
381
+ } else {
382
+ NotificationManager.warning(
383
+ '',
384
+ lang.maximum +
385
+ ': ' +
386
+ fetchProductInfoQueryContext.data.data.productinfo.maximumproductquant +
387
+ ', ' +
388
+ lang.minimum +
389
+ ': ' +
390
+ fetchProductInfoQueryContext.data.data.productinfo.minimumproductquant,
391
+ );
392
+ }
393
+ }
394
+ }}
395
+ disabled={AddtoCartMutationContext.isLoading == true ? true : false}
396
+ >
397
+ {!AddtoCartMutationContext.isLoading && (
398
+ <span className={' d-flex align-items-center justify-content-center '}>
399
+ <i
400
+ className={
401
+ langdetect == 'en' ? 'h-100 d-flex align-items-center justify-content-center mr-2' : 'h-100 d-flex align-items-center justify-content-center ml-2'
402
+ }
403
+ >
404
+ {sectionproperties.carticonstyle == 'Shopping bag 1' && <FiShoppingBag className="" size={sectionproperties.cartBtn_iconFontSize} />}
405
+ {sectionproperties.carticonstyle == 'Shopping bag 2' && <CgShoppingBag className="" size={sectionproperties.cartBtn_iconFontSize} />}
406
+ {sectionproperties.carticonstyle == 'Shopping bag 3' && <BsBag className="" size={sectionproperties.cartBtn_iconFontSize} />}
407
+ {sectionproperties.carticonstyle == 'Shopping bag 4' && <IoBagHandleOutline className="" size={sectionproperties.cartBtn_iconFontSize} />}
408
+ {sectionproperties.carticonstyle == 'Shopping cart 1' && <FiShoppingCart className="" size={sectionproperties.cartBtn_iconFontSize} />}
409
+ {sectionproperties.carticonstyle == 'Shopping cart 2' && <MdAddShoppingCart size={sectionproperties.cartBtn_iconFontSize} />}
410
+ </i>
411
+
412
+ {/* {langdetect == 'en' ? sectionproperties.cartBtnContentenglish : sectionproperties.cartBtnContentarabic} */}
413
+ {langdetect == 'en'
414
+ ? fetchProductInfoQueryContext?.data?.data?.productinfo?.productactionbuttontext_en
415
+ : fetchProductInfoQueryContext?.data?.data?.productinfo?.productactionbuttontext_ar}
416
+ </span>
417
+ )}
418
+ {AddtoCartMutationContext.isLoading && (
419
+ <div className={' d-flex align-items-center justify-content-center '}>
420
+ <CircularProgress color="white" width="20px" height="20px" duration="1s" />
421
+ </div>
422
+ )}
423
+ </button>
424
+ )}
425
+ {sectionproperties.btnposition == 'Bottom' && sectionproperties.favBtnShow == 'Show' && (
426
+ <div
427
+ className={productinfo_cssstyles.wishlist_btn + ' d-flex justify-content-center align-items-center mb-sm-2 '}
428
+ onClick={() => {
429
+ addtofavoritescontext(fetchProductInfoQueryContext.data.data.productinfo.productid);
430
+ }}
431
+ style={{
432
+ background: fetchProductInfoQueryContext.data.data.productinfo.IsFavExists == true ? sectionproperties.activebgcolor : '',
433
+ }}
434
+ >
435
+ <i className="h-100 d-flex align-items-center justify-content-center">
436
+ {fetchProductInfoQueryContext.data.data.productinfo.IsFavExists && (
437
+ <i className="h-100 d-flex align-items-center justify-content-center">
438
+ {sectionproperties.faviconshape == 'Star Shape' && (
439
+ <AiFillStar
440
+ size={sectionproperties.favBtnIconfontsize}
441
+ style={{
442
+ color: sectionproperties.activefaviconcolor,
443
+ }}
444
+ />
445
+ )}
446
+ {sectionproperties.faviconshape == 'Heart Shape' && (
447
+ <FaHeart
448
+ size={sectionproperties.favBtnIconfontsize}
449
+ style={{
450
+ color: sectionproperties.activefaviconcolor,
451
+ }}
452
+ />
453
+ )}
454
+ </i>
455
+ )}
456
+ {!fetchProductInfoQueryContext.data.data.productinfo.IsFavExists && (
457
+ <i className="h-100 d-flex align-items-center justify-content-center">
458
+ {sectionproperties.faviconshape == 'Star Shape' && <AiOutlineStar size={sectionproperties.favBtnIconfontsize} />}
459
+ {sectionproperties.faviconshape == 'Heart Shape' && <FaRegHeart size={sectionproperties.favBtnIconfontsize} />}
460
+ </i>
461
+ )}
462
+ </i>
463
+ {!fetchProductInfoQueryContext.data.data.productinfo.IsFavExists && sectionproperties.favBtnTextfontsize != 0 && (
464
+ <p
465
+ class="m-0 p-0"
466
+ style={{
467
+ fontSize: sectionproperties.favBtnTextfontsize + 'px',
468
+ }}
469
+ >
470
+ {langdetect == 'en' ? sectionproperties.favbtncontent_en : sectionproperties.favbtncontent_ar}
471
+ </p>
472
+ )}
473
+ {fetchProductInfoQueryContext.data.data.productinfo.IsFavExists && sectionproperties.favBtnTextfontsize != 0 && (
474
+ <p
475
+ class="m-0 p-0"
476
+ style={{
477
+ fontSize: sectionproperties.favBtnTextfontsize + 'px',
478
+ }}
479
+ >
480
+ {langdetect == 'en' ? sectionproperties.favbtnaddedcontent_en : sectionproperties.favbtnaddedcontent_ar}
481
+ </p>
482
+ )}
483
+ </div>
484
+ )}
485
+ </div>
486
+ {sectionproperties.cartbtnalone == 'Alone' && sectionproperties.cartBtnShow == 'Show' && fetchProductInfoQueryContext?.data?.data?.productinfo?.isproducttobesold == 1 && (
487
+ <div class="row m-0 w-100 mt-3" style={{ overflow: 'hidden' }}>
488
+ <button
489
+ className={`${productinfo_cssstyles.cart_btn} ` + ' d-flex align-items-center justify-content-center mb-sm-2 '}
490
+ style={{
491
+ width: sectionproperties.cartBtnWidth + '%',
492
+ }}
493
+ onClick={() => {
494
+ if (fetchProductInfoQueryContext.data.data.productinfo.product_calltoaction == 'Call') {
495
+ window.open('tel:' + fetchProductInfoQueryContext.data.data.productinfo?.product_phonenumber, '_blank');
496
+ } else {
497
+ if (
498
+ fetchProductInfoQueryContext.data.data.productinfo.maximumproductquant >= addtocardpayloadobj.quantity &&
499
+ fetchProductInfoQueryContext.data.data.productinfo.minimumproductquant <= addtocardpayloadobj.quantity
500
+ ) {
501
+ addtocartfunc();
502
+ } else {
503
+ NotificationManager.warning(
504
+ '',
505
+ lang.maximum +
506
+ ': ' +
507
+ fetchProductInfoQueryContext.data.data.productinfo.maximumproductquant +
508
+ ', ' +
509
+ lang.minimum +
510
+ ': ' +
511
+ fetchProductInfoQueryContext.data.data.productinfo.minimumproductquant,
512
+ );
513
+ }
514
+ }
515
+ }}
516
+ disabled={AddtoCartMutationContext.isLoading == true ? true : false}
517
+ >
518
+ {!AddtoCartMutationContext.isLoading && (
519
+ <span className={' d-flex align-items-center justify-content-center '}>
520
+ <i className={langdetect == 'en' ? 'h-100 d-flex align-items-center justify-content-center mr-2' : 'h-100 d-flex align-items-center justify-content-center ml-2'}>
521
+ {sectionproperties.carticonstyle == 'Shopping bag 1' && <FiShoppingBag className="" size={sectionproperties.cartBtn_iconFontSize} />}
522
+ {sectionproperties.carticonstyle == 'Shopping bag 2' && <CgShoppingBag className="" size={sectionproperties.cartBtn_iconFontSize} />}
523
+ {sectionproperties.carticonstyle == 'Shopping bag 3' && <BsBag className="" size={sectionproperties.cartBtn_iconFontSize} />}
524
+ {sectionproperties.carticonstyle == 'Shopping bag 4' && <IoBagHandleOutline className="" size={sectionproperties.cartBtn_iconFontSize} />}
525
+ {sectionproperties.carticonstyle == 'Shopping cart 1' && <FiShoppingCart className="" size={sectionproperties.cartBtn_iconFontSize} />}
526
+ {sectionproperties.carticonstyle == 'Shopping cart 2' && <MdAddShoppingCart size={sectionproperties.cartBtn_iconFontSize} />}
527
+ </i>
528
+
529
+ {langdetect == 'en'
530
+ ? fetchProductInfoQueryContext?.data?.data?.productinfo?.productactionbuttontext_en
531
+ : fetchProductInfoQueryContext?.data?.data?.productinfo?.productactionbuttontext_ar}
532
+ {/* {langdetect == 'en' ? sectionproperties.cartBtnContentenglish : sectionproperties.cartBtnContentarabic} */}
533
+ </span>
534
+ )}
535
+ {AddtoCartMutationContext.isLoading && (
536
+ <div className={' d-flex align-items-center justify-content-center '}>
537
+ <CircularProgress color="white" width="20px" height="20px" duration="1s" />
538
+ </div>
539
+ )}
540
+ </button>
541
+ {sectionproperties.btnposition == 'Besides Cart Button' && sectionproperties.favBtnShow == 'Show' && (
542
+ <div
543
+ className={productinfo_cssstyles.wishlist_btn + ' d-flex justify-content-center align-items-center mb-sm-2 mx-3 '}
544
+ onClick={() => {
545
+ addtofavoritescontext(fetchProductInfoQueryContext.data.data.productinfo.productid);
546
+ }}
547
+ style={{
548
+ background: fetchProductInfoQueryContext.data.data.productinfo.IsFavExists == true ? sectionproperties.activebgcolor : '',
549
+ }}
550
+ >
551
+ <i className="h-100 d-flex align-items-center justify-content-center">
552
+ {fetchProductInfoQueryContext.data.data.productinfo.IsFavExists && (
553
+ <i className="h-100 d-flex align-items-center justify-content-center">
554
+ {sectionproperties.faviconshape == 'Star Shape' && (
555
+ <AiFillStar
556
+ size={sectionproperties.favBtnIconfontsize}
557
+ style={{
558
+ color: sectionproperties.activefaviconcolor,
559
+ }}
560
+ />
561
+ )}
562
+ {sectionproperties.faviconshape == 'Heart Shape' && (
563
+ <FaHeart
564
+ size={sectionproperties.favBtnIconfontsize}
565
+ style={{
566
+ color: sectionproperties.activefaviconcolor,
567
+ }}
568
+ />
569
+ )}
570
+ </i>
571
+ )}
572
+ {!fetchProductInfoQueryContext.data.data.productinfo.IsFavExists && (
573
+ <i className="h-100 d-flex align-items-center justify-content-center">
574
+ {sectionproperties.faviconshape == 'Star Shape' && <AiOutlineStar size={sectionproperties.favBtnIconfontsize} />}
575
+ {sectionproperties.faviconshape == 'Heart Shape' && <FaRegHeart size={sectionproperties.favBtnIconfontsize} />}
576
+ </i>
577
+ )}
578
+ </i>
579
+ </div>
580
+ )}
581
+ </div>
582
+ )}
583
+ </div>
584
+ );
585
+ };
586
+ // {fetchProductInfoQueryContext.data.data.productinfo.hassale == 0
587
+ // ? parseFloat(getprice_discountpriceprops('defaultprice', 1, variantindexcompleted)).toFixed(2)
588
+ // : parseFloat(getprice_discountpriceprops('defaultsaleprice', 1, variantindexcompleted)).toFixed(2)}
589
+ useEffect(() => {
590
+ var totalprice = '';
591
+ if (variantindexcompleted.length == 0 && fetchProductInfoQueryContext.data.data.productinfo.hassale == 0) {
592
+ totalprice = parseFloat(getprice_discountpriceprops('defaultprice', 1, variantindexcompleted)).toFixed(2);
593
+ } else if (variantindexcompleted.length == 0 && fetchProductInfoQueryContext.data.data.productinfo.hassale == 1) {
594
+ totalprice = parseFloat(getprice_discountpriceprops('defaultsaleprice', 1, variantindexcompleted)).toFixed(2);
595
+ } else if (variantindexcompleted.length != 0 && fetchProductInfoQueryContext?.data?.data?.productinfo?.variants[variantindexcompleted]?.hassale == 1) {
596
+ totalprice = parseFloat(getprice_discountpriceprops('defaultsaleprice', 1, variantindexcompleted)).toFixed(2);
597
+ } else {
598
+ totalprice = parseFloat(getprice_discountpriceprops('defaultprice', 1, variantindexcompleted)).toFixed(2);
599
+ }
600
+ settotalprice(totalprice);
601
+ }, [variantindexcompleted]);
602
+ return (
603
+ <div
604
+ className={sectionproperties.card_marginLeft != 0 ? ' row m-0 w-100 pl-lg-3 pr-lg-3 pl-md-4 pr-md-4 p-sm-0 ' : ' row m-0 w-100 p-sm-0 '}
605
+ style={{
606
+ paddingLeft: srcfromprops == 'Productinfomodel' ? (langdetect == 'en' ? sectionproperties.card_marginLeft + 'px' : sectionproperties.card_marginRight + 'px') : 0,
607
+ paddingRight: srcfromprops == 'Productinfomodel' ? (langdetect == 'en' ? sectionproperties.card_marginRight + 'px' : sectionproperties.card_marginLeft + 'px') : 0,
608
+ }}
609
+ >
610
+ {/* {srcfromprops != 'templatedraftrouter' && ( */}
611
+ <div class={' col-lg-12 p-0 '}>
612
+ <div
613
+ class={
614
+ srcfromprops == 'templatedraftrouter'
615
+ ? `${productinfo_cssstyles.cardcontainer}` + ' row ml-0 mr-0 w-100 px-2 px-1025-1 p-sm-0 '
616
+ : `${productinfo_cssstyles.cardcontainer}` + ' row ml-0 mr-0 w-100 pl-md-3 pr-md-3 px-1025-1 '
617
+ }
618
+ style={{
619
+ minHeight: sectionproperties.height + 'vh',
620
+ }}
621
+ >
622
+ {sectionproperties.gallerystyle == 'Style 2' && (
623
+ <div class="w-100 scrollhorizontalwithscrollbar">
624
+ {fetchProductInfoQueryContext?.data?.data?.productinfo?.productimages?.length != 0 &&
625
+ fetchProductInfoQueryContext?.data?.data?.productinfo?.productimages.map((item, index) => {
626
+ return (
627
+ <div
628
+ class={' scrollhorizontalcard mx-2 '}
629
+ style={{
630
+ height: sectionproperties.image_height + 'px',
631
+ width: sectionproperties.image_width + 'px',
632
+ }}
633
+ >
634
+ <Imagekitimagecomp
635
+ urlEndpoint={ikimagecredcontext?.ikimageendpoint}
636
+ publicKey={ikimagecredcontext?.ikimagepublickey}
637
+ path={'/tr:w-' + sectionproperties.imagetr_w + ',h-' + sectionproperties.imagetr_h + '/' + item.path}
638
+ style={{
639
+ width: '100%',
640
+ height: '100%',
641
+ objectFit: 'contain',
642
+ }}
643
+ loading="lazy"
644
+ />
645
+ </div>
646
+ );
647
+ })}
648
+ </div>
649
+ )}
650
+ <div class="col-lg-12 p-0">
651
+ <div
652
+ class="row mx-0 w-100"
653
+ style={{
654
+ marginTop: sectionproperties.gallerystyle == 'Style 2' ? '3rem' : 0,
655
+ }}
656
+ >
657
+ <div
658
+ className={
659
+ sectionproperties.showfooterphonenumber == 'Hide' &&
660
+ sectionproperties.showfooteremail == 'Hide' &&
661
+ sectionproperties.showstoreinfo2 == 'Hide' &&
662
+ sectionproperties.showstoreinfo1 == 'Hide'
663
+ ? 'col-lg-12'
664
+ : sectionproperties.storeinfoposition == 'Below Information'
665
+ ? 'col-lg-12'
666
+ : langdetect == 'en'
667
+ ? 'col-lg-9 pl-0 mb-md-3 p-md-0'
668
+ : 'col-lg-9 pr-0 mb-md-3 p-md-0'
669
+ }
670
+ >
671
+ <div className={'row m-0 w-100'}>
672
+ {sectionproperties.gallerystyle == 'Style 1' && <div className="col-xl-5 col-lg-4 col-md-12 col-sm-12 mb-md-3 pb-md-4 pl-1 pr-1">{GalleryStyle1Section()}</div>}
673
+
674
+ <div
675
+ className={
676
+ sectionproperties.gallerystyle == 'Style 1'
677
+ ? langdetect == 'en'
678
+ ? 'col-xl-7 col-lg-8 col-md-12 col-sm-12 pl-4 pr-0 p-md-0'
679
+ : 'col-xl-7 col-lg-8 col-md-12 col-sm-12 pl-0 pr-4 p-md-0'
680
+ : 'col-xl-12 col-lg-12 col-md-12 col-sm-12 px-3 px-md-2'
681
+ }
682
+ >
683
+ <div className="row m-0 w-100">
684
+ <div
685
+ className={
686
+ fetchProductInfoQueryContext?.data?.data?.productinfo?.productcanrate == 1
687
+ ? 'col-lg-8 col-md-8 col-sm-8 p-0 mb-1 d-flex justify-content-start align-items-center'
688
+ : sectionproperties.btnposition == 'Top'
689
+ ? 'col-lg-8 col-md-8 col-sm-8 p-0 mb-1 d-flex justify-content-start align-items-center'
690
+ : sectionproperties.availabilitybtnposition == 'Top' && sectionproperties.show_availability == 'Show'
691
+ ? 'col-lg-8 col-md-8 col-sm-8 p-0 mb-1 d-flex justify-content-start align-items-center'
692
+ : 'col-lg-12 p-0 mb-1 d-flex justify-content-start align-items-center'
693
+ }
694
+ >
695
+ {ProductNameSection()}
696
+ </div>
697
+ {fetchProductInfoQueryContext?.data?.data?.productinfo?.productcanrate == 1 && sectionproperties.showrating == 'Show' && (
698
+ <div className="col-lg-4 col-md-4 col-sm-4 p-0 mb-1 d-flex justify-content-end align-items-center">
699
+ <ReactStars
700
+ count={5}
701
+ value={fetchProductInfoQueryContext?.data?.data?.productinfo?.productoverallrate}
702
+ edit={false}
703
+ size={18}
704
+ emptyIcon={<i className="far fa-star" style={{ color: '#FAB400' }}></i>}
705
+ halfIcon={<i className="fa fa-star-half-alt style={{ color: '#FAB400' }}"></i>}
706
+ filledIcon={<i className="fa fa-star" style={{ color: '#FAB400' }}></i>}
707
+ activeColor="#ffd700"
708
+ />
709
+ </div>
710
+ )}
711
+ <div className="col-lg-4 col-md-4 col-sm-4 p-0 mb-1 d-flex justify-content-end align-items-center">
712
+ {sectionproperties.availabilitybtnposition == 'Top' &&
713
+ sectionproperties.show_availability == 'Show' &&
714
+ fetchProductInfoQueryContext?.data?.data?.productinfo?.isproducttobesold == 1 && (
715
+ <div
716
+ style={{
717
+ width: sectionproperties.availability_width + 'px',
718
+ height: sectionproperties.availability_height + 'px',
719
+ background:
720
+ fetchProductInfoQueryContext.data.data.productinfo.quantavailtype == 'nolimit'
721
+ ? sectionproperties.availability_availablebgcolor
722
+ : sectionproperties.availability_limitedbgcolor,
723
+ borderRadius: sectionproperties.availability_borderrradius + 'px',
724
+ border:
725
+ fetchProductInfoQueryContext.data.data.productinfo.quantavailtype == 'nolimit'
726
+ ? sectionproperties.availability_borderwidtth + 'px solid ' + sectionproperties.availability_availabletextcolor
727
+ : sectionproperties.availability_borderwidtth + 'px solid ' + sectionproperties.availability_limitedtextcolor,
728
+ justifyContent: sectionproperties.availabilitytextalignment == 'Centered' ? 'center' : 'start',
729
+ }}
730
+ className="d-flex align-items-center pl-3 pr-3 mx-2"
731
+ >
732
+ <p
733
+ className="m-0 p-0 font-weight-500 wordbreak"
734
+ style={{
735
+ color:
736
+ fetchProductInfoQueryContext.data.data.productinfo.quantavailtype == 'nolimit'
737
+ ? sectionproperties.availability_availabletextcolor
738
+ : sectionproperties.availability_limitedtextcolor,
739
+ fontSize: sectionproperties.availability_fontsize + 'px',
740
+ textAlign: sectionproperties.availabilitytextalignment == 'Centered' ? 'center' : langdetect == 'en' ? 'left' : 'right',
741
+ }}
742
+ >
743
+ <span className="ml-1 mr-1">
744
+ {fetchProductInfoQueryContext.data.data.productinfo.quantavailtype == 'nolimit' ? lang.available : lang.limitedquantity}
745
+ </span>
746
+ </p>
747
+ </div>
748
+ )}
749
+ {sectionproperties.btnposition == 'Top' && sectionproperties.favBtnShow == 'Show' && (
750
+ <div
751
+ className={productinfo_cssstyles.wishlist_btn + ' d-flex justify-content-center align-items-center mb-sm-2 '}
752
+ onClick={() => {
753
+ addtofavoritescontext(fetchProductInfoQueryContext.data.data.productinfo.productid);
754
+ }}
755
+ style={{
756
+ background: fetchProductInfoQueryContext.data.data.productinfo.IsFavExists == true ? sectionproperties.activebgcolor : '',
757
+ }}
758
+ >
759
+ <i className="h-100 d-flex align-items-center justify-content-center">
760
+ {fetchProductInfoQueryContext.data.data.productinfo.IsFavExists && (
761
+ <i className="h-100 d-flex align-items-center justify-content-center">
762
+ {sectionproperties.faviconshape == 'Star Shape' && (
763
+ <AiFillStar
764
+ size={sectionproperties.favBtnIconfontsize}
765
+ style={{
766
+ color: sectionproperties.activefaviconcolor,
767
+ }}
768
+ />
769
+ )}
770
+ {sectionproperties.faviconshape == 'Heart Shape' && (
771
+ <FaHeart
772
+ size={sectionproperties.favBtnIconfontsize}
773
+ style={{
774
+ color: sectionproperties.activefaviconcolor,
775
+ }}
776
+ />
777
+ )}
778
+ </i>
779
+ )}
780
+ {!fetchProductInfoQueryContext.data.data.productinfo.IsFavExists && (
781
+ <i className="h-100 d-flex align-items-center justify-content-center">
782
+ {sectionproperties.faviconshape == 'Star Shape' && <AiOutlineStar size={sectionproperties.favBtnIconfontsize} />}
783
+ {sectionproperties.faviconshape == 'Heart Shape' && <FaRegHeart size={sectionproperties.favBtnIconfontsize} />}
784
+ </i>
785
+ )}
786
+ </i>
787
+ </div>
788
+ )}
789
+ </div>
790
+ {sectionproperties.descriptionposition == 'Top' && (
791
+ <div class="col-lg-12 p-0">
792
+ <DescriptionContent actions={props.actions} srcfromprops={'undername'} />
793
+ </div>
794
+ )}
795
+ {/* {srcfromprops == 'templatdraftrouter' && (
796
+ <div className="col-lg-10 col-md-10 col-sm-10 p-0 mb-2 d-flex justify-content-start align-items-center">
797
+ <p className={`${productinfo_cssstyles.productname}` + ' m-0 p-0 wordbreak d-flex justify-content-start '}>
798
+ {langdetect == 'en' ? fetchProductInfoQueryContext.data.data.productinfo.name_en : fetchProductInfoQueryContext.data.data.productinfo.name_ar}
799
+ </p>
800
+ </div>
801
+ )} */}
802
+ {fetchProductInfoQueryContext?.data?.data?.productinfo?.vendorinfo != null && sectionproperties.showvendor == 'Show' && (
803
+ <div class="col-lg-12 p-0 d-flex justify-content-start mt-2 mb-2">
804
+ <p class="m-0 p-0" style={{ color: '#000' }}>
805
+ {langdetect == 'en' ? 'Seller' : 'البائع'}:{' '}
806
+ <span
807
+ style={{
808
+ fontWeight: 600,
809
+ }}
810
+ >
811
+ {fetchProductInfoQueryContext?.data?.data?.productinfo?.vendorinfo?.vendorname}
812
+ </span>
813
+ </p>
814
+ </div>
815
+ )}
816
+ <div class="col-lg-12 p-0">{SKUSection()}</div>
817
+
818
+ {fetchProductInfoQueryContext?.data?.data?.productinfo?.currentquantity < 1 &&
819
+ sectionproperties.showoutofstock == 'Show' &&
820
+ fetchProductInfoQueryContext?.data?.data?.productinfo?.quantavailtype == 'limit' &&
821
+ fetchProductInfoQueryContext?.data?.data?.productinfo?.hasvariants == 0 && (
822
+ <div class="col-lg-12 p-0 d-flex justify-content-start mb-2">
823
+ <div class={`${productinfo_cssstyles.outstockbadge}` + ' allcentered '}>
824
+ <p class="m-0 p-0">{langdetect == 'en' ? sectionproperties.outstock_contenten : sectionproperties.outstock_contentar}</p>
825
+ </div>
826
+ </div>
827
+ )}
828
+ {sectionproperties.deliverytimeshow == 'Show' && fetchProductInfoQueryContext?.data?.data?.productinfo?.deliverydatetext != null && (
829
+ <div
830
+ class="mb-4 col-lg-12 allcentered"
831
+ style={{
832
+ width: '100%',
833
+ backgroundColor: sectionproperties.deliverytimecontainerBg,
834
+ paddingLeft: sectionproperties.deliverytimecontainerpaddinghorizontal + 'px',
835
+ paddingRight: sectionproperties.deliverytimecontainerpaddinghorizontal + 'px',
836
+ paddingTop: sectionproperties.deliverytimecontainerpaddingvertical + 'px',
837
+ paddingBottom: sectionproperties.deliverytimecontainerpaddingvertical + 'px',
838
+ border: sectionproperties.deliverytimecontainerborderwidth + 'px solid ' + sectionproperties.deliverytimecontainerbordercolor,
839
+ borderRadius: sectionproperties.deliverytimecontainerborderradius + 'px',
840
+ fontSize: sectionproperties.deliverytimecontainerfontsize + 'px',
841
+ fontWeight: sectionproperties.deliverytimecontainerfontWeight,
842
+ marginTop: 15,
843
+ }}
844
+ >
845
+ <p
846
+ class="m-0 p-0 "
847
+ style={{
848
+ textAlign: langdetect == 'en' ? 'left' : 'right',
849
+ color: sectionproperties.deliverytimecontainercolor,
850
+ }}
851
+ >
852
+ {sectionproperties.showdeliverytitle == 'Show' && (
853
+ <span>{langdetect == 'en' ? sectionproperties.deliverycontent_en : sectionproperties.deliverycontent_ar}: </span>
854
+ )}{' '}
855
+ {fetchProductInfoQueryContext?.data?.data?.productinfo?.deliverydatetext}
856
+ </p>
857
+ </div>
858
+ )}
859
+ {fetchProductInfoQueryContext?.data?.data?.productinfo?.isproducttobesold == 1 && <ProductHeaderPricing actions={props.actions} />}
860
+ {fetchProductInfoQueryContext?.data?.data?.productinfo?.hasvariants == 1 && sectionproperties.productInformationType == 'Profile' && (
861
+ <div className="row m-0 w-100 d-flex align-items-start">
862
+ {ProductInfoObj?.data?.productinfo?.productoptions?.map((item, index) => {
863
+ return (
864
+ <div className="col-lg-12 p-0 d-flex justify-content-start" style={{ position: 'relative' }}>
865
+ <div style={{ width: 2, height: '100%', background: sectionproperties.upperseparatorbgcolor, position: 'absolute', top: 7 }} />
866
+ <div
867
+ style={{
868
+ width: 10,
869
+ height: 10,
870
+ background: sectionproperties.upperseparatorsecondarybgcolor,
871
+ borderRadius: 100,
872
+ position: 'absolute',
873
+ top: 7,
874
+ left: langdetect == 'en' ? -4 : '',
875
+ right: langdetect == 'ar' ? -4 : '',
876
+ }}
877
+ />
878
+ <div
879
+ className="row m-0 w-100 d-flex align-items-start pb-3"
880
+ style={{
881
+ paddingLeft: langdetect == 'en' ? '1rem' : 0,
882
+ paddingRight: langdetect == 'ar' ? '1rem' : 0,
883
+ }}
884
+ >
885
+ <p
886
+ className={' m-0 p-0 wordbreak'}
887
+ style={{
888
+ color: sectionproperties.varianttitle_color,
889
+ fontWeight: sectionproperties.varianttitle_fontweight,
890
+ textTransform: sectionproperties.varianttitle_texttransform,
891
+ fontSize: sectionproperties.varianttitle_fontSize + 'px',
892
+ }}
893
+ >
894
+ {langdetect == 'en' ? item.optionname : item.optionname_ar}:
895
+ </p>
896
+ {item.optionvalues.map((optionvaluesitem, optionvaluesindex) => {
897
+ return (
898
+ <div
899
+ className={productinfostyles.variant_container + ' mr-2 variabttcontainer allcentered '}
900
+ style={{
901
+ backgroundColor:
902
+ sectionproperties.variantcontainer_bgcolortransparent == 'Transparent'
903
+ ? 'transparent'
904
+ : sectionproperties.variantcontainer_bgcolor,
905
+ minWidth:
906
+ sectionproperties.variantcontainer_bgcolortransparent == 'Transparent'
907
+ ? 'auto'
908
+ : sectionproperties.variantcontainer_minwidth + 'px',
909
+ height:
910
+ sectionproperties.variantcontainer_bgcolortransparent == 'Transparent'
911
+ ? 'auto'
912
+ : sectionproperties.variantcontainer_height + 'px',
913
+ borderRadius: sectionproperties.variantcontainer_borderBottomLeftRadius + 'px',
914
+ transform: 'none',
915
+ cursor: 'default',
916
+ }}
917
+ >
918
+ <p
919
+ className={'m-0 p-0 allcentered font-weight-500'}
920
+ style={{
921
+ color: sectionproperties.variantcontainer_color,
922
+ fontSize: sectionproperties.variantcontainer_fontSize + 'px',
923
+ }}
924
+ >
925
+ {langdetect == 'en' ? optionvaluesitem.valuename : optionvaluesitem.valuename_ar}
926
+ </p>
927
+ </div>
928
+ );
929
+ })}
930
+ </div>
931
+ </div>
932
+ );
933
+ })}
934
+ </div>
935
+ )}
936
+ <Variantoptions actions={props.actions} />
937
+ {sectionproperties.showextrafield == 'Show' && <ProductExtraFields actions={props.actions} />}
938
+ {sectionproperties.quantitybtn_show == 'Show' && sectionproperties.cartBtnShow == 'Show' && srcfromprops != 'templatedraftrouter' && (
939
+ <div className="col-lg-12 p-0 mb-3">
940
+ <hr className="mb-0 mt-2" />
941
+ </div>
942
+ )}
943
+ <div
944
+ className="col-lg-12 p-0 mb-3"
945
+ style={{
946
+ display: sectionproperties.quantitybtn_show == 'Hide' && sectionproperties.cartBtnShow == 'Hide' ? 'none' : 'flex',
947
+ }}
948
+ >
949
+ <div className="row m-0 w-100 d-flex align-items-center">
950
+ {fetchProductInfoQueryContext?.data?.data?.productinfo?.isproducttobesold == 1 &&
951
+ fetchProductInfoQueryContext?.data?.data?.productinfo?.isproducthasquantitychange == 1 && (
952
+ <div className="col-lg-12 p-0 mb-2 d-flex justify-content-start">
953
+ <p
954
+ className="m-0 p-0"
955
+ style={{
956
+ color: sectionproperties.generaltext_fontColor,
957
+ fontSize: sectionproperties.generaltext_fontSize + 'px',
958
+ textTransform: sectionproperties.generaltext_textTransform,
959
+ fontWeight: sectionproperties.generaltext_fontWeight,
960
+ }}
961
+ >
962
+ {lang.quantity}:
963
+ </p>
964
+ </div>
965
+ )}
966
+ {Quantitybtn_Cartbtn_Favbottombtn()}
967
+ {/* <div class="col-lg-12 p-0">
968
+ <div
969
+ class="row m-0 w-100 d-flex align-items-center"
970
+ style={{
971
+ justifyContent: sectionproperties.cartbtncentered == 'Centered' ? 'center' : 'start',
972
+ }}
973
+ >
974
+ {sectionproperties.quantitybtn_show == 'Show' &&
975
+ fetchProductInfoQueryContext?.data?.data?.productinfo?.isproducttobesold == 1 &&
976
+ fetchProductInfoQueryContext?.data?.data?.productinfo?.isproducthasquantitychange == 1 && (
977
+ <button
978
+ className={` ${productinfo_cssstyles.quantitybtn}` + ' p-0 d-flex align-items-center justify-content-center mb-sm-2 '}
979
+ style={{
980
+ height: sectionproperties.quantitybtn_height + 'px',
981
+ width: sectionproperties.quantitybtn_width + 'px',
982
+ flexDirection: 'row',
983
+ direction: 'ltr',
984
+ }}
985
+ >
986
+ <span
987
+ className={`${productinfo_cssstyles.minus_quantitybtn_icon_container}` + ' m-1 '}
988
+ onClick={() => {
989
+ var tempaddtocardpayloadobj = {
990
+ ...addtocardpayloadobj,
991
+ };
992
+ if (tempaddtocardpayloadobj.quantity > 0) {
993
+ tempaddtocardpayloadobj.quantity = tempaddtocardpayloadobj.quantity - 1;
994
+ }
995
+ setaddtocardpayloadobj({
996
+ ...tempaddtocardpayloadobj,
997
+ });
998
+ }}
999
+ >
1000
+ <i
1001
+ className={sectionproperties.quantityiconstyle == 'Arrows' ? 'fa fa-chevron-down' : 'h-100 allcentered'}
1002
+ style={{
1003
+ fontSize: sectionproperties.remove_quantitybtn_textfontsize + 'px',
1004
+ }}
1005
+ >
1006
+ {sectionproperties.quantityiconstyle == 'Plus/Minus' && (
1007
+ <FiMinus size={sectionproperties.remove_quantitybtn_textfontsize} />
1008
+ )}
1009
+ </i>
1010
+ </span>
1011
+ <span className={`${productinfo_cssstyles.quantitybtn_text}`}>{addtocardpayloadobj.quantity}</span>
1012
+ <span
1013
+ className={`${productinfo_cssstyles.add_quantitybtn_icon_container}` + ' m-1 '}
1014
+ onClick={() => {
1015
+ var tempaddtocardpayloadobj = {
1016
+ ...addtocardpayloadobj,
1017
+ };
1018
+ tempaddtocardpayloadobj.quantity = tempaddtocardpayloadobj.quantity + 1;
1019
+ setaddtocardpayloadobj({
1020
+ ...tempaddtocardpayloadobj,
1021
+ });
1022
+ }}
1023
+ >
1024
+ <i
1025
+ className={sectionproperties.quantityiconstyle == 'Arrows' ? 'fa fa-chevron-up' : 'h-100 allcentered'}
1026
+ // className="fa fa-chevron-up"
1027
+ style={{
1028
+ fontSize: sectionproperties.add_quantitybtn_textfontsize + 'px',
1029
+ }}
1030
+ >
1031
+ {sectionproperties.quantityiconstyle == 'Plus/Minus' && (
1032
+ <FiPlus size={sectionproperties.add_quantitybtn_textfontsize} />
1033
+ )}
1034
+ </i>
1035
+ </span>
1036
+ </button>
1037
+ )}
1038
+ {sectionproperties.cartbtnalone == 'Besides Other Buttons' &&
1039
+ sectionproperties.cartBtnShow == 'Show' &&
1040
+ fetchProductInfoQueryContext?.data?.data?.productinfo?.isproducttobesold == 1 && (
1041
+ <button
1042
+ className={`${productinfo_cssstyles.cart_btn} ` + ' ml-2 mr-2 d-flex align-items-center justify-content-center mb-sm-2 '}
1043
+ onClick={() => {
1044
+ if (fetchProductInfoQueryContext.data.data.productinfo.product_calltoaction == 'Call') {
1045
+ window.open('tel:' + fetchProductInfoQueryContext.data.data.productinfo?.product_phonenumber, '_blank');
1046
+ } else {
1047
+ if (
1048
+ fetchProductInfoQueryContext.data.data.productinfo.maximumproductquant >= addtocardpayloadobj.quantity &&
1049
+ fetchProductInfoQueryContext.data.data.productinfo.minimumproductquant <= addtocardpayloadobj.quantity
1050
+ ) {
1051
+ addtocartfunc();
1052
+ } else {
1053
+ NotificationManager.warning(
1054
+ '',
1055
+ lang.maximum +
1056
+ ': ' +
1057
+ fetchProductInfoQueryContext.data.data.productinfo.maximumproductquant +
1058
+ ', ' +
1059
+ lang.minimum +
1060
+ ': ' +
1061
+ fetchProductInfoQueryContext.data.data.productinfo.minimumproductquant,
1062
+ );
1063
+ }
1064
+ }
1065
+ }}
1066
+ disabled={AddtoCartMutationContext.isLoading == true ? true : false}
1067
+ >
1068
+ {!AddtoCartMutationContext.isLoading && (
1069
+ <span className={' d-flex align-items-center justify-content-center '}>
1070
+ <i
1071
+ className={
1072
+ langdetect == 'en'
1073
+ ? 'h-100 d-flex align-items-center justify-content-center mr-2'
1074
+ : 'h-100 d-flex align-items-center justify-content-center ml-2'
1075
+ }
1076
+ >
1077
+ {sectionproperties.carticonstyle == 'Shopping bag 1' && (
1078
+ <FiShoppingBag className="" size={sectionproperties.cartBtn_iconFontSize} />
1079
+ )}
1080
+ {sectionproperties.carticonstyle == 'Shopping bag 2' && (
1081
+ <CgShoppingBag className="" size={sectionproperties.cartBtn_iconFontSize} />
1082
+ )}
1083
+ {sectionproperties.carticonstyle == 'Shopping bag 3' && (
1084
+ <BsBag className="" size={sectionproperties.cartBtn_iconFontSize} />
1085
+ )}
1086
+ {sectionproperties.carticonstyle == 'Shopping bag 4' && (
1087
+ <IoBagHandleOutline className="" size={sectionproperties.cartBtn_iconFontSize} />
1088
+ )}
1089
+ {sectionproperties.carticonstyle == 'Shopping cart 1' && (
1090
+ <FiShoppingCart className="" size={sectionproperties.cartBtn_iconFontSize} />
1091
+ )}
1092
+ {sectionproperties.carticonstyle == 'Shopping cart 2' && (
1093
+ <MdAddShoppingCart size={sectionproperties.cartBtn_iconFontSize} />
1094
+ )}
1095
+ </i>
1096
+
1097
+ {langdetect == 'en'
1098
+ ? fetchProductInfoQueryContext?.data?.data?.productinfo?.productactionbuttontext_en
1099
+ : fetchProductInfoQueryContext?.data?.data?.productinfo?.productactionbuttontext_ar}
1100
+ </span>
1101
+ )}
1102
+ {AddtoCartMutationContext.isLoading && (
1103
+ <div className={' d-flex align-items-center justify-content-center '}>
1104
+ <CircularProgress color="white" width="20px" height="20px" duration="1s" />
1105
+ </div>
1106
+ )}
1107
+ </button>
1108
+ )}
1109
+ {sectionproperties.btnposition == 'Bottom' && sectionproperties.favBtnShow == 'Show' && (
1110
+ <div
1111
+ className={productinfo_cssstyles.wishlist_btn + ' d-flex justify-content-center align-items-center mb-sm-2 '}
1112
+ onClick={() => {
1113
+ addtofavoritescontext(fetchProductInfoQueryContext.data.data.productinfo.productid);
1114
+ }}
1115
+ style={{
1116
+ background: fetchProductInfoQueryContext.data.data.productinfo.IsFavExists == true ? sectionproperties.activebgcolor : '',
1117
+ }}
1118
+ >
1119
+ <i className="h-100 d-flex align-items-center justify-content-center">
1120
+ {fetchProductInfoQueryContext.data.data.productinfo.IsFavExists && (
1121
+ <i className="h-100 d-flex align-items-center justify-content-center">
1122
+ {sectionproperties.faviconshape == 'Star Shape' && (
1123
+ <AiFillStar
1124
+ size={sectionproperties.favBtnIconfontsize}
1125
+ style={{
1126
+ color: sectionproperties.activefaviconcolor,
1127
+ }}
1128
+ />
1129
+ )}
1130
+ {sectionproperties.faviconshape == 'Heart Shape' && (
1131
+ <FaHeart
1132
+ size={sectionproperties.favBtnIconfontsize}
1133
+ style={{
1134
+ color: sectionproperties.activefaviconcolor,
1135
+ }}
1136
+ />
1137
+ )}
1138
+ </i>
1139
+ )}
1140
+ {!fetchProductInfoQueryContext.data.data.productinfo.IsFavExists && (
1141
+ <i className="h-100 d-flex align-items-center justify-content-center">
1142
+ {sectionproperties.faviconshape == 'Star Shape' && <AiOutlineStar size={sectionproperties.favBtnIconfontsize} />}
1143
+ {sectionproperties.faviconshape == 'Heart Shape' && <FaRegHeart size={sectionproperties.favBtnIconfontsize} />}
1144
+ </i>
1145
+ )}
1146
+ </i>
1147
+ {!fetchProductInfoQueryContext.data.data.productinfo.IsFavExists && sectionproperties.favBtnTextfontsize != 0 && (
1148
+ <p
1149
+ class="m-0 p-0"
1150
+ style={{
1151
+ fontSize: sectionproperties.favBtnTextfontsize + 'px',
1152
+ }}
1153
+ >
1154
+ {langdetect == 'en' ? sectionproperties.favbtncontent_en : sectionproperties.favbtncontent_ar}
1155
+ </p>
1156
+ )}
1157
+ {fetchProductInfoQueryContext.data.data.productinfo.IsFavExists && sectionproperties.favBtnTextfontsize != 0 && (
1158
+ <p
1159
+ class="m-0 p-0"
1160
+ style={{
1161
+ fontSize: sectionproperties.favBtnTextfontsize + 'px',
1162
+ }}
1163
+ >
1164
+ {langdetect == 'en' ? sectionproperties.favbtnaddedcontent_en : sectionproperties.favbtnaddedcontent_ar}
1165
+ </p>
1166
+ )}
1167
+ </div>
1168
+ )}
1169
+ </div>
1170
+ {sectionproperties.cartbtnalone == 'Alone' &&
1171
+ sectionproperties.cartBtnShow == 'Show' &&
1172
+ fetchProductInfoQueryContext?.data?.data?.productinfo?.isproducttobesold == 1 && (
1173
+ <div class="row m-0 w-100 mt-3" style={{ overflow: 'hidden' }}>
1174
+ <button
1175
+ className={`${productinfo_cssstyles.cart_btn} ` + ' d-flex align-items-center justify-content-center mb-sm-2 '}
1176
+ style={{
1177
+ width: sectionproperties.cartBtnWidth + '%',
1178
+ }}
1179
+ onClick={() => {
1180
+ if (fetchProductInfoQueryContext.data.data.productinfo.product_calltoaction == 'Call') {
1181
+ window.open('tel:' + fetchProductInfoQueryContext.data.data.productinfo?.product_phonenumber, '_blank');
1182
+ } else {
1183
+ if (
1184
+ fetchProductInfoQueryContext.data.data.productinfo.maximumproductquant >= addtocardpayloadobj.quantity &&
1185
+ fetchProductInfoQueryContext.data.data.productinfo.minimumproductquant <= addtocardpayloadobj.quantity
1186
+ ) {
1187
+ addtocartfunc();
1188
+ } else {
1189
+ NotificationManager.warning(
1190
+ '',
1191
+ lang.maximum +
1192
+ ': ' +
1193
+ fetchProductInfoQueryContext.data.data.productinfo.maximumproductquant +
1194
+ ', ' +
1195
+ lang.minimum +
1196
+ ': ' +
1197
+ fetchProductInfoQueryContext.data.data.productinfo.minimumproductquant,
1198
+ );
1199
+ }
1200
+ }
1201
+ }}
1202
+ disabled={AddtoCartMutationContext.isLoading == true ? true : false}
1203
+ >
1204
+ {!AddtoCartMutationContext.isLoading && (
1205
+ <span className={' d-flex align-items-center justify-content-center '}>
1206
+ <i
1207
+ className={
1208
+ langdetect == 'en'
1209
+ ? 'h-100 d-flex align-items-center justify-content-center mr-2'
1210
+ : 'h-100 d-flex align-items-center justify-content-center ml-2'
1211
+ }
1212
+ >
1213
+ {sectionproperties.carticonstyle == 'Shopping bag 1' && (
1214
+ <FiShoppingBag className="" size={sectionproperties.cartBtn_iconFontSize} />
1215
+ )}
1216
+ {sectionproperties.carticonstyle == 'Shopping bag 2' && (
1217
+ <CgShoppingBag className="" size={sectionproperties.cartBtn_iconFontSize} />
1218
+ )}
1219
+ {sectionproperties.carticonstyle == 'Shopping bag 3' && (
1220
+ <BsBag className="" size={sectionproperties.cartBtn_iconFontSize} />
1221
+ )}
1222
+ {sectionproperties.carticonstyle == 'Shopping bag 4' && (
1223
+ <IoBagHandleOutline className="" size={sectionproperties.cartBtn_iconFontSize} />
1224
+ )}
1225
+ {sectionproperties.carticonstyle == 'Shopping cart 1' && (
1226
+ <FiShoppingCart className="" size={sectionproperties.cartBtn_iconFontSize} />
1227
+ )}
1228
+ {sectionproperties.carticonstyle == 'Shopping cart 2' && (
1229
+ <MdAddShoppingCart size={sectionproperties.cartBtn_iconFontSize} />
1230
+ )}
1231
+ </i>
1232
+
1233
+ {langdetect == 'en'
1234
+ ? fetchProductInfoQueryContext?.data?.data?.productinfo?.productactionbuttontext_en
1235
+ : fetchProductInfoQueryContext?.data?.data?.productinfo?.productactionbuttontext_ar}
1236
+ </span>
1237
+ )}
1238
+ {AddtoCartMutationContext.isLoading && (
1239
+ <div className={' d-flex align-items-center justify-content-center '}>
1240
+ <CircularProgress color="white" width="20px" height="20px" duration="1s" />
1241
+ </div>
1242
+ )}
1243
+ </button>
1244
+ {sectionproperties.btnposition == 'Besides Cart Button' && sectionproperties.favBtnShow == 'Show' && (
1245
+ <div
1246
+ className={productinfo_cssstyles.wishlist_btn + ' d-flex justify-content-center align-items-center mb-sm-2 mx-3 '}
1247
+ onClick={() => {
1248
+ addtofavoritescontext(fetchProductInfoQueryContext.data.data.productinfo.productid);
1249
+ }}
1250
+ style={{
1251
+ background:
1252
+ fetchProductInfoQueryContext.data.data.productinfo.IsFavExists == true ? sectionproperties.activebgcolor : '',
1253
+ }}
1254
+ >
1255
+ <i className="h-100 d-flex align-items-center justify-content-center">
1256
+ {fetchProductInfoQueryContext.data.data.productinfo.IsFavExists && (
1257
+ <i className="h-100 d-flex align-items-center justify-content-center">
1258
+ {sectionproperties.faviconshape == 'Star Shape' && (
1259
+ <AiFillStar
1260
+ size={sectionproperties.favBtnIconfontsize}
1261
+ style={{
1262
+ color: sectionproperties.activefaviconcolor,
1263
+ }}
1264
+ />
1265
+ )}
1266
+ {sectionproperties.faviconshape == 'Heart Shape' && (
1267
+ <FaHeart
1268
+ size={sectionproperties.favBtnIconfontsize}
1269
+ style={{
1270
+ color: sectionproperties.activefaviconcolor,
1271
+ }}
1272
+ />
1273
+ )}
1274
+ </i>
1275
+ )}
1276
+ {!fetchProductInfoQueryContext.data.data.productinfo.IsFavExists && (
1277
+ <i className="h-100 d-flex align-items-center justify-content-center">
1278
+ {sectionproperties.faviconshape == 'Star Shape' && (
1279
+ <AiOutlineStar size={sectionproperties.favBtnIconfontsize} />
1280
+ )}
1281
+ {sectionproperties.faviconshape == 'Heart Shape' && (
1282
+ <FaRegHeart size={sectionproperties.favBtnIconfontsize} />
1283
+ )}
1284
+ </i>
1285
+ )}
1286
+ </i>
1287
+ </div>
1288
+ )}
1289
+ </div>
1290
+ )}
1291
+ </div> */}
1292
+ </div>
1293
+ </div>
1294
+ {sectionproperties.productInformationType == 'Product/Service Information' &&
1295
+ fetchProductInfoQueryContext?.data?.data?.productinfo?.isproducttobesold == 1 &&
1296
+ sectionproperties.showtotalsection == 'Show' && (
1297
+ <div className="col-lg-12 p-0 mb-3">
1298
+ <div className="row m-0 w-100 d-flex flex-row">
1299
+ <p
1300
+ className="m-0 p-0"
1301
+ style={{
1302
+ color: sectionproperties.total_color,
1303
+ fontSize: sectionproperties.total_fontsize + 'px',
1304
+ fontWeight: sectionproperties.total_fontweight,
1305
+ textTransform: sectionproperties.total_texttransform,
1306
+ }}
1307
+ >
1308
+ {lang.total}:
1309
+ </p>
1310
+ <div className="col-lg-9 col-md-9 col-sm-9 d-flex align-items-center pl-1 pr-1">
1311
+ <p
1312
+ className={'m-0 p-0 wordbreak d-flex align-items-center justify-content-end'}
1313
+ style={{
1314
+ fontSize: sectionproperties.prodpriceFontSize + 'px',
1315
+ fontWeight: sectionproperties.prodPriceFontWeight,
1316
+ color: sectionproperties.prodPriceColor,
1317
+ }}
1318
+ >
1319
+ {/* here */}
1320
+ <span
1321
+ className={
1322
+ langdetect == 'en'
1323
+ ? ' d-flex align-items-center justify-content-end wordbreak text-right '
1324
+ : ' d-flex align-items-center justify-content-end wordbreak text-left '
1325
+ }
1326
+ >
1327
+ {langdetect == 'en' ? authdetailsContext?.currencyname_en : ''}{' '}
1328
+ {variantindexcompleted != undefined &&
1329
+ variantindexcompleted.length == 0 &&
1330
+ fetchProductInfoQueryContext.data.data.productinfo.hassale == 0 &&
1331
+ parseFloat(getprice_discountpriceprops('defaultprice', 1, variantindexcompleted)).toFixed(2)}
1332
+ {variantindexcompleted != undefined &&
1333
+ variantindexcompleted.length == 0 &&
1334
+ fetchProductInfoQueryContext.data.data.productinfo.hassale == 1 &&
1335
+ parseFloat(getprice_discountpriceprops('defaultsaleprice', 1, variantindexcompleted)).toFixed(2)}
1336
+ {variantindexcompleted != undefined &&
1337
+ variantindexcompleted.length != 0 &&
1338
+ fetchProductInfoQueryContext?.data?.data?.productinfo?.variants[variantindexcompleted]?.hassale == 1 &&
1339
+ parseFloat(getprice_discountpriceprops('defaultsaleprice', 1, variantindexcompleted)).toFixed(2)}
1340
+ {variantindexcompleted != undefined &&
1341
+ variantindexcompleted.length != 0 &&
1342
+ fetchProductInfoQueryContext?.data?.data?.productinfo?.variants[variantindexcompleted]?.hassale == 0 &&
1343
+ parseFloat(getprice_discountpriceprops('defaultprice', 1, variantindexcompleted)).toFixed(2)}
1344
+ {/* {totalprice} */}
1345
+ {/* {fetchProductInfoQueryContext.data.data.productinfo.hassale == 0
1346
+ ? parseFloat(getprice_discountpriceprops('defaultprice', 1, variantindexcompleted)).toFixed(2)
1347
+ : parseFloat(getprice_discountpriceprops('defaultsaleprice', 1, variantindexcompleted)).toFixed(2)} */}
1348
+ {langdetect == 'en' ? '' : authdetailsContext?.currencyname_ar}
1349
+ </span>
1350
+ </p>
1351
+ <p
1352
+ className={'m-0 p-0 linethrough wordbreak'}
1353
+ style={{
1354
+ color: sectionproperties.prodsalePriceColor,
1355
+ fontSize: sectionproperties.prodsalepriceFontSize + 'px',
1356
+ fontWeight: sectionproperties.prodsalePriceFontWeight,
1357
+ }}
1358
+ >
1359
+ {fetchProductInfoQueryContext.data.data.productinfo.hassale == 1 &&
1360
+ variantindexcompleted != undefined &&
1361
+ variantindexcompleted.length == 0 && (
1362
+ <span
1363
+ className={
1364
+ langdetect == 'en'
1365
+ ? ' d-flex align-items-center justify-content-end wordbreak text-right wordbreak '
1366
+ : ' d-flex align-items-center justify-content-end wordbreak text-left wordbreak '
1367
+ }
1368
+ >
1369
+ <span className="ml-2 mr-2" style={{ textDecoration: 'none' }}>
1370
+ -
1371
+ </span>
1372
+ {langdetect == 'en' ? authdetailsContext?.currencyname_en : ''}{' '}
1373
+ {parseFloat(getprice_discountpriceprops('defaultprice', 1, variantindexcompleted))}{' '}
1374
+ {langdetect == 'en' ? '' : authdetailsContext?.currencyname_ar}
1375
+ </span>
1376
+ )}
1377
+ {variantindexcompleted != undefined &&
1378
+ variantindexcompleted.length != 0 &&
1379
+ fetchProductInfoQueryContext?.data?.data?.productinfo?.variants[variantindexcompleted]?.hassale == 1 && (
1380
+ <span
1381
+ className={
1382
+ langdetect == 'en'
1383
+ ? ' d-flex align-items-center justify-content-end wordbreak text-right wordbreak '
1384
+ : ' d-flex align-items-center justify-content-end wordbreak text-left wordbreak '
1385
+ }
1386
+ >
1387
+ <span className="ml-2 mr-2" style={{ textDecoration: 'none' }}>
1388
+ -
1389
+ </span>
1390
+ {langdetect == 'en' ? authdetailsContext?.currencyname_en : ''}{' '}
1391
+ {parseFloat(getprice_discountpriceprops('defaultprice', 1, variantindexcompleted))}{' '}
1392
+ {langdetect == 'en' ? '' : authdetailsContext?.currencyname_ar}
1393
+ </span>
1394
+ )}
1395
+ </p>
1396
+ </div>
1397
+ </div>
1398
+ </div>
1399
+ )}
1400
+ {sectionproperties.availabilitybtnposition == 'Bottom' &&
1401
+ sectionproperties.show_availability == 'Show' &&
1402
+ fetchProductInfoQueryContext?.data?.data?.productinfo?.isproducttobesold == 1 && (
1403
+ <div className="col-lg-12 p-0 mb-3 mt-2">
1404
+ <div
1405
+ style={{
1406
+ width: sectionproperties.availability_width + 'px',
1407
+ height: sectionproperties.availability_height + 'px',
1408
+ background:
1409
+ fetchProductInfoQueryContext.data.data.productinfo.quantavailtype == 'nolimit'
1410
+ ? sectionproperties.availability_availablebgcolor
1411
+ : sectionproperties.availability_limitedbgcolor,
1412
+ borderRadius: sectionproperties.availability_borderrradius + 'px',
1413
+ border:
1414
+ fetchProductInfoQueryContext.data.data.productinfo.quantavailtype == 'nolimit'
1415
+ ? sectionproperties.availability_borderwidtth + 'px solid ' + sectionproperties.availability_availabletextcolor
1416
+ : sectionproperties.availability_borderwidtth + 'px solid ' + sectionproperties.availability_limitedtextcolor,
1417
+ justifyContent: sectionproperties.availabilitytextalignment == 'Centered' ? 'center' : 'start',
1418
+ }}
1419
+ className="d-flex align-items-center pl-3 pr-3"
1420
+ >
1421
+ <p
1422
+ className="m-0 p-0 font-weight-500 wordbreak"
1423
+ style={{
1424
+ color:
1425
+ fetchProductInfoQueryContext.data.data.productinfo.quantavailtype == 'nolimit'
1426
+ ? sectionproperties.availability_availabletextcolor
1427
+ : sectionproperties.availability_limitedtextcolor,
1428
+ fontSize: sectionproperties.availability_fontsize + 'px',
1429
+ textAlign: sectionproperties.availabilitytextalignment == 'Centered' ? 'center' : langdetect == 'en' ? 'left' : 'right',
1430
+ }}
1431
+ >
1432
+ <span
1433
+ style={{
1434
+ color: sectionproperties.availability_textcolor,
1435
+ }}
1436
+ className="font-weight-600"
1437
+ >
1438
+ {lang.availability}:
1439
+ </span>
1440
+ <span className="ml-1 mr-1">
1441
+ {fetchProductInfoQueryContext.data.data.productinfo.quantavailtype == 'nolimit' ? lang.available : lang.limitedquantity}
1442
+ </span>
1443
+ </p>
1444
+ </div>
1445
+ </div>
1446
+ )}
1447
+ {sectionproperties.showShareButton == 'Show' && sectionproperties.sharebtnstyle == 'Style 1' && srcfromprops != 'templatedraftrouter' && (
1448
+ <div class="col-lg-12 p-0">
1449
+ <hr
1450
+ class="mb-3 mt-3"
1451
+ style={{
1452
+ borderColor: '#eee',
1453
+ }}
1454
+ />
1455
+ </div>
1456
+ )}
1457
+ {sectionproperties.showShareButton == 'Show' && sectionproperties.sharebtnstyle == 'Style 1' && (
1458
+ <div class="col-lg-12 mt-2 p-0">{ShareButtonsContainer()}</div>
1459
+ )}
1460
+
1461
+ {sectionproperties.storeinfoposition == 'Below Information' && (
1462
+ <div className={productinfo_cssstyles.storeinfocontainer + ' col-lg-12 p-0 '} style={{}}>
1463
+ <div
1464
+ class="row m-0 w-100"
1465
+ style={{
1466
+ paddingLeft: langdetect == 'en' ? '.5em' : 0,
1467
+ paddingRight: langdetect == 'ar' ? '.5rem' : 0,
1468
+ }}
1469
+ >
1470
+ {StoreInfoprops()}
1471
+
1472
+ {sectionproperties.showShareButton == 'Show' && sectionproperties.sharebtnstyle == 'Style 2' && (
1473
+ <div class="col-lg-12 p-0 allcentered mt-2">{ShareButtonsContainer()}</div>
1474
+ )}
1475
+ </div>
1476
+ </div>
1477
+ )}
1478
+ </div>
1479
+ </div>
1480
+ </div>
1481
+ </div>
1482
+ {sectionproperties.storeinfoposition == 'On The Right' && (
1483
+ <div
1484
+ className={langdetect == 'en' ? 'col-lg-3 pr-0 border-md-none p-md-0 pt-4 pl-md-0 pr-md-0' : 'col-lg-3 pl-0 border-md-none md-0 pt-4 pl-md-0 pr-md-0'}
1485
+ style={{
1486
+ borderLeft: langdetect == 'en' ? '1px solid #eee' : 0,
1487
+ borderRight: langdetect == 'ar' ? '1px solid #eee' : 0,
1488
+ display:
1489
+ sectionproperties.showfooterphonenumber == 'Hide' &&
1490
+ sectionproperties.showfooteremail == 'Hide' &&
1491
+ sectionproperties.showstoreinfo2 == 'Hide' &&
1492
+ sectionproperties.showstoreinfo1 == 'Hide'
1493
+ ? 'none'
1494
+ : 'block',
1495
+ }}
1496
+ >
1497
+ <div
1498
+ class="row m-0 w-100"
1499
+ style={{
1500
+ paddingLeft: langdetect == 'en' ? '.5em' : 0,
1501
+ paddingRight: langdetect == 'ar' ? '.5rem' : 0,
1502
+ }}
1503
+ >
1504
+ {StoreInfoprops()}
1505
+ {sectionproperties.showShareButton == 'Show' && sectionproperties.sharebtnstyle == 'Style 2' && (
1506
+ <div class="col-lg-12 p-0">
1507
+ <hr class="my-3" />
1508
+ </div>
1509
+ )}
1510
+ {sectionproperties.showShareButton == 'Show' && sectionproperties.sharebtnstyle == 'Style 2' && (
1511
+ <div class="col-lg-12 p-0 allcentered mt-2">{ShareButtonsContainer()}</div>
1512
+ )}
1513
+ </div>
1514
+ </div>
1515
+ )}
1516
+ </div>
1517
+ </div>
1518
+ </div>
1519
+ </div>
1520
+ {/* )} */}
1521
+
1522
+ {/* {srcfromprops == 'templatedraftrouter' && (
1523
+ <div class="row m-0 w-100">
1524
+ <div className="col-xl-6 col-lg-6 col-md-12 col-sm-12 mb-md-3 pb-md-4 pl-1 pr-1">{GalleryStyle1Section()}</div>
1525
+ <div class="col-lg-6">
1526
+ <div class="row m-0 w-100">
1527
+ <div class="col-lg-12 p-0 d-flex align-items-center justify-content-start">{ProductNameSection()}</div>
1528
+ <div class="col-lg-12 p-0 d-flex align-items-center justify-content-start my-2">{SKUSection()}</div>
1529
+ {fetchProductInfoQueryContext?.data?.data?.productinfo?.isproducttobesold == 1 && (
1530
+ <div class="col-lg-12 p-0 d-flex align-items-center justify-content-start mt-2">
1531
+ <ProductHeaderPricing actions={props.actions} />
1532
+ </div>
1533
+ )}
1534
+ <div class="col-lg-12 p-0 d-flex align-items-center justify-content-start my-2">
1535
+ <Variantoptions actions={props.actions} />
1536
+ </div>
1537
+ <div class="col-lg-12 p-0 d-flex align-items-center justify-content-start my-2">
1538
+ <div className="row m-0 w-100 d-flex align-items-center justify-content-start">
1539
+ {fetchProductInfoQueryContext?.data?.data?.productinfo?.isproducttobesold == 1 &&
1540
+ fetchProductInfoQueryContext?.data?.data?.productinfo?.isproducthasquantitychange == 1 && (
1541
+ <div className="col-lg-12 p-0 mb-2 d-flex justify-content-start">
1542
+ <p
1543
+ className="m-0 p-0"
1544
+ style={{
1545
+ color: sectionproperties.generaltext_fontColor,
1546
+ fontSize: sectionproperties.generaltext_fontSize + 'px',
1547
+ textTransform: sectionproperties.generaltext_textTransform,
1548
+ fontWeight: sectionproperties.generaltext_fontWeight,
1549
+ }}
1550
+ >
1551
+ {lang.quantity}:
1552
+ </p>
1553
+ </div>
1554
+ )}
1555
+ {Quantitybtn_Cartbtn_Favbottombtn()}
1556
+ </div>
1557
+ </div>
1558
+ </div>
1559
+ </div>
1560
+ </div>
1561
+ )} */}
1562
+ {/* <div class="col-lg-12 p-0">{relatedproducts()}</div> */}
1563
+ </div>
1564
+ );
1565
+ };
1566
+ export default Product_itemtype;