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,919 @@
1
+ import React, { useEffect, useState } from 'react';
2
+ import { css } from 'glamor';
3
+ import { AiOutlineClockCircle } from '@react-icons/all-files/ai/AiOutlineClockCircle';
4
+ import { AiOutlinePlus } from '@react-icons/all-files/ai/AiOutlinePlus';
5
+ import { AiOutlineCheck } from '@react-icons/all-files/ai/AiOutlineCheck';
6
+ import { CircularProgress, Messaging } from 'react-cssfx-loading';
7
+ import { CgShoppingBag } from '@react-icons/all-files/cg/CgShoppingBag';
8
+ import { FiShoppingBag } from '@react-icons/all-files/fi/FiShoppingBag';
9
+ import { FiShoppingCart } from '@react-icons/all-files/fi/FiShoppingCart';
10
+ import { MdAddShoppingCart } from '@react-icons/all-files/md/MdAddShoppingCart';
11
+ import { BsBag } from '@react-icons/all-files/bs/BsBag';
12
+ import { IoBagHandleOutline } from '@react-icons/all-files/io5/IoBagHandleOutline';
13
+ import { FaRegHeart } from '@react-icons/all-files/fa/FaRegHeart';
14
+ import { AiFillStar } from '@react-icons/all-files/ai/AiFillStar';
15
+ import { AiOutlineStar } from '@react-icons/all-files/ai/AiOutlineStar';
16
+ import { FaHeart } from '@react-icons/all-files/fa/FaHeart';
17
+ import ProductExtraFields from './ProductExtraFields.jsx';
18
+
19
+ const Serviceinfotabs = (props) => {
20
+ const langdetect = props.actions.langdetect;
21
+ const lang = props.actions.lang;
22
+ const sectionproperties = props.actions.sectionproperties;
23
+ const fetchProductInfoQueryContext = props.actions.fetchProductInfoQueryContext;
24
+ const productinfo_cssstyles = props.actions.productinfo_cssstyles;
25
+ const AddtoCartMutationContext = props.actions.AddtoCartMutationContext;
26
+ const GeneralAPIMutationContext = props.actions.GeneralAPIMutationContext;
27
+ const addtocardpayloadobj = props.actions.addtocardpayloadobj;
28
+ const setaddtocardpayloadobj = props.actions.setaddtocardpayloadobj;
29
+ const addtocartfunc = props.actions.addtocartfunc;
30
+ const getprice_discountpriceprops = props.actions.getprice_discountpriceprops;
31
+ const authdetailsContext = props.actions.authdetailsContext;
32
+ const NotificationManager = props.actions.NotificationManager;
33
+ const addtofavoritescontext = props.actions.addtofavoritescontext;
34
+ const routingcountext = props.actions.routingcountext;
35
+ const StaticPagesLinksContext = props.actions.StaticPagesLinksContext;
36
+ const ikimagecredcontext = props.actions.ikimagecredcontext;
37
+
38
+ const [tabsarray, settabsarray] = useState([
39
+ {
40
+ tabname: 'Description',
41
+ tabname_ar: 'التفاصيل',
42
+ ischecked: true,
43
+ },
44
+ {
45
+ tabname: 'Reservation',
46
+ tabname_ar: 'الحجز',
47
+ ischecked: false,
48
+ },
49
+ ]);
50
+ const [currentmutatestate, setcurrentmutatestate] = useState('');
51
+
52
+ const [slots, setslots] = useState([]);
53
+ useEffect(() => {
54
+ setaddtocardpayloadobj({ ...addtocardpayloadobj, item_type: 'service' });
55
+ }, [tabsarray]);
56
+ useEffect(() => {
57
+ const date1 = new Date(addtocardpayloadobj.from);
58
+ const date2 = new Date(addtocardpayloadobj.to);
59
+ const diffTime = Math.abs(date2 - date1);
60
+ const diffDays = Math.ceil(diffTime / (1000 * 60 * 60 * 24));
61
+
62
+ if (diffDays.toString() != 'NaN') {
63
+ if (date2 <= date1) {
64
+ NotificationManager.warning('', 'Please choose another date.');
65
+ setaddtocardpayloadobj({ ...addtocardpayloadobj, quantity: 0 });
66
+ } else {
67
+ if (fetchProductInfoQueryContext.data.data.productinfo.maximumproductquant >= diffDays && fetchProductInfoQueryContext.data.data.productinfo.minimumproductquant <= diffDays) {
68
+ setaddtocardpayloadobj({ ...addtocardpayloadobj, quantity: diffDays });
69
+ } else {
70
+ setaddtocardpayloadobj({ ...addtocardpayloadobj, quantity: 0 });
71
+ NotificationManager.warning(
72
+ '',
73
+ 'Max: ' + fetchProductInfoQueryContext.data.data.productinfo.maximumproductquant + ', Min: ' + fetchProductInfoQueryContext.data.data.productinfo.minimumproductquant,
74
+ );
75
+ }
76
+ }
77
+ }
78
+ }, [addtocardpayloadobj.from, addtocardpayloadobj.to]);
79
+ const TabsStyles = {
80
+ sidebar_item: css({
81
+ background: sectionproperties.tabcontainerbgcolor,
82
+ borderRadius: sectionproperties.tabcontainerborderradius + 'px',
83
+ fontSize: sectionproperties.tabtextfontsize + 'px',
84
+ fontWeight: sectionproperties.tabtextfontweight,
85
+ textTransform: sectionproperties.tabtexttexttransform,
86
+ color: sectionproperties.tabtextcolor,
87
+ ':hover': {
88
+ color: sectionproperties.tabtextactivecolor,
89
+ background: sectionproperties.activetabbgcolor,
90
+ },
91
+ }),
92
+ sidenav_active: css({
93
+ color: sectionproperties.tabtextactivecolor,
94
+ background: sectionproperties.activetabbgcolor,
95
+ }),
96
+ sidenavtext_active: css({
97
+ fontSize: sectionproperties.tabtextfontsize + 'px',
98
+ color: sectionproperties.tabtextactivecolor,
99
+ background: sectionproperties.activetabbgcolor,
100
+ }),
101
+ booknow_btn: css({
102
+ width: sectionproperties.generalbtn_width + 'px',
103
+ height: sectionproperties.generalbtn_height + 'px',
104
+ background: sectionproperties.generalbtn_bgColortransparent == 'Transparent' ? 'transparent' : sectionproperties.generalbtn_bgColor,
105
+ borderRadius: sectionproperties.generalbtn_borderbottomleftradius + 'px',
106
+ color: sectionproperties.generalbtn_textColor,
107
+ fontSize: sectionproperties.generalbtn_fontsize + 'px',
108
+ textTransform: sectionproperties.generalbtn_texttransform,
109
+ fontWeight: sectionproperties.generalbtn_fontweight,
110
+ textDecoration: sectionproperties.generalbtn_bgColortransparent == 'Transparent' ? 'underline' : '',
111
+ transition: '.3s',
112
+ ':hover': {
113
+ background: sectionproperties.generalbtn_bgColortransparentonhover == 'Transparent' ? 'transparent' : sectionproperties.generalbtn_bgColoronhover,
114
+ color: sectionproperties.generalbtn_textColoronhover,
115
+ },
116
+ }),
117
+ booknow_btn_resp: css({
118
+ width: '30px',
119
+ height: '30px',
120
+ background: sectionproperties.generalbtn_bgColortransparent == 'Transparent' ? 'transparent' : sectionproperties.generalbtn_bgColor,
121
+ borderRadius: sectionproperties.generalbtn_borderbottomleftradius + 'px',
122
+ color: sectionproperties.generalbtn_textColor,
123
+ fontSize: sectionproperties.generalbtn_fontsize + 'px',
124
+ textTransform: sectionproperties.generalbtn_texttransform,
125
+ fontWeight: sectionproperties.generalbtn_fontweight,
126
+ transition: '.3s',
127
+ ':hover': {
128
+ background: sectionproperties.generalbtn_bgColortransparentonhover == 'Transparent' ? 'transparent' : sectionproperties.generalbtn_bgColoronhover,
129
+ color: sectionproperties.generalbtn_textColoronhover,
130
+ },
131
+ }),
132
+ booknow_btn_disabled: css({
133
+ opacity: 0.3,
134
+ }),
135
+ inputfield_label: css({
136
+ color: sectionproperties.form_labelcolor,
137
+ fontWeight: sectionproperties.form_labelfontweight,
138
+ fontSize: sectionproperties.form_labelfontsize + 'px',
139
+ textTransform: sectionproperties.form_labeltexttransform,
140
+ }),
141
+ inputfield: css({
142
+ height: '40px',
143
+ borderRadius: sectionproperties.inputfieldborderradius + 'px',
144
+ fontSize: sectionproperties.inputfieldfontsize + 'px',
145
+ color: sectionproperties.inputfieldcolor,
146
+ backgroundColor: sectionproperties.input_bgcolor,
147
+ border: sectionproperties.inputfieldborderWidth + 'px solid ' + sectionproperties.inputfieldborderColor,
148
+ ':focus': {
149
+ borderColor: sectionproperties.inputfeildbordercoloronfocus,
150
+ },
151
+ }),
152
+ timeSlotContainer: css({
153
+ minWidth: '6vh',
154
+ height: '5vh',
155
+ borderRadius: sectionproperties.time_borderRadius + 'px',
156
+ backgroundColor: sectionproperties.time_bgcolor,
157
+ border: sectionproperties.time_borderwidth + 'px solid ' + sectionproperties.time_borderColor,
158
+ color: sectionproperties.time_timeColor,
159
+ fontWeight: sectionproperties.time_timeFontweight,
160
+ fontSize: sectionproperties.time_timeFontsize + 'px',
161
+ ':hover': {
162
+ transition: '.3s',
163
+ backgroundColor: sectionproperties.time_secondarybgcolor,
164
+ color: sectionproperties.time_secondarycolor,
165
+ borderColor: sectionproperties.time_secondarycolor,
166
+ },
167
+ }),
168
+ timeSlotContainer_active: css({
169
+ minWidth: '6vh',
170
+ height: '5vh',
171
+ borderRadius: sectionproperties.time_borderRadius + 'px',
172
+ backgroundColor: sectionproperties.time_activebgcolor,
173
+ border: sectionproperties.time_borderwidth + 'px solid ' + sectionproperties.time_timeactiveColor,
174
+ color: sectionproperties.time_timeactiveColor,
175
+ fontWeight: sectionproperties.time_timeFontweight,
176
+ fontSize: sectionproperties.time_timeFontsize + 'px',
177
+ ':hover': {
178
+ transition: '.3s',
179
+ backgroundColor: sectionproperties.time_secondarybgcolor,
180
+ color: sectionproperties.time_secondarycolor,
181
+ borderColor: sectionproperties.time_secondarycolor,
182
+ },
183
+ }),
184
+ };
185
+ function getLastChoosedSlotIndex(slots) {
186
+ let lastChoosedIndex = -1; // Initialize with -1 indicating no slot is choosed
187
+ for (let i = 0; i < slots.length; i++) {
188
+ if (slots[i].ischoosed) {
189
+ lastChoosedIndex = i;
190
+ }
191
+ }
192
+ return lastChoosedIndex;
193
+ }
194
+
195
+ const chooseitemslot = (slot, index) => {
196
+ var reservedslottobetaken = null;
197
+ var reservedslotArrtobetaken = [];
198
+ var slotschooosedcounter_tobe_usedonly_in_merge = 0;
199
+ var is_multi_slots = false;
200
+ var is_slots_must_be_adjacent = false;
201
+ if (
202
+ fetchProductInfoQueryContext?.data?.data?.productinfo?.serviceinfo?.is_slots_adjacent != undefined &&
203
+ fetchProductInfoQueryContext?.data?.data?.productinfo?.serviceinfo?.is_slots_adjacent == 1
204
+ ) {
205
+ is_slots_must_be_adjacent = true;
206
+ }
207
+ if (
208
+ fetchProductInfoQueryContext?.data?.data?.productinfo?.serviceinfo?.is_slots_multi != undefined &&
209
+ fetchProductInfoQueryContext?.data?.data?.productinfo?.serviceinfo?.is_slots_multi == 1
210
+ ) {
211
+ is_multi_slots = true;
212
+ }
213
+ var tempslots = [...slots];
214
+ if (is_multi_slots == false) {
215
+ tempslots?.forEach(function (item, index) {
216
+ item.ischoosed = false;
217
+ });
218
+ }
219
+ tempslots?.forEach(function (item, index) {
220
+ if (item.ischoosed == true) {
221
+ slotschooosedcounter_tobe_usedonly_in_merge = slotschooosedcounter_tobe_usedonly_in_merge + 1;
222
+ }
223
+ });
224
+
225
+ if (is_slots_must_be_adjacent == false) {
226
+ if (tempslots[index].ischoosed != undefined && tempslots[index].ischoosed != null) {
227
+ if (tempslots[index].ischoosed == true) {
228
+ tempslots[index].ischoosed = false;
229
+ } else {
230
+ tempslots[index].ischoosed = true;
231
+ }
232
+ } else {
233
+ tempslots[index].ischoosed = true;
234
+ }
235
+ } else if (is_slots_must_be_adjacent == true) {
236
+ // Check if the selected slot is beside the previously selected slots
237
+ if (slotschooosedcounter_tobe_usedonly_in_merge == 0) {
238
+ if (tempslots[index].ischoosed != undefined && tempslots[index].ischoosed != null) {
239
+ if (tempslots[index].ischoosed == true) {
240
+ tempslots[index].ischoosed = false;
241
+ } else {
242
+ tempslots[index].ischoosed = true;
243
+ }
244
+ } else {
245
+ tempslots[index].ischoosed = true;
246
+ }
247
+ } else if (slotschooosedcounter_tobe_usedonly_in_merge == 1 && tempslots[index]?.ischoosed == true) {
248
+ if (tempslots[index].ischoosed != undefined && tempslots[index].ischoosed != null) {
249
+ if (tempslots[index].ischoosed == true) {
250
+ tempslots[index].ischoosed = false;
251
+ }
252
+ }
253
+ } else if (index > 0 && tempslots[index - 1].ischoosed) {
254
+ // The selected slot is beside the previous slot, mark it as chosen
255
+ if (tempslots[index].ischoosed == true) {
256
+ var lastSelectedIndex = getLastChoosedSlotIndex(tempslots);
257
+ // if (lastSelectedIndex === index) {
258
+ tempslots[lastSelectedIndex].ischoosed = false;
259
+ // }
260
+ } else {
261
+ tempslots[index].ischoosed = true;
262
+ }
263
+ // tempslots[index].ischoosed = !tempslots[index].ischoosed;
264
+ } else if (index < tempslots.length - 1 && tempslots[index + 1].ischoosed) {
265
+ // The selected slot is beside the next slot, mark it as chosen
266
+ if (tempslots[index].ischoosed == true) {
267
+ var lastSelectedIndex = getLastChoosedSlotIndex(tempslots);
268
+ // if (lastSelectedIndex === index) {
269
+ tempslots[lastSelectedIndex].ischoosed = false;
270
+ // }
271
+ } else {
272
+ tempslots[index].ischoosed = true;
273
+ }
274
+ // tempslots[index].ischoosed = !tempslots[index].ischoosed;
275
+ } else {
276
+ // The selected slot is not beside the previously selected slots
277
+ // Handle this case according to your requirements (e.g., show an error message)
278
+ NotificationManager.warning('', 'You can only choose slots beside each other.');
279
+ }
280
+ }
281
+
282
+ setslots([...tempslots]);
283
+ tempslots?.forEach(function (item, index) {
284
+ if (item.ischoosed == true) {
285
+ reservedslotArrtobetaken.push({ slot: item.slot });
286
+ }
287
+ });
288
+
289
+ if (reservedslotArrtobetaken.length != 0) {
290
+ reservedslottobetaken = reservedslotArrtobetaken[0].slot;
291
+ setaddtocardpayloadobj({ ...addtocardpayloadobj, time: reservedslottobetaken, reserved_slots: reservedslotArrtobetaken, quantity: parseInt(reservedslotArrtobetaken.length) });
292
+ } else {
293
+ NotificationManager.warning('', 'No Slots Reserved');
294
+ }
295
+ };
296
+ // const chooseitemslot = (slot, index) => {
297
+ // var reservedslottobetaken = null;
298
+ // var reservedslotArrtobetaken = [];
299
+ // var tempslots = [...slots];
300
+ // if (tempslots[index].ischoosed != undefined && tempslots[index].ischoosed != null) {
301
+ // if (tempslots[index].ischoosed == true) {
302
+ // tempslots[index].ischoosed = false;
303
+ // } else {
304
+ // tempslots[index].ischoosed = true;
305
+ // }
306
+ // } else {
307
+ // tempslots[index].ischoosed = true;
308
+ // }
309
+
310
+ // setslots([...tempslots]);
311
+ // tempslots?.forEach(function (item, index) {
312
+ // if (item.ischoosed == true) {
313
+ // reservedslotArrtobetaken.push({ slot: item.slot });
314
+ // }
315
+ // });
316
+
317
+ // if (reservedslotArrtobetaken.length != 0) {
318
+ // reservedslottobetaken = reservedslotArrtobetaken[0].slot;
319
+ // setaddtocardpayloadobj({ ...addtocardpayloadobj, time: reservedslottobetaken, reserved_slots: reservedslotArrtobetaken, quantity: parseInt(reservedslotArrtobetaken.length) });
320
+ // } else {
321
+ // NotificationManager.warning('', 'No Slots Reserved');
322
+ // }
323
+ // };
324
+ return (
325
+ <div className={fetchProductInfoQueryContext?.data?.data?.productinfo?.serviceinfo?.scheduletype == 'minutes' ? 'col-lg-12 mt-3 p-0' : 'col-lg-10 mt-3 p-0'}>
326
+ <div class="row m-0 w-100">
327
+ {fetchProductInfoQueryContext?.data?.data?.productinfo?.serviceinfo?.scheduletype == 'days' && (
328
+ <div class="row m-0 w-100">
329
+ <div class="col-lg-6 col-md-12 col-sm-12 mb-2 pl-1 pr-1">
330
+ <div class="row m-0 w-100">
331
+ <div class="col-lg-12 d-flex justify-content-start p-0">
332
+ <p class={TabsStyles.inputfield_label + ' m-0 pb-2 '}>{langdetect == 'en' ? 'From' : 'من'}:</p>
333
+ </div>
334
+ <div class="col-lg-12 mb-3">
335
+ <input
336
+ type="date"
337
+ class={TabsStyles.inputfield + ' w-100 allcentered pl-1 pr-1 '}
338
+ min={fetchProductInfoQueryContext?.data?.data?.productinfo?.serviceinfo?.reservationstarts}
339
+ max={fetchProductInfoQueryContext?.data?.data?.productinfo?.serviceinfo?.reservationends}
340
+ onChange={(event) => {
341
+ setaddtocardpayloadobj({ ...addtocardpayloadobj, from: event.target.value });
342
+ }}
343
+ />
344
+ </div>
345
+ </div>
346
+ </div>
347
+ <div class="col-lg-6 col-md-12 col-sm-12 mb-2 pl-1 pr-1">
348
+ <div class="row m-0 w-100">
349
+ <div class="col-lg-12 d-flex justify-content-start p-0">
350
+ <p class={TabsStyles.inputfield_label + ' m-0 pb-2 '}>{langdetect == 'en' ? 'To' : 'إلى'}:</p>
351
+ </div>
352
+ <div class="col-lg-12 mb-3">
353
+ <input
354
+ type="date"
355
+ class={TabsStyles.inputfield + ' w-100 allcentered pl-1 pr-1 '}
356
+ min={fetchProductInfoQueryContext.data.data.productinfo.serviceinfo.reservationstarts}
357
+ max={fetchProductInfoQueryContext.data.data.productinfo.serviceinfo.reservationends}
358
+ onChange={(event) => {
359
+ setaddtocardpayloadobj({ ...addtocardpayloadobj, to: event.target.value });
360
+ }}
361
+ />
362
+ </div>
363
+ </div>
364
+ </div>
365
+ </div>
366
+ )}
367
+ {fetchProductInfoQueryContext?.data?.data?.productinfo?.serviceinfo?.scheduletype == 'minutes' && (
368
+ <>
369
+ <div class="col-lg-12 col-md-12 col-sm-12 mb-2">
370
+ <div class="row m-0 w-100">
371
+ <div class="col-lg-12 d-flex justify-content-start p-0">
372
+ <p class={TabsStyles.inputfield_label + ' m-0 pb-2 '}>{lang.reservationdate}:</p>
373
+ </div>
374
+ <div class="col-lg-12 mb-3">
375
+ <input
376
+ type="date"
377
+ class={TabsStyles.inputfield + ' w-100 allcentered pl-1 pr-1 '}
378
+ min={fetchProductInfoQueryContext.data.data.productinfo.serviceinfo.reservationstarts}
379
+ max={fetchProductInfoQueryContext.data.data.productinfo.serviceinfo.reservationends}
380
+ onChange={(event) => {
381
+ setaddtocardpayloadobj({ ...addtocardpayloadobj, date: event.target.value });
382
+ setcurrentmutatestate('/fetchserviceslots');
383
+ GeneralAPIMutationContext.mutate({
384
+ endpointurl: '/fetchserviceslots',
385
+ productid: fetchProductInfoQueryContext.data.data.productinfo.productid,
386
+ reqdate: event.target.value,
387
+ mutateSuccesscallback: (data, variables) => {
388
+ setslots(data.data.slots);
389
+ },
390
+ });
391
+ }}
392
+ />
393
+ </div>
394
+ </div>
395
+ </div>
396
+ {slots.length != 0 && (
397
+ <div class="col-lg-12 col-md-12 col-sm-12">
398
+ <p class={TabsStyles.inputfield_label + ' p-0 d-flex justify-content-start m-0 '}>
399
+ {langdetect == 'en' ? sectionproperties.reservationslot_titleen : sectionproperties.reservationslot_titlear}
400
+ </p>
401
+ {GeneralAPIMutationContext.isLoading && GeneralAPIMutationContext.variables.endpointurl == '/fetchserviceslots' && (
402
+ <div className={'row ml-0 mr-0 w-100 allcentered'} style={{ height: 200 }}>
403
+ <Messaging color="#ccc" width="10px" height="10px" duration="1s" />
404
+ </div>
405
+ )}
406
+ {sectionproperties.slots_style == 'Horizontal' && (
407
+ <div class="w-100">
408
+ {slots.map(function (item, index) {
409
+ var ischoosed = false;
410
+ if (item.ischoosed) {
411
+ ischoosed = true;
412
+ }
413
+ return (
414
+ <>
415
+ <div class="row m-0 mb-2 d-flex align-items-center w-100">
416
+ <div class={TabsStyles.time + ' col-lg-6 col-md-6 col-sm-9 p-0 d-flex justify-content-start align-items-center '}>
417
+ <AiOutlineClockCircle class="ml-1 mr-1" />
418
+ <p class="p-0 m-0">{item.slot}</p>
419
+ </div>
420
+ {item.available && (
421
+ <>
422
+ <div class="col-lg-6 col-md-6 col-sm-12 p-0 d-flex d-sm-none justify-content-end justify-content-sm-center align-items-center">
423
+ <button
424
+ class={TabsStyles.booknow_btn + ' allcentered mt-sm-3 '}
425
+ style={{
426
+ backgroundColor: ischoosed
427
+ ? sectionproperties.generalbtn_bgColortransparent == 'Transparent'
428
+ ? 'transparent'
429
+ : 'green'
430
+ : '',
431
+ color: ischoosed
432
+ ? sectionproperties.generalbtn_bgColortransparent == 'Transparent'
433
+ ? sectionproperties.generalbtn_textColoronhover
434
+ : sectionproperties.generalbtn_textColor
435
+ : '',
436
+ }}
437
+ onClick={() => {
438
+ chooseitemslot(item.slot, index);
439
+ // setaddtocardpayloadobj({ ...addtocardpayloadobj, time: item.slot });
440
+ }}
441
+ >
442
+ {ischoosed == false && (
443
+ <span>{langdetect == 'en' ? sectionproperties.generalbtn_content : sectionproperties.slideshow_btn_text_ar}</span>
444
+ )}
445
+ {ischoosed == true && (
446
+ <span>
447
+ {langdetect == 'en' ? sectionproperties.generalbtn_bookedcontent : sectionproperties.generalbtn_bookedcontent_ar}
448
+ </span>
449
+ )}
450
+ </button>
451
+ </div>
452
+
453
+ <div class="col-sm-3 p-0 d-none d-sm-flex justify-content-end justify-content-sm-center align-items-sm-center">
454
+ <button
455
+ class={TabsStyles.booknow_btn_resp + ' allcentered '}
456
+ onClick={() => {
457
+ setaddtocardpayloadobj({ ...addtocardpayloadobj, time: item.slot });
458
+ }}
459
+ >
460
+ <span className="allcentered">
461
+ <AiOutlinePlus />
462
+ </span>
463
+ </button>
464
+ </div>
465
+ </>
466
+ )}
467
+ {!item.available && (
468
+ <>
469
+ <div class="col-lg-6 col-md-6 col-sm-9 p-0 d-flex d-sm-none justify-content-end justify-content-sm-center align-items-center">
470
+ <button
471
+ class={TabsStyles.booknow_btn + ' allcentered mt-sm-3 '}
472
+ style={{
473
+ opacity: 0.5,
474
+ cursor: 'not-allowed',
475
+ }}
476
+ >
477
+ <span>{langdetect == 'en' ? sectionproperties.generalbtn_bookedcontent : sectionproperties.generalbtn_bookedcontent_ar}</span>
478
+ </button>
479
+ </div>
480
+ <div class="col-sm-3 p-0 d-none d-sm-flex justify-content-end justify-content-sm-center align-items-center">
481
+ <button
482
+ class={TabsStyles.booknow_btn_resp + ' allcentered '}
483
+ style={{
484
+ opacity: 0.5,
485
+ cursor: 'not-allowed',
486
+ }}
487
+ >
488
+ <span class="allcentered">
489
+ <AiOutlineCheck />
490
+ </span>
491
+ </button>
492
+ </div>
493
+ </>
494
+ )}
495
+ </div>
496
+ <div class="col-lg-12 p-0">
497
+ <hr class="m-0 mb-3 mt-3" />
498
+ </div>
499
+ </>
500
+ );
501
+ })}
502
+ </div>
503
+ )}
504
+ {sectionproperties.slots_style == 'Vertical' && (
505
+ <div class="row m-0 w-100 mb-4 mt-3">
506
+ {slots.map(function (item, index) {
507
+ var ischoosed = false;
508
+ if (item.ischoosed) {
509
+ ischoosed = true;
510
+ }
511
+ var slot = item.slot;
512
+ const slotsubstr = slot?.substring(0, 2);
513
+ const slotsubstr2 = slot?.substring(2, 5);
514
+ if (slotsubstr == '13') {
515
+ slot = '01' + slotsubstr2 + ' PM';
516
+ } else if (slotsubstr == '14') {
517
+ slot = '02' + slotsubstr2 + ' PM';
518
+ } else if (slotsubstr == '15') {
519
+ slot = '03' + slotsubstr2 + ' PM';
520
+ } else if (slotsubstr == '16') {
521
+ slot = '04' + slotsubstr2 + ' PM';
522
+ } else if (slotsubstr == '17') {
523
+ slot = '05' + slotsubstr2 + ' PM';
524
+ } else if (slotsubstr == '18') {
525
+ slot = '06' + slotsubstr2 + ' PM';
526
+ } else if (slotsubstr == '19') {
527
+ slot = '07' + slotsubstr2 + ' PM';
528
+ } else if (slotsubstr == '20') {
529
+ slot = '08' + slotsubstr2 + ' PM';
530
+ } else if (slotsubstr == '21') {
531
+ slot = '09' + slotsubstr2 + ' PM';
532
+ } else if (slotsubstr == '22') {
533
+ slot = '10' + slotsubstr2 + ' PM';
534
+ } else if (slotsubstr == '23') {
535
+ slot = '11' + slotsubstr2 + ' PM';
536
+ } else if (slotsubstr == '24') {
537
+ slot = '12' + slotsubstr2 + ' AM';
538
+ } else {
539
+ slot = slotsubstr + slotsubstr2 + ' AM';
540
+ }
541
+ if (item.available) {
542
+ return (
543
+ <div class="col-lg-2 col-md-2 col-sm-4 pl-1 pr-1 mb-2">
544
+ <div
545
+ class={
546
+ ischoosed == true
547
+ ? TabsStyles.timeSlotContainer_active + ' allcentered cursor-pointer px-1 '
548
+ : TabsStyles.timeSlotContainer + ' allcentered cursor-pointer px-1 '
549
+ }
550
+ style={{}}
551
+ onClick={() => {
552
+ chooseitemslot(item.slot, index);
553
+ }}
554
+ >
555
+ <p class={' p-0 m-0 '}>{sectionproperties.timeformat == '24 HOUR CLOCK' ? item.slot : slot}</p>
556
+ </div>
557
+ </div>
558
+ );
559
+ } else {
560
+ return (
561
+ <div class="col-lg-2 col-md-2 col-sm-4 pl-1 pr-1 mb-2">
562
+ <div
563
+ class={' allcentered px-1 showcrossicon '}
564
+ style={{
565
+ cursor: 'not-allowed',
566
+ minWidth: '6vh',
567
+ height: '5vh',
568
+ borderRadius: sectionproperties.time_borderRadius + 'px',
569
+ backgroundColor: sectionproperties.time_bgcolor,
570
+ border: sectionproperties.time_borderwidth + 'px solid ' + sectionproperties.time_borderColor,
571
+ color: sectionproperties.time_timeColor,
572
+ fontWeight: sectionproperties.time_timeFontweight,
573
+ fontSize: sectionproperties.time_timeFontsize + 'px',
574
+ }}
575
+ >
576
+ <p class={' p-0 m-0 '}>{sectionproperties.timeformat == '24 HOUR CLOCK' ? item.slot : slot}</p>
577
+ </div>
578
+ </div>
579
+ );
580
+ }
581
+ })}
582
+ </div>
583
+ )}
584
+ </div>
585
+ )}
586
+ </>
587
+ )}
588
+ <div className="col-lg-12 p-0 mb-3">
589
+ <div className="row m-0 w-100">
590
+ {fetchProductInfoQueryContext?.data?.data?.productinfo?.serviceinfo?.scheduletype == 'days' && (
591
+ <div className="col-lg-12 p-0">
592
+ <div className="row m-0 w-100">
593
+ <div className="col-lg-12 mb-2 d-flex justofy-content-start">
594
+ <p
595
+ className="m-0 p-0"
596
+ style={{
597
+ color: sectionproperties.quantitytitlecolor,
598
+ fontSize: sectionproperties.quantitytitlefontSize + 'px',
599
+ fontWeight: sectionproperties.quantitytitlefontweight,
600
+ }}
601
+ >
602
+ {langdetect == 'en' ? 'Number of days' : 'عدد الايام'}:{' '}
603
+ <span
604
+ style={{
605
+ color: sectionproperties.quantitybtn_textcolor,
606
+ fontSize: sectionproperties.quantitybtn_textfontsize + 'px',
607
+ fontWeight: sectionproperties.quantitybtn_textfontweight,
608
+ }}
609
+ >
610
+ {addtocardpayloadobj.quantity}
611
+ </span>
612
+ </p>
613
+ </div>
614
+ <div className="col-lg-12 mb-3">
615
+ <div className="row m-0 w-100 d-flex flex-row">
616
+ <p
617
+ className="m-0 p-0"
618
+ style={{
619
+ color: sectionproperties.total_color,
620
+ fontSize: sectionproperties.total_fontsize + 'px',
621
+ fontWeight: sectionproperties.total_fontweight,
622
+ textTransform: sectionproperties.total_texttransform,
623
+ }}
624
+ >
625
+ {lang.total}:
626
+ </p>
627
+ <div className="col-lg-9 col-md-9 col-sm-9 d-flex align-items-center pl-1 pr-1">
628
+ <p
629
+ className={'m-0 p-0 wordbreak d-flex align-items-center justify-content-end'}
630
+ style={{
631
+ fontSize: sectionproperties.prodpriceFontSize + 'px',
632
+ fontWeight: sectionproperties.prodPriceFontWeight,
633
+ color: sectionproperties.prodPriceColor,
634
+ }}
635
+ >
636
+ {fetchProductInfoQueryContext.data.data.productinfo.hassale == 0 && (
637
+ <span
638
+ className={
639
+ langdetect == 'en'
640
+ ? ' d-flex align-items-center justify-content-end wordbreak text-right wordbreak '
641
+ : ' d-flex align-items-center justify-content-end wordbreak text-left wordbreak '
642
+ }
643
+ >
644
+ {langdetect == 'en' ? authdetailsContext?.currencyname_en : ''} {parseFloat(getprice_discountpriceprops('defaultprice', 1)).toFixed(2)}{' '}
645
+ {langdetect == 'en' ? '' : authdetailsContext?.currencyname_ar}
646
+ </span>
647
+ )}
648
+ {fetchProductInfoQueryContext.data.data.productinfo.hassale == 1 && (
649
+ <span
650
+ className={
651
+ langdetect == 'en'
652
+ ? ' d-flex align-items-center justify-content-end wordbreak text-right wordbreak '
653
+ : ' d-flex align-items-center justify-content-end wordbreak text-left wordbreak '
654
+ }
655
+ >
656
+ {langdetect == 'en' ? authdetailsContext?.currencyname_en : ''}
657
+ {parseFloat(getprice_discountpriceprops('defaultsaleprice', 1)).toFixed(2)}
658
+ {langdetect == 'en' ? '' : authdetailsContext?.currencyname_ar}
659
+ </span>
660
+ )}
661
+ </p>
662
+ <p
663
+ className={'m-0 p-0 linethrough wordbreak'}
664
+ style={{
665
+ color: sectionproperties.prodsalePriceColor,
666
+ fontSize: sectionproperties.prodsalepriceFontSize + 'px',
667
+ fontWeight: sectionproperties.prodsalePriceFontWeight,
668
+ }}
669
+ >
670
+ {fetchProductInfoQueryContext.data.data.productinfo.hassale == 1 && (
671
+ <span
672
+ className={
673
+ langdetect == 'en'
674
+ ? ' d-flex align-items-center justify-content-end wordbreak text-right wordbreak '
675
+ : ' d-flex align-items-center justify-content-end wordbreak text-left wordbreak '
676
+ }
677
+ >
678
+ <span className="ml-2 mr-2">-</span> {langdetect == 'en' ? authdetailsContext?.currencyname_en : ''}{' '}
679
+ {parseFloat(getprice_discountpriceprops('defaultprice', 1)).toFixed(2)}
680
+ {langdetect == 'en' ? '' : authdetailsContext?.currencyname_ar}
681
+ </span>
682
+ )}
683
+ </p>
684
+ </div>
685
+ </div>
686
+ </div>
687
+ </div>
688
+ </div>
689
+ )}
690
+ <div class="col-lg-12 d-flex align-items-center justify-content-center">
691
+ <ProductExtraFields actions={props.actions} />
692
+ </div>
693
+ <div class="col-lg-12 d-flex d-md-none align-items-center justify-content-center">
694
+ <button
695
+ className={`${productinfo_cssstyles.cart_btn} ` + ' d-flex align-items-center justify-content-center ml-sm-auto mr-sm-auto mb-sm-2 '}
696
+ onClick={() => {
697
+ var showbutton = false;
698
+ if (fetchProductInfoQueryContext?.data?.data?.productinfo?.serviceinfo?.scheduletype == 'days') {
699
+ if (addtocardpayloadobj.from.length != 0 && addtocardpayloadobj.to.length != 0 && addtocardpayloadobj.quantity != 0) {
700
+ addtocartfunc();
701
+ // if (sectionproperties.cartbtntype == 'Goes to checkout') {
702
+ // routingcountext(StaticPagesLinksContext.Checkout);
703
+ // }
704
+ }
705
+ } else if (fetchProductInfoQueryContext?.data?.data?.productinfo?.serviceinfo?.scheduletype == 'minutes') {
706
+ if (addtocardpayloadobj.date.length != 0 && addtocardpayloadobj.time.length != 0) {
707
+ addtocartfunc();
708
+ // if (sectionproperties.cartbtntype == 'Goes to checkout') {
709
+ // routingcountext(StaticPagesLinksContext.Checkout);
710
+ // }
711
+ }
712
+ } else {
713
+ NotificationManager.warning(lang.completerequiredfields);
714
+ }
715
+ }}
716
+ disabled={AddtoCartMutationContext.isLoading == true ? true : false}
717
+ >
718
+ {!AddtoCartMutationContext.isLoading && (
719
+ <span className={' d-flex align-items-center justify-content-center '}>
720
+ {sectionproperties.cartBtn_iconFontSize != 0 && (
721
+ <i
722
+ className={
723
+ 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'
724
+ }
725
+ >
726
+ {sectionproperties.carticonstyle == 'Shopping bag 1' && <FiShoppingBag className="" size={sectionproperties.cartBtn_iconFontSize} />}
727
+ {sectionproperties.carticonstyle == 'Shopping bag 2' && <CgShoppingBag className="" size={sectionproperties.cartBtn_iconFontSize} />}
728
+ {sectionproperties.carticonstyle == 'Shopping bag 3' && <BsBag className="" size={sectionproperties.cartBtn_iconFontSize} />}
729
+ {sectionproperties.carticonstyle == 'Shopping bag 4' && <IoBagHandleOutline className="" size={sectionproperties.cartBtn_iconFontSize} />}
730
+ {sectionproperties.carticonstyle == 'Shopping cart 1' && <FiShoppingCart className="" size={sectionproperties.cartBtn_iconFontSize} />}
731
+ {sectionproperties.carticonstyle == 'Shopping cart 2' && <MdAddShoppingCart size={sectionproperties.cartBtn_iconFontSize} />}
732
+ </i>
733
+ )}
734
+ {langdetect == 'en'
735
+ ? fetchProductInfoQueryContext?.data?.data?.productinfo?.productactionbuttontext_en
736
+ : fetchProductInfoQueryContext?.data?.data?.productinfo?.productactionbuttontext_ar}
737
+ </span>
738
+ )}
739
+ {AddtoCartMutationContext.isLoading && (
740
+ <div className={' d-flex align-items-center justify-content-center '}>
741
+ <CircularProgress color="white" width="20px" height="20px" duration="1s" />
742
+ </div>
743
+ )}
744
+ </button>
745
+ {sectionproperties.btnposition == 'Bottom' && sectionproperties.favBtnShow == 'Show' && (
746
+ <div
747
+ className={productinfo_cssstyles.wishlist_btn + ' d-flex justify-content-center align-items-center ml-2 mr-2 '}
748
+ onClick={() => {
749
+ addtofavoritescontext(fetchProductInfoQueryContext.data.data.productinfo.productid);
750
+ }}
751
+ style={{
752
+ background: fetchProductInfoQueryContext.data.data.productinfo.IsFavExists == true ? sectionproperties.activebgcolor : '',
753
+ }}
754
+ >
755
+ <i className="h-100 d-flex align-items-center justify-content-center">
756
+ {fetchProductInfoQueryContext.data.data.productinfo.IsFavExists && (
757
+ <i className="h-100 d-flex align-items-center justify-content-center">
758
+ {sectionproperties.faviconshape == 'Star Shape' && (
759
+ <AiFillStar
760
+ size={sectionproperties.favBtnIconfontsize}
761
+ style={{
762
+ color: sectionproperties.activefaviconcolor,
763
+ }}
764
+ />
765
+ )}
766
+ {sectionproperties.faviconshape == 'Heart Shape' && (
767
+ <FaHeart
768
+ size={sectionproperties.favBtnIconfontsize}
769
+ style={{
770
+ color: sectionproperties.activefaviconcolor,
771
+ }}
772
+ />
773
+ )}
774
+ </i>
775
+ )}
776
+ {!fetchProductInfoQueryContext.data.data.productinfo.IsFavExists && (
777
+ <i className="h-100 d-flex align-items-center justify-content-center">
778
+ {sectionproperties.faviconshape == 'Star Shape' && <AiOutlineStar size={sectionproperties.favBtnIconfontsize} />}
779
+ {sectionproperties.faviconshape == 'Heart Shape' && <FaRegHeart size={sectionproperties.favBtnIconfontsize} />}
780
+ </i>
781
+ )}
782
+ </i>
783
+ </div>
784
+ )}
785
+ </div>
786
+ <div class="col-lg-12 d-none d-md-flex align-items-center justify-content-center">
787
+ <div class="col-md-9 col-sm-10 d-flex justify-content-center align-items-center ">
788
+ <button
789
+ className={`${productinfo_cssstyles.cart_btn}` + ' w-100 d-flex align-items-center justify-content-center '}
790
+ onClick={() => {
791
+ var showbutton = false;
792
+ if (fetchProductInfoQueryContext?.data?.data?.productinfo?.serviceinfo?.scheduletype == 'days') {
793
+ if (addtocardpayloadobj.from.length != 0 && addtocardpayloadobj.to.length != 0 && addtocardpayloadobj.quantity != 0) {
794
+ addtocartfunc();
795
+ if (sectionproperties.cartbtntype == 'Goes to checkout') {
796
+ routingcountext(StaticPagesLinksContext.Checkout);
797
+ }
798
+ }
799
+ } else if (fetchProductInfoQueryContext?.data?.data?.productinfo?.serviceinfo?.scheduletype == 'minutes') {
800
+ if (addtocardpayloadobj.date.length != 0 && addtocardpayloadobj.time.length != 0) {
801
+ addtocartfunc();
802
+ if (sectionproperties.cartbtntype == 'Goes to checkout') {
803
+ routingcountext(StaticPagesLinksContext.Checkout);
804
+ }
805
+ }
806
+ } else {
807
+ NotificationManager.warning(lang.completerequiredfields, data.data.reason);
808
+ }
809
+ }}
810
+ disabled={AddtoCartMutationContext.isLoading == true ? true : false}
811
+ >
812
+ {!AddtoCartMutationContext.isLoading && (
813
+ <span className={' d-flex align-items-center justify-content-center '}>
814
+ {sectionproperties.cartBtn_iconFontSize != 0 && (
815
+ <i
816
+ className={
817
+ langdetect == 'en'
818
+ ? 'h-100 d-flex align-items-center justify-content-center mr-2'
819
+ : 'h-100 d-flex align-items-center justify-content-center ml-2'
820
+ }
821
+ >
822
+ {sectionproperties.carticonstyle == 'Shopping bag 1' && <FiShoppingBag className="" size={sectionproperties.cartBtn_iconFontSize} />}
823
+ {sectionproperties.carticonstyle == 'Shopping bag 2' && <CgShoppingBag className="" size={sectionproperties.cartBtn_iconFontSize} />}
824
+ {sectionproperties.carticonstyle == 'Shopping bag 3' && <BsBag className="" size={sectionproperties.cartBtn_iconFontSize} />}
825
+ {sectionproperties.carticonstyle == 'Shopping bag 4' && <IoBagHandleOutline className="" size={sectionproperties.cartBtn_iconFontSize} />}
826
+ {sectionproperties.carticonstyle == 'Shopping cart 1' && <FiShoppingCart className="" size={sectionproperties.cartBtn_iconFontSize} />}
827
+ {sectionproperties.carticonstyle == 'Shopping cart 2' && <MdAddShoppingCart size={sectionproperties.cartBtn_iconFontSize} />}
828
+ </i>
829
+ )}
830
+ {langdetect == 'en'
831
+ ? fetchProductInfoQueryContext?.data?.data?.productinfo?.productactionbuttontext_en
832
+ : fetchProductInfoQueryContext?.data?.data?.productinfo?.productactionbuttontext_ar}
833
+ {/* {langdetect == 'en' ? sectionproperties.cartBtnContentenglish : sectionproperties.cartBtnContentarabic} */}
834
+ </span>
835
+ )}
836
+ {AddtoCartMutationContext.isLoading && (
837
+ <div className={' d-flex align-items-center justify-content-center '}>
838
+ <CircularProgress color="white" width="20px" height="20px" duration="1s" />
839
+ </div>
840
+ )}
841
+ </button>
842
+ </div>
843
+ {sectionproperties.favBtnShow == 'Show' && (
844
+ <div class="col-md-3 col-sm-2">
845
+ <div
846
+ className={productinfo_cssstyles.wishlist_btn + ' d-flex justify-content-center align-items-center '}
847
+ style={{
848
+ width: sectionproperties.cartBtnHeight + 'px',
849
+ height: sectionproperties.cartBtnHeight + 'px',
850
+ background: fetchProductInfoQueryContext.data.data.productinfo.IsFavExists == true ? sectionproperties.activebgcolor : '',
851
+ }}
852
+ onClick={() => {
853
+ addtofavoritescontext(fetchProductInfoQueryContext.data.data.productinfo.productid);
854
+ }}
855
+ >
856
+ <i className="h-100 d-flex align-items-center justify-content-center">
857
+ {fetchProductInfoQueryContext.data.data.productinfo.IsFavExists && (
858
+ <i className="h-100 d-flex align-items-center justify-content-center">
859
+ {sectionproperties.faviconshape == 'Star Shape' && (
860
+ <AiFillStar
861
+ size={sectionproperties.favBtnIconfontsize}
862
+ style={{
863
+ color: sectionproperties.activefaviconcolor,
864
+ }}
865
+ />
866
+ )}
867
+ {sectionproperties.faviconshape == 'Heart Shape' && (
868
+ <FaHeart
869
+ size={sectionproperties.favBtnIconfontsize}
870
+ style={{
871
+ color: sectionproperties.activefaviconcolor,
872
+ }}
873
+ />
874
+ )}
875
+ </i>
876
+ )}
877
+ {!fetchProductInfoQueryContext.data.data.productinfo.IsFavExists && (
878
+ <i className="h-100 d-flex align-items-center justify-content-center">
879
+ {sectionproperties.faviconshape == 'Star Shape' && <AiOutlineStar size={sectionproperties.favBtnIconfontsize} />}
880
+ {sectionproperties.faviconshape == 'Heart Shape' && <FaRegHeart size={sectionproperties.favBtnIconfontsize} />}
881
+ </i>
882
+ )}
883
+ </i>
884
+ </div>
885
+ </div>
886
+ )}
887
+ </div>
888
+ {sectionproperties.showcheckoutbtn == 'Show' && (
889
+ <div class="col-lg-12 allcentered mt-3">
890
+ <button
891
+ className={`${productinfo_cssstyles.checkoutbtn} ` + ' d-flex align-items-center justify-content-center ml-sm-auto mr-sm-auto mb-sm-2 '}
892
+ onClick={() => {
893
+ if (fetchProductInfoQueryContext?.data?.data?.productinfo?.serviceinfo?.scheduletype == 'days') {
894
+ if (addtocardpayloadobj.from.length != 0 && addtocardpayloadobj.to.length != 0 && addtocardpayloadobj.quantity != 0) {
895
+ addtocartfunc();
896
+ routingcountext(StaticPagesLinksContext.Checkout);
897
+ }
898
+ } else if (fetchProductInfoQueryContext?.data?.data?.productinfo?.serviceinfo?.scheduletype == 'minutes') {
899
+ if (addtocardpayloadobj.date.length != 0 && addtocardpayloadobj.time.length != 0) {
900
+ addtocartfunc();
901
+ routingcountext(StaticPagesLinksContext.Checkout);
902
+ }
903
+ } else {
904
+ NotificationManager.warning(lang.completerequiredfields, data.data.reason);
905
+ }
906
+ }}
907
+ disabled={AddtoCartMutationContext.isLoading == true ? true : false}
908
+ >
909
+ {langdetect == 'en' ? sectionproperties.checkoutButtonContenten : sectionproperties.checkoutButtonContentar}
910
+ </button>
911
+ </div>
912
+ )}
913
+ </div>
914
+ </div>
915
+ </div>
916
+ </div>
917
+ );
918
+ };
919
+ export default Serviceinfotabs;