tabexseriescomponents 0.0.73 → 0.0.74

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 (211) hide show
  1. package/dist/index.cjs.js +337 -225
  2. package/dist/index.esm.js +343 -231
  3. package/dist/index.umd.js +340 -229
  4. package/package.json +1 -1
  5. package/src-aya/Contexts/LanguageContext.jsx +0 -369
  6. package/src-aya/Contexts/ProductsCardsSectionContext.jsx +0 -28
  7. package/src-aya/StylesJS/Customstyles.js +0 -235
  8. package/src-aya/TabexComponents/Cards/Card20/Card20.jsx +0 -288
  9. package/src-aya/TabexComponents/Cards/Card21/Card21.jsx +0 -386
  10. package/src-aya/TabexComponents/Cards/Card22/Card22.jsx +0 -289
  11. package/src-aya/TabexComponents/Cards/Card23/Card23.jsx +0 -355
  12. package/src-aya/TabexComponents/Cards/CardBadgeSlideFromTop/CardBadgeSlideFromTop.jsx +0 -393
  13. package/src-aya/TabexComponents/Cards/CategoryCardwithhoveraction/CategoryCardwithhoveraction.jsx +0 -168
  14. package/src-aya/TabexComponents/Cards/Categorycard_fullimage/Categorycard_fullimage.jsx +0 -243
  15. package/src-aya/TabexComponents/Cards/Categorycard_slidebgscaled/Categorycard_slidebgscaled.jsx +0 -202
  16. package/src-aya/TabexComponents/Cards/Categorycard_with_trianglebg/Categorycard_with_trianglebg.jsx +0 -174
  17. package/src-aya/TabexComponents/Cards/Categorycard_with_twolinestransition/Categorycard_with_twolinestransition.jsx +0 -182
  18. package/src-aya/TabexComponents/Cards/Categorycard_withshapes/Categorycard_withshapes.jsx +0 -158
  19. package/src-aya/TabexComponents/Cards/Categorycard_withtext/Categorycard_withtext.jsx +0 -189
  20. package/src-aya/TabexComponents/Cards/Classiccategorycard/Classiccategorycard.jsx +0 -150
  21. package/src-aya/TabexComponents/Cards/Horizontalcard/Horizontalcard.jsx +0 -271
  22. package/src-aya/TabexComponents/Cards/MenuCard/MenuCard.jsx +0 -538
  23. package/src-aya/TabexComponents/Cards/ModernCardWithQuantityButton/ModernCardWithQuantityButton.jsx +0 -491
  24. package/src-aya/TabexComponents/Cards/ModernProductCard/ModernProductCard.jsx +0 -469
  25. package/src-aya/TabexComponents/Cards/Productcard6/Productcard6.jsx +0 -257
  26. package/src-aya/TabexComponents/Cards/Productcard7/Productcard7.jsx +0 -272
  27. package/src-aya/TabexComponents/Cards/Productcard_animatedbuttons/Productcard_animatedbuttons.jsx +0 -295
  28. package/src-aya/TabexComponents/Cards/Productcard_with_circularbg/Productcard_with_circularbg.jsx +0 -289
  29. package/src-aya/TabexComponents/Cards/Productcard_with_circularhover/Productcard_with_circularhover.jsx +0 -315
  30. package/src-aya/TabexComponents/Cards/Productcard_with_slideanimation/Productcard_with_slideanimation.jsx +0 -288
  31. package/src-aya/TabexComponents/Cards/Productcard_with_variants/Productcard_with_variants.jsx +0 -328
  32. package/src-aya/TabexComponents/Cards/Productcard_with_zoominonhover/Productcard_with_zoominonhover.jsx +0 -509
  33. package/src-aya/TabexComponents/Cards/Productcarddefault/Productcarddefault.jsx +0 -272
  34. package/src-aya/TabexComponents/Cards/Productccard_with_imageontopleft/Productccard_with_imageontopleft.jsx +0 -286
  35. package/src-aya/TabexComponents/Cards/Prouductcard_with_zoomhover/Prouductcard_with_zoomhover.jsx +0 -133
  36. package/src-aya/TabexComponents/Cards/Simplecategorycardwithtextbelow/Simplecategorycardwithtextbelow.jsx +0 -125
  37. package/src-aya/TabexComponents/Cards/Simpleproductcard/Simpleproductcard.jsx +0 -292
  38. package/src-aya/TabexComponents/Cards/StylishProductCard/StylishProductCard.jsx +0 -336
  39. package/src-aya/TabexComponents/Footer/Allinonefooter/Allinonefooter.jsx +0 -429
  40. package/src-aya/TabexComponents/Footer/Footer1/Footer1.jsx +0 -416
  41. package/src-aya/TabexComponents/Footer/Footer2/Footer2.jsx +0 -381
  42. package/src-aya/TabexComponents/Footer/Footer3/Footer3.jsx +0 -302
  43. package/src-aya/TabexComponents/Footer/Footer4/Footer4.jsx +0 -437
  44. package/src-aya/TabexComponents/Footer/Footer5/Footer5.jsx +0 -488
  45. package/src-aya/TabexComponents/Footer/Footer6/Footer6.jsx +0 -286
  46. package/src-aya/TabexComponents/Footer/Footer7/Footer7.jsx +0 -370
  47. package/src-aya/TabexComponents/Footer/Simplefooter/Simplefooter.jsx +0 -231
  48. package/src-aya/TabexComponents/Generalfiles/images/egyptflag.png +0 -0
  49. package/src-aya/TabexComponents/Generalfiles/images/noimage.png +0 -0
  50. package/src-aya/TabexComponents/Generalfiles/images/payment/cod.png +0 -0
  51. package/src-aya/TabexComponents/Generalfiles/images/payment/fawry.png +0 -0
  52. package/src-aya/TabexComponents/Generalfiles/images/payment/payment.png +0 -0
  53. package/src-aya/TabexComponents/Generalfiles/images/payment/paymob.png +0 -0
  54. package/src-aya/TabexComponents/Generalfiles/images/payment/paypal.png +0 -0
  55. package/src-aya/TabexComponents/Generalfiles/images/payment/visa.png +0 -0
  56. package/src-aya/TabexComponents/Generalfiles/images/shoppingcart.png +0 -0
  57. package/src-aya/TabexComponents/Generalfiles/images/tabexlogo.png +0 -0
  58. package/src-aya/TabexComponents/Generalfiles/images/unknownmaleuser.png +0 -0
  59. package/src-aya/TabexComponents/Generalfiles/images/usflag.png +0 -0
  60. package/src-aya/TabexComponents/Generalfiles/images/whatsapp.png +0 -0
  61. package/src-aya/TabexComponents/Headers/CTAHeader/CTAHeader.jsx +0 -822
  62. package/src-aya/TabexComponents/Headers/CategoryFeaturingHeader/CategoryFeaturingHeader.jsx +0 -841
  63. package/src-aya/TabexComponents/Headers/ClassicHeader/ClassicHeader.jsx +0 -677
  64. package/src-aya/TabexComponents/Headers/Gotoheader/Gotoheader.jsx +0 -707
  65. package/src-aya/TabexComponents/Headers/Header4/Header4.jsx +0 -614
  66. package/src-aya/TabexComponents/Headers/Header6/Header6.jsx +0 -631
  67. package/src-aya/TabexComponents/Headers/Header8/Header8.jsx +0 -815
  68. package/src-aya/TabexComponents/Headers/HeaderRestaurant/HeaderRestaurant.jsx +0 -709
  69. package/src-aya/TabexComponents/Headers/Header_threesectionslogocentered/Header_threesectionslogocentered.jsx +0 -770
  70. package/src-aya/TabexComponents/Headers/Headerresponsive/Headerresponsive.jsx +0 -669
  71. package/src-aya/TabexComponents/Headers/HeaderwithContactinfo/HeaderwithContactinfo.jsx +0 -919
  72. package/src-aya/TabexComponents/Headers/Modernheader/Modernheader.jsx +0 -687
  73. package/src-aya/TabexComponents/Headers/StylishHeader/StylishHeader.jsx +0 -813
  74. package/src-aya/TabexComponents/Headers/Subheader/Subheader.jsx +0 -248
  75. package/src-aya/TabexComponents/Headers/ThreeTieredHeader/ThreeTieredHeader.jsx +0 -926
  76. package/src-aya/TabexComponents/Sections/BackgroundImages/BacgroundThreeImageWithCategories/BacgroundThreeImageWithCategories.jsx +0 -168
  77. package/src-aya/TabexComponents/Sections/BackgroundImages/BackgroundFiveImageStructure/BackgroundFiveImageStructure.jsx +0 -346
  78. package/src-aya/TabexComponents/Sections/BackgroundImages/BackgroundImageWithTopContent/BackgroundImageWithTopContent.jsx +0 -304
  79. package/src-aya/TabexComponents/Sections/BackgroundImages/Backgroundimage1/Backgroundimage1.jsx +0 -312
  80. package/src-aya/TabexComponents/Sections/BackgroundImages/Backgroundimage_with_toppill/Backgroundimage_with_toppill.jsx +0 -271
  81. package/src-aya/TabexComponents/Sections/BackgroundImages/BackgroundimageandTextsection/BackgroundimageandTextsection.jsx +0 -130
  82. package/src-aya/TabexComponents/Sections/BackgroundImages/Bgimagewithsearchbar/Bgimagewithsearchbar.jsx +0 -200
  83. package/src-aya/TabexComponents/Sections/BackgroundImages/Section_with_rightbgcont/Section_with_rightbgcont.jsx +0 -153
  84. package/src-aya/TabexComponents/Sections/BackgroundImages/Threebgimages/Threebgimages.jsx +0 -295
  85. package/src-aya/TabexComponents/Sections/BackgroundImages/Twobgimages/Twobgimages.jsx +0 -409
  86. package/src-aya/TabexComponents/Sections/Cards/CardsSection/CardsSection.jsx +0 -768
  87. package/src-aya/TabexComponents/Sections/Cards/CardsSection2/CardsSection2.jsx +0 -483
  88. package/src-aya/TabexComponents/Sections/Cards/CardsSection7/CardsSection7.jsx +0 -663
  89. package/src-aya/TabexComponents/Sections/Cards/CardsSection8/CardsSection8.js +0 -419
  90. package/src-aya/TabexComponents/Sections/Cards/Cardsection10/Arrows.js +0 -94
  91. package/src-aya/TabexComponents/Sections/Cards/Cardsection10/Cardsection10.js +0 -741
  92. package/src-aya/TabexComponents/Sections/Cards/Cardsection100/Cardsection10.js +0 -430
  93. package/src-aya/TabexComponents/Sections/Cards/Cardsection100/burger.jpg +0 -0
  94. package/src-aya/TabexComponents/Sections/Cards/ElegantCategoriesCardSection/ElegantCategoriesCardSection.jsx +0 -473
  95. package/src-aya/TabexComponents/Sections/Cards/ModernCardsSection/ModernCardsSection.jsx +0 -523
  96. package/src-aya/TabexComponents/Sections/Cards/Sixverticalcardssection/Sixverticalcardssection.jsx +0 -502
  97. package/src-aya/TabexComponents/Sections/Slideshow/AboutSection/AboutSection.jsx +0 -276
  98. package/src-aya/TabexComponents/Sections/Slideshow/Backgroundimage_with_topcircle/Backgroundimage_with_topcircle.jsx +0 -160
  99. package/src-aya/TabexComponents/Sections/Slideshow/Freetextsection/Freetextsection.jsx +0 -176
  100. package/src-aya/TabexComponents/Sections/Slideshow/Image_with_leftwords/Image_with_leftwords.jsx +0 -139
  101. package/src-aya/TabexComponents/Sections/Slideshow/Image_with_rightwords/Image_with_rightwords.jsx +0 -140
  102. package/src-aya/TabexComponents/Sections/Slideshow/Servicesection/Servicesection.jsx +0 -201
  103. package/src-aya/TabexComponents/Sections/Slideshow/ServicesectionCenteredcards/ServicesectionCenteredcards.jsx +0 -125
  104. package/src-aya/TabexComponents/Sections/Slideshow/Slideshow_with_rotatedsquare/Slideshow_with_rotatedsquare.jsx +0 -226
  105. package/src-aya/TabexComponents/Sections/Slideshow/Slideshow_with_squarebg/Slideshow_with_squarebg.jsx +0 -149
  106. package/src-aya/TabexComponents/Sections/Slideshow/Slideshowdifferentanimations/Slideshowdifferentanimations.jsx +0 -139
  107. package/src-aya/TabexComponents/Sections/Slideshow/Slideshowfade/Slideshowfade.jsx +0 -215
  108. package/src-aya/TabexComponents/Sections/Slideshow/Slideshowslide/Slideshowslide.jsx +0 -202
  109. package/src-aya/TabexComponents/Sections/Slideshow/Slideshowzoom/Arrow.js +0 -91
  110. package/src-aya/TabexComponents/Sections/Slideshow/Slideshowzoom/Slideshowzoom.jsx +0 -277
  111. package/src-aya/TabexComponents/StaticPages/AccountInformation/AccountInformation.jsx +0 -260
  112. package/src-aya/TabexComponents/StaticPages/CartSlider/CartSlider.jsx +0 -458
  113. package/src-aya/TabexComponents/StaticPages/Categoriesdropdown/Categoriesdropdown.jsx +0 -216
  114. package/src-aya/TabexComponents/StaticPages/Checkout/Checkout.jsx +0 -1220
  115. package/src-aya/TabexComponents/StaticPages/Filter/Filter.jsx +0 -542
  116. package/src-aya/TabexComponents/StaticPages/Login/FacebookLoginButton.jsx +0 -51
  117. package/src-aya/TabexComponents/StaticPages/Login/GoogleLoginButton.jsx +0 -35
  118. package/src-aya/TabexComponents/StaticPages/Login/Login.jsx +0 -283
  119. package/src-aya/TabexComponents/StaticPages/OrderSuccess/OrderSuccess.js +0 -192
  120. package/src-aya/TabexComponents/StaticPages/Ordershistory/Ordershistory.jsx +0 -1271
  121. package/src-aya/TabexComponents/StaticPages/Policies/Policies.jsx +0 -353
  122. package/src-aya/TabexComponents/StaticPages/Productinfo/Iteminfo.js +0 -1287
  123. package/src-aya/TabexComponents/StaticPages/Productinfo/Productinfo.js +0 -710
  124. package/src-aya/TabexComponents/StaticPages/Productinfo/Productinfo.jsx +0 -1457
  125. package/src-aya/TabexComponents/StaticPages/Productinfo/Serviceinfo.js +0 -804
  126. package/src-aya/TabexComponents/StaticPages/Searchlist/Searchlist.jsx +0 -206
  127. package/src-aya/TabexComponents/StaticPages/Signup/CustomerInformationForm.jsx +0 -791
  128. package/src-aya/TabexComponents/StaticPages/Signup/Signup.jsx +0 -155
  129. package/src-aya/TabexComponents/StaticPages/Staticpagesrouter/Staticpagesrouter.jsx +0 -279
  130. package/src-aya/TabexComponents/StaticPages/Viewcart/Viewcart.jsx +0 -1048
  131. package/src-aya/TabexComponents/StaticPages/Wishlist/Wishlist.jsx +0 -606
  132. package/src-aya/assets/images/appstore.png +0 -0
  133. package/src-aya/assets/images/cod.png +0 -0
  134. package/src-aya/assets/images/egyptflag.png +0 -0
  135. package/src-aya/assets/images/fawry.png +0 -0
  136. package/src-aya/assets/images/googleplay.png +0 -0
  137. package/src-aya/assets/images/payment.png +0 -0
  138. package/src-aya/assets/images/paymob.png +0 -0
  139. package/src-aya/assets/images/paypal.png +0 -0
  140. package/src-aya/assets/images/shoppingcart.png +0 -0
  141. package/src-aya/assets/images/usflag.png +0 -0
  142. package/src-aya/assets/images/visa.png +0 -0
  143. package/src-aya/assets/images/whatsapp.png +0 -0
  144. package/src-aya/button.jsx +0 -40
  145. package/src-aya/index.jsx +0 -222
  146. package/src-aya/styles/Home.module.css +0 -129
  147. package/src-aya/styles/cards/Categorcycard_fullimage.module.css +0 -10
  148. package/src-aya/styles/cards/Categorycard_slidebgscaled.module.css +0 -73
  149. package/src-aya/styles/cards/Categorycard_withshapes.module.css +0 -189
  150. package/src-aya/styles/cards/ModernCardWithQuantityButton.module.css +0 -34
  151. package/src-aya/styles/cards/Productcard6.module.css +0 -9
  152. package/src-aya/styles/cards/Productcard_with_circularbg.module.css +0 -137
  153. package/src-aya/styles/cards/Productccard_with_zoominonhover.module.css +0 -51
  154. package/src-aya/styles/cards/Prouductcard_with_zoomhover.module.css +0 -61
  155. package/src-aya/styles/cards/categorycard.module.css +0 -85
  156. package/src-aya/styles/cards/categorycard3.module.css +0 -50
  157. package/src-aya/styles/cards/categorycardwithtext.module.css +0 -40
  158. package/src-aya/styles/cards/productcard_animatedbuttons.module.css +0 -127
  159. package/src-aya/styles/cards/productcard_with_textonhover.module.css +0 -12
  160. package/src-aya/styles/cards/productccard_with_imageontopleft.module.css +0 -85
  161. package/src-aya/styles/general/bootstrap.css +0 -4562
  162. package/src-aya/styles/general/dropdown.css +0 -206
  163. package/src-aya/styles/general/editorbardropdown.module.css +0 -94
  164. package/src-aya/styles/general/filter.module.css +0 -108
  165. package/src-aya/styles/general/form.module.css +0 -273
  166. package/src-aya/styles/general/general.module.css +0 -861
  167. package/src-aya/styles/general/image-gallery.css +0 -481
  168. package/src-aya/styles/general/react-accessible-accordion.module.css +0 -52
  169. package/src-aya/styles/general/react-phone-input-2.module.css +0 -927
  170. package/src-aya/styles/general/scrollbtn.module.css +0 -22
  171. package/src-aya/styles/general/slick.module.css +0 -166
  172. package/src-aya/styles/general/tabs.module.css +0 -110
  173. package/src-aya/styles/general/workplaceeditor.module.css +0 -328
  174. package/src-aya/styles/globals.css +0 -26
  175. package/src-aya/styles/headers/CTAHeader.module.css +0 -40
  176. package/src-aya/styles/headers/CategoryFeaturingHeader.module.css +0 -61
  177. package/src-aya/styles/headers/Gotoheader.module.css +0 -91
  178. package/src-aya/styles/headers/Header7.module.css +0 -50
  179. package/src-aya/styles/headers/Header_threesectionslogocentered.module.css +0 -96
  180. package/src-aya/styles/headers/Sideheader.module.css +0 -108
  181. package/src-aya/styles/headers/classicheader.module.css +0 -16
  182. package/src-aya/styles/headers/classicheaderstyles.module.css +0 -16
  183. package/src-aya/styles/headers/dropdown.css +0 -0
  184. package/src-aya/styles/headers/header4.module.css +0 -175
  185. package/src-aya/styles/headers/header5.module.css +0 -30
  186. package/src-aya/styles/headers/header6.module.css +0 -102
  187. package/src-aya/styles/headers/header_contactinfo.module.css +0 -66
  188. package/src-aya/styles/headers/headerresturant.module.css +0 -89
  189. package/src-aya/styles/headers/modernheader.module.css +0 -72
  190. package/src-aya/styles/headers/stylishheader.module.css +0 -24
  191. package/src-aya/styles/headers/subheader.module.css +0 -114
  192. package/src-aya/styles/headers/threetieredheader.module.css +0 -91
  193. package/src-aya/styles/sections/BackgroundImageWithTopContent.css +0 -4
  194. package/src-aya/styles/sections/Backgroundimage1.module.css +0 -17
  195. package/src-aya/styles/sections/Backgroundimage_with_topcircle.module.css +0 -28
  196. package/src-aya/styles/sections/Section_with_rightbgcont.module.css +0 -49
  197. package/src-aya/styles/sections/Slideshow_with_rotatedsquare.module.css +0 -35
  198. package/src-aya/styles/sections/Slideshow_with_squarebg.module.css +0 -39
  199. package/src-aya/styles/staticpages/accordion.module.css +0 -9
  200. package/src-aya/styles/staticpages/cart.module.css +0 -108
  201. package/src-aya/styles/staticpages/dropdown.css +0 -196
  202. package/src-aya/styles/staticpages/filter.module.css +0 -139
  203. package/src-aya/styles/staticpages/image-gallery.css +0 -481
  204. package/src-aya/styles/staticpages/login.module.css +0 -113
  205. package/src-aya/styles/staticpages/productinfo.module.css +0 -54
  206. package/src-aya/styles/staticpages/shop.module.css +0 -191
  207. package/src-aya/styles/staticpages/signup.module.css +0 -206
  208. package/src-aya/styles/staticpages/staticroutersidenav.module.css +0 -129
  209. package/src-aya/styles/staticpages/viewcart.module.css +0 -129
  210. package/src-aya/styles/staticpages/wishlist.module.css +0 -29
  211. package/src-aya/styles.rar +0 -0
@@ -1,1457 +0,0 @@
1
- //productidprops
2
- import React, { useEffect, useState, useContext } from 'react';
3
- import generalstyles from '../../../styles/general/general.module.css';
4
- import productinfostyles from '../../../styles/staticpages/productinfo.module.css';
5
- import ImageGallery from 'react-image-gallery';
6
- import { MdOutlineShoppingCart } from 'react-icons/md';
7
- import { CircularProgress } from 'react-cssfx-loading';
8
- import { css } from 'glamor';
9
- import ShowMoreText from 'react-show-more-text';
10
- import { useParams } from 'react-router';
11
- import { IKImage } from 'imagekitio-react';
12
- import { FaShippingFast } from 'react-icons/fa';
13
- import { FiMapPin } from 'react-icons/fi';
14
- import { MdOutlinePolicy, MdOutlineLocalShipping } from 'react-icons/md';
15
- import { HiOutlinePhone } from 'react-icons/hi';
16
- import { RiSecurePaymentLine } from 'react-icons/ri';
17
- import { AiFillStar, AiOutlineStar } from 'react-icons/ai';
18
- import { FiShoppingBag, FiShoppingCart } from 'react-icons/fi';
19
- import { FaRegHeart, FaHeart } from 'react-icons/fa';
20
- import { CgShoppingBag } from 'react-icons/cg';
21
- import { BsBag } from 'react-icons/bs';
22
- import { IoBagHandleOutline } from 'react-icons/io5';
23
- import '../../../styles/staticpages/image-gallery.css';
24
-
25
- const Productinfo = (props) => {
26
- const StatePagePropertiesContext = props.actions.StatePagePropertiesContext;
27
- const lang = props.actions.lang;
28
- const langdetect = props.actions.langdetect;
29
- const templatepropcontext = props.actions.templatepropcontext;
30
- const routingcountext = props.actions.routingcountext;
31
- const StaticPagesLinksContext = props.actions.StaticPagesLinksContext;
32
- const TabexSectionsComponentsContext = props.actions.TabexSectionsComponentsContext;
33
- const FetchQueriesEngineContext = props.actions.FetchQueriesEngineContext;
34
- const setFetchQueriesEngineContext = props.actions.setFetchQueriesEngineContext;
35
- const serverbaselink = props.actions.serverbaselink;
36
- const AddtoCartMutationContext = props.actions.AddtoCartMutationContext;
37
- const ProductIdProdutInfoModalContext = props.actions.ProductIdProdutInfoModalContext;
38
- const AddtoCartContext = props.actions.AddtoCartContext;
39
- const addtofavoritescontext = props.actions.addtofavoritescontext;
40
- const fetchProductInfoQueryContext = props.actions.fetchProductInfoQueryContext;
41
- const fetchproductinfoObjContext = props.actions.fetchproductinfoObjContext;
42
- const setfetchproductinfoObjContext = props.actions.setfetchproductinfoObjContext;
43
- const pageindexcontext = props.actions.pageindexcontext;
44
- const setpageindexcontext = props.actions.setpageindexcontext;
45
- const authdetailsContext = props.actions.authdetailsContext;
46
- const setCurrentPageIdContext = props.actions.setCurrentPageIdContext;
47
- const productidparam = props.productidparam;
48
- const [sectionproperties, setsectionproperties] = useState('');
49
- const [CurrentPageId, setCurrentPageId] = useState('');
50
- const [RelatedProductsTagid, setRelatedProductsTagid] = useState('');
51
- const [ProductInfoObj, setProductInfoObj] = useState({});
52
- const { collectionidparams } = useParams();
53
- useEffect(() => {
54
- if (Object.keys(StatePagePropertiesContext).length != 0) {
55
- var secpropobj = {};
56
- StatePagePropertiesContext.pageobj != undefined &&
57
- StatePagePropertiesContext.pageobj.pageproperties != undefined &&
58
- StatePagePropertiesContext.pageobj.pageproperties.forEach(function (arrayItem, arrayindex) {
59
- secpropobj[arrayItem.property_css_name] = arrayItem.property_value;
60
- });
61
-
62
- setsectionproperties({ ...secpropobj });
63
- }
64
- }, [StatePagePropertiesContext]);
65
-
66
- // const FetchRelatedProductsQuery = useQuery([' FetchRelatedProducts_API' + RelatedProductsTagid], () => FetchRelatedProducts_API({ tagid: RelatedProductsTagid, productid: '' }), {
67
- // keepPreviousData: true,
68
- // staleTime: Infinity,
69
- // enabled: fetchproductinfoObjContext.productid != undefined && fetchproductinfoObjContext.productid.length != 0 && RelatedProductsTagid.length != 0 ? true : false,
70
- // });
71
- useEffect(() => {
72
- var cartindex = templatepropcontext.pagesnprop.findIndex((x) => x.staticpageid == '6218bccb810ae');
73
-
74
- if (cartindex >= 0) {
75
- setpageindexcontext(cartindex);
76
- setCurrentPageId(templatepropcontext.pagesnprop[cartindex].pageid);
77
- if (props.srcfromprops != 'templatedraftrouter') {
78
- // setpageindexcontext(cartindex);
79
- setCurrentPageIdContext(templatepropcontext.pagesnprop[cartindex].pageid);
80
- }
81
- }
82
- }, []);
83
- useEffect(() => {
84
- var secpropobj = {};
85
- templatepropcontext?.pagesnprop[pageindexcontext]?.pageproperties?.forEach(function (arrayItem, arrayindex) {
86
- secpropobj[arrayItem.property_css_name] = arrayItem.property_value;
87
- });
88
- setsectionproperties({ ...secpropobj });
89
- }, [pageindexcontext]);
90
- const [productimagesarray, setproductimagesarray] = useState([]);
91
- const [addtocardpayloadobj, setaddtocardpayloadobj] = useState({
92
- functype: 'add',
93
- productid: '',
94
- variantid: '',
95
- quantity: 1,
96
- });
97
- const [variantindexcompleted, setvariantindexcompleted] = useState('');
98
- useEffect(() => {
99
- if (productidparam == undefined) {
100
- productidassigner(ProductIdProdutInfoModalContext);
101
- } else {
102
- productidassigner(productidparam);
103
- }
104
- }, []);
105
- useEffect(() => {
106
- if (fetchProductInfoQueryContext.isSuccess) {
107
- setProductInfoObj(fetchProductInfoQueryContext.data);
108
- }
109
- }, [fetchProductInfoQueryContext.isSuccess, fetchProductInfoQueryContext.data]);
110
- const productidassigner = (productid) => {
111
- var tempFetchQueriesEngineContext = { ...FetchQueriesEngineContext };
112
- tempFetchQueriesEngineContext.fetchproductinfo = true;
113
- setFetchQueriesEngineContext({ ...tempFetchQueriesEngineContext });
114
- var tempfetchproductinfoObjContext = { ...fetchproductinfoObjContext };
115
-
116
- tempfetchproductinfoObjContext.productid = productid;
117
- setfetchproductinfoObjContext({ ...tempfetchproductinfoObjContext });
118
- };
119
- useEffect(() => {
120
- if (!fetchProductInfoQueryContext.isFetching && fetchProductInfoQueryContext.isSuccess) {
121
- if (fetchProductInfoQueryContext.data.data.productinfo != null) {
122
- var tempproductimagesarray = [];
123
- if (Array.isArray(fetchProductInfoQueryContext.data.data.productinfo.productimages)) {
124
- fetchProductInfoQueryContext.data.data.productinfo.productimages.forEach(function (arrayItem, arrayindex) {
125
- var productimagesarrayobj = {
126
- thumbnail: serverbaselink + arrayItem.path,
127
- original: serverbaselink + arrayItem.path,
128
- };
129
- tempproductimagesarray.push(productimagesarrayobj);
130
- });
131
- }
132
- setproductimagesarray([...tempproductimagesarray]);
133
- variantchecker();
134
- var tempaddtocardpayloadobj = { ...addtocardpayloadobj };
135
- tempaddtocardpayloadobj.productid = fetchProductInfoQueryContext.data.data.productinfo.productid;
136
- setaddtocardpayloadobj({ ...tempaddtocardpayloadobj });
137
- setRelatedProductsTagid(fetchProductInfoQueryContext.data.data.productinfo.maintagid);
138
- }
139
- }
140
- }, [fetchProductInfoQueryContext.isSuccess, fetchProductInfoQueryContext.data]);
141
- const selectproductoptionvalue = (optionindex, optionvaluesitem, optionvaluesindex) => {
142
- var productarr = ProductInfoObj;
143
- var isselected = productarr.data.productinfo.productoptions[optionindex].optionvalues[optionvaluesindex].isselected;
144
- if (isselected == 1) {
145
- productarr.data.productinfo.productoptions[optionindex].optionvalues[optionvaluesindex].isselected = 0;
146
- } else {
147
- productarr.data.productinfo.productoptions[optionindex].optionvalues[optionvaluesindex].isselected = 1;
148
- }
149
- productarr.data.productinfo.productoptions[optionindex].optionvalues.forEach(function (arrayItem, arrayindex) {
150
- if (optionvaluesindex != arrayindex) {
151
- arrayItem.isselected = 0;
152
- }
153
- });
154
- variantchecker();
155
- variantcompleting();
156
- // queryClient.setQueryData('fetchProductInfo_API' + JSON.stringify(fetchproductinfoObjContext), productarr);
157
- setProductInfoObj({ ...productarr });
158
- };
159
- const variantchecker = () => {
160
- var productarr = ProductInfoObj;
161
- if (Object.keys(productarr).length != 0) {
162
- if (productarr.data.productinfo.hasvariants == 1) {
163
- var selectedoptionsvalues = [];
164
- var variantsaccessible = [];
165
- productarr.data.productinfo.productoptions.forEach(function (productoptionsitem, productoptionsindex) {
166
- productoptionsitem.optionvalues.forEach(function (ProductOptionValuesitem, ProductOptionValuesIndex) {
167
- if (ProductOptionValuesitem.isselected == 1) {
168
- selectedoptionsvalues.push(ProductOptionValuesitem);
169
- }
170
- });
171
- });
172
- if (selectedoptionsvalues.length == 0) {
173
- productarr.data.productinfo.variants.forEach(function (ProductVariantItem, ProductVariantIndex) {
174
- ProductVariantItem.variantoptions.forEach(function (varinatoptionitem, variantoptionindex) {
175
- productarr.data.productinfo.productoptions.forEach(function (productoptionsitem, productoptionsindex) {
176
- productoptionsitem.optionvalues.forEach(function (ProductOptionValuesitem, ProductOptionValuesIndex) {
177
- if (ProductOptionValuesitem.valueid == varinatoptionitem.valueid) {
178
- ProductOptionValuesitem.isenabled = 1;
179
- }
180
- });
181
- });
182
- });
183
- });
184
- } else {
185
- productarr.data.productinfo.productoptions.forEach(function (productoptionsitem, productoptionsindex) {
186
- productoptionsitem.optionvalues.forEach(function (ProductOptionValuesitem, ProductOptionValuesIndex) {
187
- ProductOptionValuesitem.isenabled = 0;
188
- });
189
- });
190
-
191
- productarr.data.productinfo.variants.forEach(function (ProductVariantItem, ProductVariantIndex) {
192
- var variantcommonvalues = [];
193
- ProductVariantItem.variantoptions.forEach(function (varinatoptionitem, variantoptionindex) {
194
- selectedoptionsvalues.forEach(function (ProductOptionValuesitem, ProductOptionValuesIndex) {
195
- if (ProductOptionValuesitem.optionid == varinatoptionitem.optionid) {
196
- variantcommonvalues.push(varinatoptionitem);
197
- }
198
- });
199
- });
200
-
201
- var addvariantcount = [];
202
- var addvariant = false;
203
- selectedoptionsvalues.forEach(function (ProductOptionValuesitem, ProductOptionValuesIndex) {
204
- addvariant = false;
205
- variantcommonvalues.forEach(function (varinatoptionitem, variantoptionindex) {
206
- if (ProductOptionValuesitem.optionid == varinatoptionitem.optionid) {
207
- if (ProductOptionValuesitem.valueid == varinatoptionitem.valueid) {
208
- addvariant = true;
209
- } else {
210
- addvariantcount.push(varinatoptionitem);
211
- }
212
- }
213
- });
214
- });
215
- if (addvariant && addvariantcount.length == 0) {
216
- variantsaccessible.push(ProductVariantItem);
217
- }
218
- });
219
-
220
- variantsaccessible.forEach(function (ProductVariantItem, ProductVariantIndex) {
221
- ProductVariantItem.variantoptions.forEach(function (varinatoptionitem, variantoptionindex) {
222
- productarr.data.productinfo.productoptions.forEach(function (productoptionsitem, productoptionsindex) {
223
- productoptionsitem.optionvalues.forEach(function (ProductOptionValuesitem, ProductOptionValuesIndex) {
224
- if (ProductOptionValuesitem.valueid == varinatoptionitem.valueid) {
225
- ProductOptionValuesitem.isenabled = 1;
226
- }
227
- });
228
- });
229
- });
230
- });
231
- }
232
- // queryClient.setQueryData('fetchProductInfo_API' + JSON.stringify(fetchproductinfoObjContext), productarr);
233
- setProductInfoObj({ ...productarr });
234
- }
235
- }
236
- };
237
- const variantcompleting = () => {
238
- setvariantindexcompleted('');
239
- var tempaddtocardpayloadobj = { ...addtocardpayloadobj };
240
- tempaddtocardpayloadobj.variantid = '';
241
- setaddtocardpayloadobj({ ...tempaddtocardpayloadobj });
242
- var productarr = ProductInfoObj;
243
- var selectedoptionsvalues = [];
244
-
245
- productarr.data.productinfo.productoptions.forEach(function (productoptionsitem, productoptionsindex) {
246
- productoptionsitem.optionvalues.forEach(function (ProductOptionValuesitem, ProductOptionValuesIndex) {
247
- if (ProductOptionValuesitem.isselected == 1) {
248
- selectedoptionsvalues.push(ProductOptionValuesitem);
249
- }
250
- });
251
- });
252
- productarr.data.productinfo.variants.forEach(function (ProductVariantItem, ProductVariantIndex) {
253
- var isvariant = false;
254
- var variantnotmatch = [];
255
- if (selectedoptionsvalues.length == ProductVariantItem.variantoptions.length) {
256
- isvariant = true;
257
- ProductVariantItem.variantoptions.forEach(function (varinatoptionitem, variantoptionindex) {
258
- selectedoptionsvalues.forEach(function (ProductOptionValuesitem, ProductOptionValuesIndex) {
259
- if (ProductOptionValuesitem.optionid == varinatoptionitem.optionid) {
260
- if (ProductOptionValuesitem.valueid == varinatoptionitem.valueid) {
261
- } else {
262
- variantnotmatch.push('s');
263
- }
264
- }
265
- });
266
- });
267
- }
268
- if (variantnotmatch.length == 0 && isvariant == true) {
269
- var variantobj = fetchProductInfoQueryContext.data.data.productinfo.variants[ProductVariantIndex];
270
- var variantid = '';
271
- if (variantobj == undefined) {
272
- NotificationManager.warning('', 'Variant Not Found');
273
- } else {
274
- variantid = variantobj.variantid;
275
- var tempaddtocardpayloadobj = { ...addtocardpayloadobj };
276
- tempaddtocardpayloadobj.variantid = variantid;
277
- setaddtocardpayloadobj({ ...tempaddtocardpayloadobj });
278
- setvariantindexcompleted(ProductVariantIndex);
279
- }
280
- }
281
- });
282
- // queryClient.setQueryData('fetchProductInfo_API' + JSON.stringify(fetchproductinfoObjContext), productarr);
283
- setProductInfoObj({ ...productarr });
284
- };
285
- const addtocartfunc = () => {
286
- var runfunc = false;
287
- if (addtocardpayloadobj.productid.length != 0 && addtocardpayloadobj.quantity > 0) {
288
- if (fetchProductInfoQueryContext.data.data.productinfo.hasvariants == 1) {
289
- if (addtocardpayloadobj.variantid.length != 0) {
290
- runfunc = true;
291
- } else {
292
- NotificationManager.warning('', 'Please Choose Product Options');
293
- }
294
- } else {
295
- runfunc = true;
296
- }
297
- } else {
298
- NotificationManager.warning('', 'Please Choose Quantity');
299
- }
300
-
301
- if (runfunc == true) {
302
- AddtoCartContext(addtocardpayloadobj);
303
- }
304
- };
305
- const productinfo_cssstyles = {
306
- sectiontitlespan: css({
307
- ':after': {
308
- width: sectionproperties.relatedproducttitle_lineafterwidth + '%',
309
- backgroundColor: sectionproperties.relatedproducttitlelinebgcolor,
310
- },
311
- }),
312
- sectiontitlespan2: css({
313
- ':after': {
314
- width: sectionproperties.relatedproducttitle_lineafterwidth + 'px',
315
- height: '100%',
316
- backgroundColor: sectionproperties.relatedproducttitlelinebgcolor,
317
- },
318
- }),
319
- cart_btn: css({
320
- width: sectionproperties.cartBtnWidth + 'px',
321
- height: sectionproperties.cartBtnHeight + 'px',
322
- background: sectionproperties.cartbtn_bgtransparent == 'Transparent' ? 'transparent' : sectionproperties.cartBtnbgColor,
323
- borderRadius: sectionproperties.cart_btn_borderBottomLeftRadius + 'px',
324
- color: sectionproperties.cartBtnTextcolor,
325
- fontSize: sectionproperties.cartBtnTextfontsize + 'px',
326
- textTransform: sectionproperties.cartBtnTexttransform,
327
- fontWeight: sectionproperties.cartBtnTextfontweight,
328
- border: sectionproperties.cartbtnborderwidth + 'px solid ' + sectionproperties.cartbtnbordercolor,
329
- transition: '.3s',
330
- opacity: sectionproperties.cartbtn_opacity,
331
- display: 'flex',
332
- alignItems: 'center',
333
- justifyContent: 'center',
334
- overflow: 'hidden',
335
- margin: 0,
336
- position: 'relative',
337
- ':hover': {
338
- background: sectionproperties.cartbtn_transparentbgcoloronhover == 'Transparent' ? 'transparent' : sectionproperties.cartBtnbgColoronhover,
339
- color: sectionproperties.cartBtnTextcoloronhover,
340
- opacity: sectionproperties.cartbtn_opacityonhover,
341
- },
342
- }),
343
- quantitybtn: css({
344
- width: sectionproperties.quantitybtn_height + 'px',
345
- height: sectionproperties.quantitybtn_width + 'px',
346
- display: 'flex',
347
- flexDirection: 'column',
348
- overflow: 'hidden',
349
- borderRadius: sectionproperties.quantitybtn_borderradius + 'px',
350
- background: sectionproperties.quantitybtn_bgcolor,
351
- alignItems: 'center',
352
- justifyContent: 'center',
353
- margin: 0,
354
- position: 'relative',
355
- fontWeight: sectionproperties.quantitybtn_textfontweight,
356
- color: sectionproperties.quantitybtn_textcolor,
357
- fontSize: sectionproperties.quantitybtn_textfontsize + 'px',
358
- border: sectionproperties.quantitybtnborderwidth + 'px solid ' + sectionproperties.quantitybtnbordercolor,
359
- }),
360
- quantitybtn_text: css({
361
- margin: 'auto',
362
- }),
363
- add_quantitybtn_icon_container: css({
364
- position: 'relative',
365
- width: '35px',
366
- height: '35px',
367
- background: sectionproperties.add_quantitybtn_bgcolor,
368
- display: 'flex',
369
- alignItems: 'center',
370
- justifyContent: 'center',
371
- borderRadius: sectionproperties.add_quantitybtn_borderradius + 'px',
372
- fontSize: sectionproperties.add_quantitybtn_textfontsize + 'px',
373
- color: sectionproperties.add_quantitybtn_textcolor,
374
- transition: '.3s',
375
- ':hover': {
376
- color: sectionproperties.add_quantitybtn_textcoloronhover,
377
- background: sectionproperties.add_quantitybtn_bgcoloronhover,
378
- },
379
- }),
380
- minus_quantitybtn_icon_container: css({
381
- position: 'relative',
382
- width: '35px',
383
- height: '35px',
384
- background: sectionproperties.remove_quantitybtn_bgcolor,
385
- display: 'flex',
386
- alignItems: 'center',
387
- justifyContent: 'center',
388
- borderRadius: sectionproperties.remove_quantitybtn_borderradius + 'px',
389
- fontSize: sectionproperties.remove_quantitybtn_textfontsize + 'px',
390
- color: sectionproperties.remove_quantitybtn_textcolor,
391
- transition: '.3s',
392
- ':hover': {
393
- color: sectionproperties.remove_quantitybtn_textcoloronhover,
394
- background: sectionproperties.remove_quantitybtn_bgcoloronhover,
395
- },
396
- }),
397
- imagecont: css({
398
- width: '60px',
399
- height: '60px',
400
- border: sectionproperties.prodimage_borderwidth + 'px solid ' + sectionproperties.prodimage_color,
401
- backgroundColor: sectionproperties.prodimage_bgcolor,
402
- borderBottomLeftRadius: sectionproperties.prodimage__borderBottomLeftRadius + 'px',
403
- borderBottomRightRadius: sectionproperties.prodimage__borderBottomRightRadius + 'px',
404
- borderTopLeftRadius: sectionproperties.prodimage__borderTopLeftRadius + 'px',
405
- borderTopRightRadius: sectionproperties.prodimage__borderTopRightRadius + 'px',
406
- display: 'flex',
407
- alignItems: 'center',
408
- justifyContent: 'center',
409
- backgroundRepeat: 'no-repeat',
410
- backgroundSize: 'cover',
411
- backgroundPosition: 'center',
412
- position: 'relative',
413
- }),
414
- relatedproductNameStyles: css({
415
- color: sectionproperties.relatedprodNameColor,
416
- fontSize: sectionproperties.relatedprodNameFontSize + 'px',
417
- fontWeight: sectionproperties.relatedprodnamefontWeight,
418
- textTransform: sectionproperties.relatedprodNameTextTranform,
419
-
420
- ':hover': {
421
- color: sectionproperties.relatedprodNameColoronhover,
422
- },
423
- }),
424
- relatedproductPricestyles: css({
425
- color: sectionproperties.relatedprodPriceColor,
426
- fontSize: sectionproperties.relatedprodpriceFontSize + 'px',
427
- fontWeight: sectionproperties.relatedprodPriceFontWeight,
428
- }),
429
- cardcontainer: css({
430
- backgroundColor: sectionproperties.backgroundColor,
431
- borderTopLeftRadius: sectionproperties.borderTopLeftRadius + 'px',
432
- borderTopRightRadius: sectionproperties.borderTopRightRadius + 'px',
433
- borderBottomLeftRadius: sectionproperties.borderBottomLeftRadius + 'px',
434
- borderBottomRightRadius: sectionproperties.borderBottomRightRadius + 'px',
435
- paddingRight: sectionproperties.paddingRight + 'px',
436
- paddingLeft: sectionproperties.paddingLeft + 'px',
437
- paddingTop: sectionproperties.paddingTop + 'px',
438
- paddingBottom: sectionproperties.paddingBottom + 'px',
439
- border: sectionproperties.sectioncardborderwidth + 'px solid ' + sectionproperties.sectioncardbordercolor,
440
- }),
441
- wishlist_btn: css({
442
- width: sectionproperties.favBtnWidth + 'px',
443
- height: sectionproperties.favBtnHeight + 'px',
444
- background: sectionproperties.favbtn_bgtransparent == 'Transparent' ? 'transparent' : sectionproperties.favBtnbgColor,
445
- borderRadius: sectionproperties.fav_btn_borderBottomLeftRadius + 'px',
446
- color: sectionproperties.favBtniconcolor,
447
- fontSize: sectionproperties.favBtnTextfontsize + 'px',
448
- textTransform: sectionproperties.favBtnTexttransform,
449
- fontWeight: sectionproperties.favBtnTextfontweight,
450
- transition: '.3s',
451
- boxShadow: sectionproperties.favbtn_showshadow == 'Show' ? '0 0 10px ' + sectionproperties.favbtn_shadowcolor : '',
452
- border: sectionproperties.favbtnborderwidth + 'px solid ' + sectionproperties.favbtnbordercolor,
453
- opacity: sectionproperties.favbtn_opacity,
454
- cursor: 'pointer',
455
- ':hover': {
456
- background: sectionproperties.favbtn_transparentbgcoloronhover == 'Transparent' ? 'transparent' : sectionproperties.favBtnbgColoronhover,
457
- color: sectionproperties.favBtnTextcoloronhover,
458
- opacity: sectionproperties.favbtn_opacityonhover,
459
- },
460
- }),
461
- productname: css({
462
- fontSize: sectionproperties.prodNameFontSize + 'px',
463
- textTransform: sectionproperties.prodNameTextTranform,
464
- fontWeight: sectionproperties.prodNameFontWeight,
465
- color: sectionproperties.prodNameColor,
466
- }),
467
- productnamehover: css({
468
- transition: '.3s',
469
- ':hover': {
470
- color: sectionproperties.prodNameColorOnHover,
471
- },
472
- }),
473
- };
474
- const returnpolicyobj = (policytype) => {
475
- var policyobj = {};
476
- authdetailsContext?.instinfo?.instpolicies?.forEach(function (item, index) {
477
- if (item.policytype == policytype) {
478
- policyobj = item;
479
- }
480
- });
481
- return policyobj;
482
- };
483
- return (
484
- <div
485
- className={'row w-100 ml-0 mr-0'}
486
- style={{
487
- marginTop: sectionproperties.marginTop + 'px',
488
- }}
489
- >
490
- {fetchProductInfoQueryContext.isFetching && (
491
- <div className={'row ml-0 mr-0 mt-2 w-100 pb-3 mb-3'}>
492
- {/* <Pagepreloader /> */}
493
- Loading..
494
- </div>
495
- )}
496
- <div className="col-lg-12 p-0">
497
- {!fetchProductInfoQueryContext.isFetching && fetchProductInfoQueryContext.isSuccess && fetchProductInfoQueryContext.data.data.productinfo != null && (
498
- <div
499
- className={'row m-0 w-100 pl-md-3 pr-md-3 p-sm-0'}
500
- style={{
501
- paddingLeft: props.srcfromprops != 'templatdraftrouter' ? 0 : sectionproperties.card_marginLeft + 'px',
502
- paddingRight: props.srcfromprops != 'templatdraftrouter' ? 0 : sectionproperties.card_marginRight + 'px',
503
- }}
504
- >
505
- <div className="col-lg-9 pl-2 pr-2 mb-md-3">
506
- <div className={`${productinfo_cssstyles.cardcontainer}`} style={{ minHeight: '70vh' }}>
507
- <div className={'row m-0 w-100'}>
508
- <div className="col-xl-5 col-lg-6 col-md-12 col-sm-12 mb-md-3 pl-1 pr-1">
509
- <div
510
- className="col-lg-12 p-0 "
511
- style={{
512
- width: '100%',
513
- height: '100%',
514
- }}
515
- >
516
- <ImageGallery items={productimagesarray} thumbnailPosition="bottom" showNav={false} showPlayButton={false} />
517
- </div>
518
- </div>
519
- <div className={langdetect == 'en' ? 'col-lg-7 col-md-12 col-sm-12 pl-2 pr-0' : 'col-lg-7 col-md-12 col-sm-12 pl-0 pr-2'}>
520
- <div className="row m-0 w-100">
521
- {/* Name */}
522
- <div className="row m-0 w-100">
523
- {props.srcfromprops != 'templatdraftrouter' && (
524
- <div className="col-lg-10 col-md-10 col-sm-10 p-0 mb-2 d-flex justify-content-start align-items-center">
525
- <p
526
- className={
527
- `${productinfo_cssstyles.productname} ${productinfo_cssstyles.productnamehover}` +
528
- ' m-0 p-0 wordbreak d-flex justify-content-start cursor-pointer font-sm-15 '
529
- }
530
- onClick={() => {
531
- routingcountext(StaticPagesLinksContext.productinfo, true, fetchProductInfoQueryContext.data.data.productinfo.productid);
532
- }}
533
- >
534
- {langdetect == 'en'
535
- ? fetchProductInfoQueryContext.data.data.productinfo.name_en
536
- : fetchProductInfoQueryContext.data.data.productinfo.name_ar}
537
- </p>
538
- </div>
539
- )}
540
- {props.srcfromprops == 'templatdraftrouter' && (
541
- <div className="col-lg-10 col-md-10 col-sm-10 p-0 mb-2 d-flex justify-content-start align-items-center">
542
- <p className={`${productinfo_cssstyles.productname}` + ' m-0 p-0 wordbreak d-flex justify-content-start '}>
543
- {langdetect == 'en'
544
- ? fetchProductInfoQueryContext.data.data.productinfo.name_en
545
- : fetchProductInfoQueryContext.data.data.productinfo.name_ar}
546
- </p>
547
- </div>
548
- )}
549
- <div className="col-lg-2 col-md-2 col-sm-2 d-flex justify-content-end p-0">
550
- <div
551
- className={productinfo_cssstyles.wishlist_btn + ' d-flex justify-content-center align-items-center '}
552
- onClick={() => {
553
- addtofavoritescontext(fetchProductInfoQueryContext.data.data.productinfo.productid);
554
- }}
555
- style={{
556
- background: fetchProductInfoQueryContext.data.data.productinfo.IsFavExists == true ? sectionproperties.activebgcolor : '',
557
- }}
558
- >
559
- <i className="h-100 d-flex align-items-center justify-content-center">
560
- {fetchProductInfoQueryContext.data.data.productinfo.IsFavExists && (
561
- <i className="h-100 d-flex align-items-center justify-content-center">
562
- {sectionproperties.faviconshape == 'Star Shape' && (
563
- <AiFillStar size={sectionproperties.favBtnIconfontsize} style={{ color: sectionproperties.activefaviconcolor }} />
564
- )}
565
- {sectionproperties.faviconshape == 'Heart Shape' && (
566
- <FaHeart size={sectionproperties.favBtnIconfontsize} style={{ color: sectionproperties.activefaviconcolor }} />
567
- )}
568
- </i>
569
- )}
570
- {!fetchProductInfoQueryContext.data.data.productinfo.IsFavExists && (
571
- <i className="h-100 d-flex align-items-center justify-content-center">
572
- {sectionproperties.faviconshape == 'Star Shape' && <AiOutlineStar size={sectionproperties.favBtnIconfontsize} />}
573
- {sectionproperties.faviconshape == 'Heart Shape' && <FaRegHeart size={sectionproperties.favBtnIconfontsize} />}
574
- </i>
575
- )}
576
- </i>
577
- </div>
578
- </div>
579
- </div>
580
- {/* Desc */}
581
- {langdetect == 'en' && fetchProductInfoQueryContext.data.data.productinfo.description_en != '' && (
582
- <div className="col-lg-12 p-0 mb-5 d-flex justify-content-center" style={{ minHeight: '15vh' }}>
583
- <div className="row m-0 w-100 d-flex flex-column">
584
- <p className="m-0 p-0 text-light font-15 d-flex justify-content-start">{lang.description}:</p>
585
- {/* <ShowMoreText
586
- lines={5}
587
- more={lang.showmore}
588
- less={lang.showless}
589
- anchorClass="my-anchor-css-className"
590
- expanded={false}
591
- truncatedEndingComponent={'... '}
592
- >
593
- <p
594
- className={'text-black text-capitalize m-0 p-0 wordbreak'}
595
- style={{ textAlign: langdetect == 'en' ? 'left' : 'right' }}
596
- dangerouslySetInnerHTML={{
597
- __html:
598
- langdetect == 'en'
599
- ? fetchProductInfoQueryContext.data.data.productinfo.description_en
600
- : fetchProductInfoQueryContext.data.data.productinfo.description_ar,
601
- }}
602
- ></p>
603
- </ShowMoreText> */}
604
- </div>
605
- </div>
606
- )}
607
- {langdetect == 'ar' && fetchProductInfoQueryContext.data.data.productinfo.description_ar != '' && (
608
- <div className="col-lg-12 p-0 mb-5 d-flex justify-content-center" style={{ minHeight: '15vh' }}>
609
- <div className="row m-0 w-100 d-flex flex-column">
610
- <p className="m-0 p-0 text-light font-15 d-flex justify-content-start">{lang.description}:</p>
611
- <ShowMoreText
612
- lines={5}
613
- more="Show more"
614
- less="Show less"
615
- anchorClass="my-anchor-css-className"
616
- expanded={false}
617
- truncatedEndingComponent={'... '}
618
- >
619
- <p
620
- className={'text-black text-capitalize m-0 p-0 wordbreak'}
621
- style={{ textAlign: langdetect == 'en' ? 'left' : 'right' }}
622
- dangerouslySetInnerHTML={{
623
- __html:
624
- langdetect == 'en'
625
- ? fetchProductInfoQueryContext.data.data.productinfo.description_en
626
- : fetchProductInfoQueryContext.data.data.productinfo.description_ar,
627
- }}
628
- ></p>
629
- </ShowMoreText>
630
- </div>
631
- </div>
632
- )}
633
- {fetchProductInfoQueryContext.data.data.productinfo.hasvariants == 1 && (
634
- <div className="row m-0 w-100 d-flex align-items-start">
635
- {fetchProductInfoQueryContext.data.data.productinfo.productoptions.map((item, index) => {
636
- return (
637
- <div className="col-lg-12 p-0 mb-3 d-flex justify-content-start">
638
- <div className="row m-0 w-100 d-flex align-items-start">
639
- <div className="col-lg-12 col-md-12 p-0 d-flex mb-1">
640
- <p
641
- className={' m-0 p-0 wordbreak'}
642
- style={{
643
- color: sectionproperties.varianttitle_color,
644
- fontWeight: sectionproperties.varianttitle_fontweight,
645
- textTransform: sectionproperties.varianttitle_texttransform,
646
- fontSize: sectionproperties.varianttitle_fontSize + 'px',
647
- }}
648
- >
649
- {lang.select} {item.optionname}:
650
- </p>
651
- </div>
652
- <div className="col-lg-12 col-md-12 p-0 d-flex pb-md-3 justify-content-start align-items-start scrollhorixontalcontainer">
653
- {item.optionvalues.map((optionvaluesitem, optionvaluesindex) => {
654
- var isoptionvalueselected = 0;
655
- if (optionvaluesitem.isselected == 1) {
656
- isoptionvalueselected = 1;
657
- } else {
658
- isoptionvalueselected = 0;
659
- }
660
- var isoptionvaluedenabled = 0;
661
- if (optionvaluesitem.isenabled == 1) {
662
- isoptionvaluedenabled = 1;
663
- } else {
664
- isoptionvaluedenabled = 0;
665
- }
666
- if (item.optionname == 'color') {
667
- return (
668
- <div
669
- className={
670
- productinfostyles.color_container +
671
- ' mr-2 variabttcontainer ' +
672
- `${isoptionvalueselected == 1 ? productinfostyles.color_container_active : ''}`
673
- }
674
- onClick={() => {
675
- if (optionvaluesitem.isenabled == 1) {
676
- selectproductoptionvalue(index, optionvaluesitem, optionvaluesindex);
677
- }
678
- }}
679
- style={{
680
- background: optionvaluesitem.valuename,
681
- opacity: isoptionvaluedenabled == 1 ? 1 : 0.2,
682
- cursor: isoptionvaluedenabled == 1 ? 'pointer' : 'not-allowed',
683
- }}
684
- ></div>
685
- );
686
- } else if (item.optionname == 'size') {
687
- return (
688
- <div
689
- className={
690
- `${productinfostyles.variant_container} ${productinfostyles.size_variant_container}` +
691
- ' mr-2 variabttcontainer ' +
692
- `${isoptionvalueselected == 1 ? productinfostyles.variant_container_active : ''}`
693
- }
694
- onClick={() => {
695
- if (optionvaluesitem.isenabled == 1) {
696
- selectproductoptionvalue(index, optionvaluesitem, optionvaluesindex);
697
- }
698
- }}
699
- style={{
700
- backgroundColor: isoptionvaluedenabled == 1 ? '' : 'grey',
701
- cursor: isoptionvaluedenabled == 1 ? 'pointer' : 'not-allowed',
702
- }}
703
- >
704
- <p
705
- className={'font-12 wordbreak m-0 p-0 d-flex align-items-center justify-content-center'}
706
- style={{
707
- color: sectionproperties.varianttext_color,
708
- fontWeight: sectionproperties.varianttext_fontweight,
709
- textTransform: sectionproperties.varianttext_texttransform,
710
- fontSize: sectionproperties.varianttext_fontSize + 'px',
711
- }}
712
- >
713
- {optionvaluesitem.valuename}
714
- </p>
715
- </div>
716
- );
717
- } else {
718
- return (
719
- <div
720
- className={
721
- productinfostyles.variant_container +
722
- ' mr-2 variabttcontainer ' +
723
- `${isoptionvalueselected == 1 ? productinfostyles.variant_container_active : ''}`
724
- }
725
- onClick={() => {
726
- if (optionvaluesitem.isenabled == 1) {
727
- selectproductoptionvalue(index, optionvaluesitem, optionvaluesindex);
728
- }
729
- }}
730
- style={{
731
- backgroundColor:
732
- isoptionvalueselected == 1
733
- ? 'green'
734
- : isoptionvaluedenabled == 1
735
- ? sectionproperties.variantcontainer_bgcolor
736
- : 'grey',
737
- minWidth: sectionproperties.variantcontainer_minwidth + 'px',
738
- height: sectionproperties.variantcontainer_height + 'px',
739
- borderRadius: sectionproperties.variantcontainer_borderBottomLeftRadius + 'px',
740
- color: sectionproperties.variantcontainer_color,
741
- cursor: isoptionvaluedenabled == 1 ? 'pointer' : 'not-allowed',
742
- }}
743
- >
744
- <p
745
- className={'m-0 p-0 d-flex align-items-center justify-content-center'}
746
- style={{
747
- color: sectionproperties.varianttext_color,
748
- fontWeight: sectionproperties.varianttext_fontweight,
749
- textTransform: sectionproperties.varianttext_texttransform,
750
- fontSize: sectionproperties.varianttext_fontSize + 'px',
751
- }}
752
- >
753
- {optionvaluesitem.valuename}
754
- </p>
755
- </div>
756
- );
757
- }
758
- })}
759
- </div>
760
- </div>
761
- </div>
762
- );
763
- })}
764
- </div>
765
- )}
766
- <div className="col-lg-12 p-0 mb-3">
767
- <div
768
- style={{
769
- width: sectionproperties.availability_width + 'px',
770
- height: sectionproperties.availability_height + 'px',
771
- background:
772
- fetchProductInfoQueryContext.data.data.productinfo.quantavailtype == 'nolimit'
773
- ? sectionproperties.availability_availablebgcolor
774
- : sectionproperties.availability_limitedbgcolor,
775
- borderRadius: sectionproperties.availability_borderrradius + 'px',
776
- border:
777
- fetchProductInfoQueryContext.data.data.productinfo.quantavailtype == 'nolimit'
778
- ? sectionproperties.availability_borderwidtth + 'px solid ' + sectionproperties.availability_availabletextcolor
779
- : sectionproperties.availability_borderwidtth + 'px solid ' + sectionproperties.availability_limitedtextcolor,
780
- }}
781
- className="d-flex justify-content-start align-items-center pl-3 pr-3"
782
- >
783
- <p
784
- className="m-0 p-0 font-weight-500 wordbreak"
785
- style={{
786
- color:
787
- fetchProductInfoQueryContext.data.data.productinfo.quantavailtype == 'nolimit'
788
- ? sectionproperties.availability_availabletextcolor
789
- : sectionproperties.availability_limitedtextcolor,
790
- fontSize: sectionproperties.availability_fontsize + 'px',
791
- }}
792
- >
793
- <span style={{ color: sectionproperties.availability_textcolor }} className="font-weight-600">
794
- {lang.availability}:
795
- </span>
796
- <span className="ml-1 mr-1">
797
- {fetchProductInfoQueryContext.data.data.productinfo.quantavailtype == 'nolimit' ? lang.available : lang.limitedquantity}
798
- </span>
799
- </p>
800
- </div>
801
- </div>
802
- <div className="col-lg-12 p-0 mb-3">
803
- <hr className="mb-0 mt-2" />
804
- </div>
805
- <div className="col-lg-12 p-0 mb-3">
806
- <div className="row m-0 w-100">
807
- <div className="col-lg-12 p-0 mb-2 d-flex justofy-content-start">
808
- <p
809
- className="m-0 p-0"
810
- style={{
811
- color: sectionproperties.text_secondarycolor,
812
- fontSize: sectionproperties.secondaryfontsize + 'px',
813
- }}
814
- >
815
- {lang.quantity}:
816
- </p>
817
- </div>
818
- <button
819
- className={` ${productinfo_cssstyles.quantitybtn}` + ' p-0 d-flex align-items-center justify-content-center ml-sm-auto mr-sm-auto mb-sm-2 '}
820
- style={{
821
- height: sectionproperties.quantitybtn_height + 'px',
822
- width: sectionproperties.quantitybtn_width + 'px',
823
- flexDirection: 'row',
824
- direction: 'ltr',
825
- }}
826
- >
827
- <span
828
- className={`${productinfo_cssstyles.minus_quantitybtn_icon_container}` + ' m-1 '}
829
- onClick={() => {
830
- var tempaddtocardpayloadobj = { ...addtocardpayloadobj };
831
- if (tempaddtocardpayloadobj.quantity > 0) {
832
- tempaddtocardpayloadobj.quantity = tempaddtocardpayloadobj.quantity - 1;
833
- }
834
- setaddtocardpayloadobj({ ...tempaddtocardpayloadobj });
835
- }}
836
- >
837
- <i className="fa fa-chevron-down font-12"></i>
838
- </span>
839
- <span className={`${productinfo_cssstyles.quantitybtn_text}`}>{addtocardpayloadobj.quantity}</span>
840
- <span
841
- className={`${productinfo_cssstyles.add_quantitybtn_icon_container}` + ' m-1 '}
842
- onClick={() => {
843
- var tempaddtocardpayloadobj = { ...addtocardpayloadobj };
844
- tempaddtocardpayloadobj.quantity = tempaddtocardpayloadobj.quantity + 1;
845
- setaddtocardpayloadobj({ ...tempaddtocardpayloadobj });
846
- }}
847
- >
848
- <i className="fa fa-chevron-up font-12"></i>
849
- </span>
850
- </button>
851
- <button
852
- className={`${productinfo_cssstyles.cart_btn} ` + ' ml-1 mr-1 d-flex align-items-center justify-content-center ml-sm-auto mr-sm-auto mb-sm-2 '}
853
- onClick={() => {
854
- addtocartfunc();
855
- }}
856
- disabled={AddtoCartMutationContext.isLoading == true ? true : false}
857
- >
858
- {!AddtoCartMutationContext.isLoading && (
859
- <span className={' d-flex align-items-center justify-content-center '}>
860
- <i
861
- className={
862
- langdetect == 'en'
863
- ? 'h-100 d-flex align-items-center justify-content-center mr-2'
864
- : 'h-100 d-flex align-items-center justify-content-center ml-2'
865
- }
866
- >
867
- {sectionproperties.carticonstyle == 'Shopping bag 1' && (
868
- <FiShoppingBag className="" size={sectionproperties.cartBtn_iconFontSize} />
869
- )}
870
- {sectionproperties.carticonstyle == 'Shopping bag 2' && (
871
- <CgShoppingBag className="" size={sectionproperties.cartBtn_iconFontSize} />
872
- )}
873
- {sectionproperties.carticonstyle == 'Shopping bag 3' && <BsBag className="" size={sectionproperties.cartBtn_iconFontSize} />}
874
- {sectionproperties.carticonstyle == 'Shopping bag 4' && (
875
- <IoBagHandleOutline className="" size={sectionproperties.cartBtn_iconFontSize} />
876
- )}
877
- {sectionproperties.carticonstyle == 'Shopping cart 1' && (
878
- <FiShoppingCart className="" size={sectionproperties.cartBtn_iconFontSize} />
879
- )}
880
- {sectionproperties.carticonstyle == 'Shopping cart 2' && <MdOutlineShoppingCart size={sectionproperties.cartBtn_iconFontSize} />}
881
- </i>
882
- {lang.addtocart}
883
- </span>
884
- )}
885
- {AddtoCartMutationContext.isLoading && (
886
- <div className={' d-flex align-items-center justify-content-center '}>
887
- <CircularProgress color="white" width="20px" height="20px" duration="1s" />
888
- </div>
889
- )}
890
- </button>
891
- </div>
892
- </div>
893
- <div className="col-lg-12 p-0 mb-3">
894
- <div className="row m-0 w-100 d-flex flex-row">
895
- <p
896
- className="m-0 p-0"
897
- style={{
898
- color: sectionproperties.total_color,
899
- fontSize: sectionproperties.total_fontsize + 'px',
900
- fontWeight: sectionproperties.total_fontweight,
901
- textTransform: sectionproperties.total_texttransform,
902
- }}
903
- >
904
- {lang.total}:
905
- </p>
906
- <div className="col-lg-9 col-md-9 col-sm-9 d-flex align-items-center pl-1 pr-1">
907
- <p
908
- className={'m-0 p-0 wordbreak d-flex align-items-center justify-content-end'}
909
- style={{
910
- fontSize: sectionproperties.prodpriceFontSize + 'px',
911
- fontWeight: sectionproperties.prodPriceFontWeight,
912
- color: sectionproperties.prodPriceColor,
913
- }}
914
- >
915
- {fetchProductInfoQueryContext.data.data.productinfo.hasvariants == 1 && variantindexcompleted.length != 0 && (
916
- <>
917
- {fetchProductInfoQueryContext.data.data.productinfo.variants[variantindexcompleted].hassale == 1 && (
918
- <p
919
- className={
920
- langdetect == 'en'
921
- ? ' m-0 p-0 d-flex align-items-center justify-content-end wordbreak text-right '
922
- : ' m-0 p-0 d-flex align-items-center justify-content-end wordbreak text-left '
923
- }
924
- >
925
- {langdetect == 'en' ? 'EGP' : ''}{' '}
926
- {fetchProductInfoQueryContext.data.data.productinfo.variants[variantindexcompleted].variantsaleprice}{' '}
927
- {langdetect == 'en' ? '' : 'ج.م'}
928
- </p>
929
- )}
930
- <>
931
- {fetchProductInfoQueryContext.data.data.productinfo.variants[variantindexcompleted].hassale == 0 && (
932
- <p
933
- className={
934
- langdetect == 'en'
935
- ? ' m-0 p-0 d-flex align-items-center justify-content-end wordbreak text-right wordbreak '
936
- : ' m-0 p-0 d-flex align-items-center justify-content-end wordbreak text-left wordbreak '
937
- }
938
- >
939
- {langdetect == 'en' ? 'EGP' : ''}{' '}
940
- {fetchProductInfoQueryContext.data.data.productinfo.variants[variantindexcompleted].variantprice}{' '}
941
- {langdetect == 'en' ? '' : 'ج.م'}
942
- </p>
943
- )}
944
- </>
945
- </>
946
- )}
947
- {fetchProductInfoQueryContext.data.data.productinfo.hasvariants == 0 && (
948
- <>
949
- {fetchProductInfoQueryContext.data.data.productinfo.hassale == 0 && (
950
- <span
951
- className={
952
- langdetect == 'en'
953
- ? ' d-flex align-items-center justify-content-end wordbreak text-right wordbreak '
954
- : ' d-flex align-items-center justify-content-end wordbreak text-left wordbreak '
955
- }
956
- >
957
- {langdetect == 'en' ? 'EGP' : ''} {fetchProductInfoQueryContext.data.data.productinfo.defaultprice}{' '}
958
- {langdetect == 'en' ? '' : 'ج.م'}
959
- </span>
960
- )}
961
- <>
962
- {fetchProductInfoQueryContext.data.data.productinfo.hassale == 1 && (
963
- <span
964
- className={
965
- langdetect == 'en'
966
- ? ' d-flex align-items-center justify-content-end wordbreak text-right wordbreak '
967
- : ' d-flex align-items-center justify-content-end wordbreak text-left wordbreak '
968
- }
969
- >
970
- {langdetect == 'en' ? 'EGP' : ''} {fetchProductInfoQueryContext.data.data.productinfo.defaultsaleprice}{' '}
971
- {langdetect == 'en' ? '' : 'ج.م'}
972
- </span>
973
- )}
974
- </>
975
- </>
976
- )}
977
- </p>
978
- <p
979
- className={'m-0 p-0 linethrough wordbreak'}
980
- style={{
981
- color: sectionproperties.prodsalePriceColor,
982
- fontSize: sectionproperties.prodsalepriceFontSize + 'px',
983
- fontWeight: sectionproperties.prodsalePriceFontWeight,
984
- }}
985
- >
986
- {fetchProductInfoQueryContext.data.data.productinfo.hasvariants == 0 && (
987
- <>
988
- {fetchProductInfoQueryContext.data.data.productinfo.hassale == 1 && (
989
- <span
990
- className={
991
- langdetect == 'en'
992
- ? ' d-flex align-items-center justify-content-end wordbreak text-right wordbreak '
993
- : ' d-flex align-items-center justify-content-end wordbreak text-left wordbreak '
994
- }
995
- >
996
- <span className="ml-2 mr-2">-</span> {langdetect == 'en' ? 'EGP' : ''}{' '}
997
- {fetchProductInfoQueryContext.data.data.productinfo.defaultprice} {langdetect == 'en' ? '' : 'ج.م'}
998
- </span>
999
- )}
1000
- </>
1001
- )}
1002
- {fetchProductInfoQueryContext.data.data.productinfo.hasvariants == 1 && variantindexcompleted.length != 0 && (
1003
- <>
1004
- {fetchProductInfoQueryContext.data.data.productinfo.variants[variantindexcompleted].hassale == 1 && (
1005
- <span
1006
- className={
1007
- langdetect == 'en'
1008
- ? ' d-flex align-items-center justify-content-end wordbreak text-right wordbreak '
1009
- : ' d-flex align-items-center justify-content-end wordbreak text-left wordbreak '
1010
- }
1011
- >
1012
- <span className="ml-2 mr-2">-</span>
1013
- {langdetect == 'en' ? 'EGP' : ''}{' '}
1014
- {fetchProductInfoQueryContext.data.data.productinfo.variants[variantindexcompleted].variantprice}{' '}
1015
- {langdetect == 'en' ? '' : 'ج.م'}
1016
- </span>
1017
- )}
1018
- </>
1019
- )}
1020
- </p>
1021
- </div>
1022
- </div>
1023
- </div>
1024
- <div className="col-lg-12 p-0 mb-3">
1025
- <hr className="mb-0 mt-2" />
1026
- </div>
1027
- <div className="row m-0 w-100 d-flex align-items-center mb-3">
1028
- <div
1029
- style={{
1030
- width: sectionproperties.iconcontainerwidth + 'px',
1031
- height: sectionproperties.iconcontainerheight + 'px',
1032
- borderRadius: sectionproperties.iconcontainerborderbl + 'px',
1033
- background: sectionproperties.iconcontainerbg,
1034
- }}
1035
- >
1036
- <i className="h-100 d-flex align-items-center justify-content-center">
1037
- <RiSecurePaymentLine
1038
- size={20}
1039
- style={{
1040
- color: sectionproperties.iconcontainercolor,
1041
- }}
1042
- />
1043
- </i>
1044
- </div>
1045
- <div className="col-lg-9 col-md-9 col-sm-9 d-flex justofy-content-start">
1046
- <p
1047
- className="m-0 p-0 wordbreak"
1048
- style={{
1049
- fontSize: sectionproperties.icontextfontsize + 'px',
1050
- color: sectionproperties.icontextcolor,
1051
- fontWeight: sectionproperties.icontextfontweight,
1052
- }}
1053
- >
1054
- {lang.securepayment}
1055
- </p>
1056
- </div>
1057
- </div>
1058
- <div className="row m-0 w-100 d-flex align-items-center mb-3">
1059
- <div
1060
- style={{
1061
- width: sectionproperties.iconcontainerwidth + 'px',
1062
- height: sectionproperties.iconcontainerheight + 'px',
1063
- borderRadius: sectionproperties.iconcontainerborderbl + 'px',
1064
- background: sectionproperties.iconcontainerbg,
1065
- }}
1066
- >
1067
- <i className="h-100 d-flex align-items-center justify-content-center">
1068
- <MdOutlineLocalShipping
1069
- size={20}
1070
- style={{
1071
- color: sectionproperties.iconcontainercolor,
1072
- }}
1073
- />
1074
- </i>
1075
- </div>
1076
- <div className="col-lg-9 col-md-9 col-sm-9 d-flex justofy-content-start">
1077
- <p
1078
- className="m-0 p-0 wordbreak"
1079
- style={{
1080
- fontSize: sectionproperties.icontextfontsize + 'px',
1081
- color: sectionproperties.icontextcolor,
1082
- fontWeight: sectionproperties.icontextfontweight,
1083
- }}
1084
- >
1085
- {lang.trustedshipping}
1086
- </p>
1087
- </div>
1088
- </div>
1089
- </div>
1090
- </div>
1091
- </div>
1092
- </div>
1093
- </div>
1094
- <div className="col-lg-3 pl-2 pr-2">
1095
- {authdetailsContext?.loggedin && (
1096
- <div className={`${productinfo_cssstyles.cardcontainer}` + ' mb-3 '}>
1097
- <div className="row m-0 w-100">
1098
- <i className="h-100 d-flex align-items-center justify-content-center mt-1">
1099
- <FiMapPin
1100
- size={20}
1101
- style={{
1102
- color: sectionproperties.generaliconcolor,
1103
- }}
1104
- />
1105
- </i>
1106
- <div className="col-lg-10 col-md-10 col-sm-10 d-flex justify-content-start flex-column">
1107
- <div className="row m-0 w-100">
1108
- <div className="col-lg-12 p-0 d-flex justify-content-start">
1109
- <p
1110
- className="m-0 p-0 wordbreak"
1111
- style={{
1112
- fontSize: sectionproperties.generaltext_fontSize + 'px',
1113
- color: sectionproperties.generaltext_fontColor,
1114
- textTransform: sectionproperties.generaltext_textTransform,
1115
- fontWeight: sectionproperties.generaltext_fontWeight,
1116
- }}
1117
- >
1118
- {lang.deliverto}
1119
- </p>
1120
- </div>
1121
- <div className="col-lg-12 p-0 d-flex justify-content-start">
1122
- {authdetailsContext?.loggedin && (
1123
- <p
1124
- className="m-0 p-0 wordbreak"
1125
- style={{
1126
- color: sectionproperties.text_secondarycolor,
1127
- fontSize: sectionproperties.secondaryfontsize + 'px',
1128
- }}
1129
- >
1130
- {authdetailsContext?.customerinfo?.name}, Egypt
1131
- </p>
1132
- )}
1133
- </div>
1134
- </div>
1135
- </div>
1136
- </div>
1137
- </div>
1138
- )}
1139
- <div
1140
- className={`${productinfo_cssstyles.cardcontainer}` + ' mb-3 '}
1141
- style={{ cursor: 'pointer' }}
1142
- onClick={() => {
1143
- routingcountext(StaticPagesLinksContext.Policies);
1144
- }}
1145
- >
1146
- <div className="row m-0 w-100">
1147
- <div className="col-lg-12 pl-1 pr-1 d-flex align-items-center">
1148
- <i className="h-100 d-flex align-items-center justify-content-center">
1149
- <FaShippingFast
1150
- size={18}
1151
- style={{
1152
- color: sectionproperties.generaliconcolor,
1153
- }}
1154
- />
1155
- </i>
1156
- <p
1157
- className="m-0 p-0 ml-2 mr-2 wordbreak"
1158
- style={{
1159
- fontSize: sectionproperties.generaltext_fontSize + 'px',
1160
- color: sectionproperties.generaltext_fontColor,
1161
- textTransform: sectionproperties.generaltext_textTransform,
1162
- fontWeight: sectionproperties.generaltext_fontWeight,
1163
- cursor: 'pointer',
1164
- }}
1165
- >
1166
- {langdetect == 'en' ? returnpolicyobj('Shipping Policy')?.policypagename_en : returnpolicyobj('Shipping Policy')?.policypagename_ar}
1167
- {/* {lang.shippingpolicy} */}
1168
- </p>
1169
- </div>
1170
- <div className="col-lg-12 pl-1 pr-1">
1171
- <hr className="mt-2 mb-2" />
1172
- </div>
1173
- <div className="col-lg-12 pl-1 pr-1 d-flex justify-content-start">
1174
- <p
1175
- className="m-0 p-0 wordbreak"
1176
- style={{
1177
- fontSize: sectionproperties.secondaryfontsize + 'px',
1178
- color: sectionproperties.text_secondarycolor,
1179
- lineClamp: 20,
1180
- WebkitLineClamp: 20,
1181
- }}
1182
- dangerouslySetInnerHTML={{
1183
- __html: langdetect == 'en' ? returnpolicyobj('Shipping Policy')?.policycontent_en : returnpolicyobj('Shipping Policy')?.policycontent_ar,
1184
- }}
1185
- ></p>
1186
- </div>
1187
- </div>
1188
- </div>
1189
- <div
1190
- className={`${productinfo_cssstyles.cardcontainer}` + ' mb-3 '}
1191
- style={{ cursor: 'pointer' }}
1192
- onClick={() => {
1193
- routingcountext(StaticPagesLinksContext.Policies);
1194
- }}
1195
- >
1196
- <div className="row m-0 w-100">
1197
- <div className="col-lg-12 pl-1 pr-1 d-flex align-items-center">
1198
- <i className="h-100 d-flex align-items-center justify-content-center">
1199
- <MdOutlinePolicy
1200
- size={18}
1201
- style={{
1202
- color: sectionproperties.generaliconcolor,
1203
- }}
1204
- />
1205
- </i>
1206
- <p
1207
- className="m-0 p-0 ml-2 mr-2 wordbreak"
1208
- style={{
1209
- fontSize: sectionproperties.generaltext_fontSize + 'px',
1210
- color: sectionproperties.generaltext_fontColor,
1211
- textTransform: sectionproperties.generaltext_textTransform,
1212
- fontWeight: sectionproperties.generaltext_fontWeight,
1213
- }}
1214
- >
1215
- {langdetect == 'en' ? returnpolicyobj('Refund Policy')?.policypagename_en : returnpolicyobj('Refund Policy')?.policypagename_ar}
1216
- </p>
1217
- </div>
1218
- <div className="col-lg-12 pl-1 pr-1">
1219
- <hr className="mt-2 mb-2" />
1220
- </div>
1221
- <div className="col-lg-12 pl-1 pr-1 d-flex justify-content-start">
1222
- <p
1223
- className="m-0 p-0 wordbreak"
1224
- style={{
1225
- fontSize: sectionproperties.secondaryfontsize + 'px',
1226
- color: sectionproperties.text_secondarycolor,
1227
- lineClamp: 20,
1228
- WebkitLineClamp: 20,
1229
- }}
1230
- dangerouslySetInnerHTML={{
1231
- __html: langdetect == 'en' ? returnpolicyobj('Refund Policy')?.policycontent_en : returnpolicyobj('Refund Policy')?.policycontent_ar,
1232
- }}
1233
- ></p>
1234
- </div>
1235
- </div>
1236
- </div>
1237
- <div className={`${productinfo_cssstyles.cardcontainer}` + ' mb-3 '}>
1238
- <div className="row m-0 w-100">
1239
- <i className="h-100 d-flex align-items-center justify-content-center text-light mt-1">
1240
- <HiOutlinePhone
1241
- size={20}
1242
- style={{
1243
- color: sectionproperties.generaliconcolor,
1244
- }}
1245
- />
1246
- </i>
1247
- <div className="col-lg-10 col-md-10 col-sm-10 d-flex justify-content-start">
1248
- <div className="row m-0 w-100">
1249
- <div className="col-lg-12 p-0 d-flex justify-content-start">
1250
- <p
1251
- className="m-0 p-0 wordbreak"
1252
- style={{
1253
- fontSize: sectionproperties.generaltext_fontSize + 'px',
1254
- color: sectionproperties.generaltext_fontColor,
1255
- textTransform: sectionproperties.generaltext_textTransform,
1256
- fontWeight: sectionproperties.generaltext_fontWeight,
1257
- }}
1258
- >
1259
- {lang.callus}
1260
- </p>
1261
- </div>
1262
- <div className="col-lg-12 p-0 d-flex justify-content-start">
1263
- <p
1264
- className="m-0 p-0 wordbreak"
1265
- style={{
1266
- fontSize: sectionproperties.secondaryfontsize + 'px',
1267
- color: sectionproperties.text_secondarycolor,
1268
- }}
1269
- >
1270
- {authdetailsContext?.instinfo?.contactinfo?.mobile}
1271
- </p>
1272
- </div>
1273
- </div>
1274
- </div>
1275
- </div>
1276
- </div>
1277
- </div>
1278
- </div>
1279
- )}
1280
- </div>
1281
- {/* {FetchRelatedProductsQuery.isSuccess && FetchRelatedProductsQuery.data.data.productsrelated.length != 0 && (
1282
- <div className="w-100 row m-0 d-flex justify-content-start">
1283
- <div className="col-lg-12">
1284
- <hr className="mt-0" />
1285
- </div>
1286
- <div
1287
- className="col-lg-12"
1288
- style={{
1289
- background: sectionproperties.relatedproductsbg,
1290
- paddingTop: sectionproperties.relatedproductspaddingTop + 'px',
1291
- paddingBottom: sectionproperties.relatedproductspaddingBottom + 'px',
1292
- paddingLeft: sectionproperties.relatedproductspaddingLeft + 'px',
1293
- paddingRight: sectionproperties.relatedproductspaddingRight + 'px',
1294
- borderTopLeftRadius: sectionproperties.relatedproductsbgbtlr + 'px',
1295
- borderTopRightRadius: sectionproperties.relatedproductsbgbtrr + 'px',
1296
- borderBottomLeftRadius: sectionproperties.relatedproductsbgbblr + 'px',
1297
- borderBottomRightRadius: sectionproperties.relatedproductsbgbbrr + 'px',
1298
- boxShadow: sectionproperties.relatedproductsbgbbrrshowshadow == 'Show' ? '0 0 10px ' + sectionproperties.relatedproductsshadowcolor : 'none',
1299
- }}
1300
- >
1301
- <div className="row m-0 w-100">
1302
- <div className="col-lg-12 col-md-12 col-sm-12 d-flex align-items-center p-0 mb-2">
1303
- <div className={`${generalstyles.sectiontitlecont} `}>
1304
- {sectionproperties.relatedproductstitlestyle == 'Line Under Text' && (
1305
- <div className="col-lg-12 col-md-12 col-sm-12 d-flex align-items-center p-0">
1306
- <div className={`${generalstyles.sectiontitlecont} `}>
1307
- <div className={' col-lg-12 d-flex align-items-center p-0'}>
1308
- <span
1309
- className={`${productinfo_cssstyles.sectiontitlespan}`}
1310
- style={{
1311
- fontSize: sectionproperties.relatedproductstitlefontsize + 'px',
1312
- color: sectionproperties.relatedproductstitlecolor,
1313
- fontWeight: sectionproperties.relatedproductstitlefontweight,
1314
- textTransform: sectionproperties.relatedproductstitletextTransform,
1315
- }}
1316
- >
1317
- {lang.relatedproducts}
1318
- </span>
1319
- </div>
1320
- </div>
1321
- </div>
1322
- )}
1323
- {sectionproperties.relatedproductstitlestyle == 'Line Before Text' && (
1324
- <div
1325
- className="col-lg-12 col-md-12 col-sm-12 d-flex align-items-center p-0"
1326
- style={{
1327
- justifyContent: sectionproperties.sectiontitleposition == 'Centered' ? 'center' : '',
1328
- }}
1329
- >
1330
- <div className={`${generalstyles.sectiontitlecont2}`}>
1331
- <span
1332
- className={`${productinfo_cssstyles.sectiontitlespan2}` + ' pl-3 '}
1333
- style={{
1334
- fontSize: sectionproperties.relatedproductstitlefontsize + 'px',
1335
- color: sectionproperties.relatedproductstitlecolor,
1336
- fontWeight: sectionproperties.relatedproductstitlefontweight,
1337
- textTransform: sectionproperties.relatedproductstitletextTransform,
1338
- }}
1339
- >
1340
- Related
1341
- <br /> Products
1342
- </span>
1343
- </div>
1344
- </div>
1345
- )}
1346
- </div>
1347
- </div>
1348
-
1349
- <div className="col-lg-12 p-0 pl-md-2 pr-md-2">
1350
- <ScrollMenu
1351
- // onWheel={onWheel}
1352
- transitionBehavior={'auto'}
1353
- wrapperClassName={''}
1354
- itemClassName={'scrollmenuclassnameitem'}
1355
- scrollContainerClassName={'scrollmenuclasssubscrollbar'}
1356
- >
1357
- {FetchRelatedProductsQuery.data.data.productsrelated.map((item, index) => {
1358
- if (item.productid != fetchProductInfoQueryContext.data.data.productinfo.productid) {
1359
- return (
1360
- <div
1361
- className="col-lg-12 w-100 p-2"
1362
- onClick={() => {
1363
- if (props.srcfromprops != 'templatdraftrouter') {
1364
- productidassigner(item.productid);
1365
- } else {
1366
- routingcountext(StaticPagesLinksContext.productinfo, true, item.productid);
1367
- }
1368
- }}
1369
- >
1370
- <div
1371
- className="row w-100 m-0 cursor-pointer p-1"
1372
- style={{ boxShadow: '0 0 10px #ccc', cursor: 'pointer', borderRadius: '10px', background: 'white' }}
1373
- >
1374
- <div className={'col-lg-2 col-md-2 col-sm-2 pl-0'}>
1375
- <div className={productinfo_cssstyles.imagecont}>
1376
- <IKImage
1377
- path={item.productinfo.productmainimage}
1378
- style={{
1379
- borderBottomLeftRadius: sectionproperties.prodimage__borderBottomLeftRadius + 'px',
1380
- borderBottomRightRadius: sectionproperties.prodimage__borderBottomRightRadius + 'px',
1381
- borderTopLeftRadius: sectionproperties.prodimage__borderTopLeftRadius + 'px',
1382
- borderTopRightRadius: sectionproperties.prodimage__borderTopRightRadius + 'px',
1383
- width: '100%',
1384
- height: '100%',
1385
- objectFit: 'cover',
1386
- }}
1387
- loading="lazy"
1388
- />
1389
- </div>
1390
- </div>
1391
- <div className="col-lg-10 col-md-10 col-sm-10 pl-3 ">
1392
- <div className="row m-0 w-100">
1393
- <div className="col-lg-12 col-md-12 col-sm-12 p-0 d-flex justify-content-start">
1394
- <p
1395
- className={`${productinfo_cssstyles.relatedproductNameStyles}` + ' m-0 p-0 module line-clamp d-flex justify-content-start '}
1396
- style={{ fontSize: '15px' }}
1397
- >
1398
- {langdetect == 'en' ? item.productinfo.name_en : item.productinfo.name_ar}
1399
- </p>
1400
- </div>
1401
- <div
1402
- className={
1403
- langdetect == 'en'
1404
- ? `${productinfo_cssstyles.relatedproductPricestyles}` + ' col-lg-12 col-md-12 col-sm-12 p-0 d-flex wordbreak text-right '
1405
- : `${productinfo_cssstyles.relatedproductPricestyles}` + ' col-lg-12 col-md-12 col-sm-12 p-0 d-flex wordbreak text-left '
1406
- }
1407
- >
1408
- <span className={'ml-1 mr-1'}>
1409
- {item.productinfo.hasvariants == 1 ? item.productinfo.variants.variantsaleprice : item.productinfo.defaultsaleprice}{' '}
1410
- {langdetect == 'en' ? 'EGP' : 'ج.م'}
1411
- </span>
1412
- </div>
1413
- </div>
1414
- </div>
1415
- </div>
1416
- </div>
1417
- );
1418
- }
1419
- })}
1420
- </ScrollMenu>
1421
- </div>
1422
- </div>
1423
- </div>
1424
- </div>
1425
- )} */}
1426
- {/* {props.srcfromprops != 'templatedraftrouter' && (
1427
- <div className="col-lg-12 d-flex align-items-center justify-content-center p-0">
1428
- {pageindexcontext.length != 0 && Object.keys(StatePagePropertiesContext).length != 0 && (
1429
- <div className={generalstyles.app_container + ' w-100 '} style={{ position: 'relative' }}>
1430
- {StatePagePropertiesContext.pageobj.sections.map((item, index) => {
1431
- if (item.tabexsectioninfo != null && TabexSectionsComponentsContext[item.tabexsectioninfo.sectioncompname] != undefined && item.componenttype == 'section') {
1432
- var sectioncomp = TabexSectionsComponentsContext[item.tabexsectioninfo.sectioncompname];
1433
- return (
1434
- <div className="row w-100 ml-0 mr-0 d-flex justify-content-center p-0">
1435
- {item.tabexsectioninfo.sectiontype == 'Cards' && (
1436
- <ProductsCardsSectionContext_Provider>
1437
- {React.createElement(sectioncomp, {
1438
- sectionidprops: item.sectionid,
1439
- sectionindexprops: index,
1440
- srcfromprops: 'GeneralProductsComponent',
1441
- collectionidprops: collectionidparams,
1442
- })}
1443
- </ProductsCardsSectionContext_Provider>
1444
- )}
1445
- {item.tabexsectioninfo.sectiontype != 'Cards' && React.createElement(sectioncomp, { sectionidprops: item.sectionid, sectionindexprops: index })}
1446
- </div>
1447
- );
1448
- }
1449
- })}
1450
- </div>
1451
- )}
1452
- </div>
1453
- )} */}
1454
- </div>
1455
- );
1456
- };
1457
- export default Productinfo;