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