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