Advertisement
Guest User

CART2.0

a guest
Feb 18th, 2020
103
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 32.14 KB | None | 0 0
  1. import React, { Fragment } from "react"
  2.  
  3. export function Cart() {
  4. return (
  5. <Fragment>
  6. <Root>
  7. <Form>
  8. <Title></Title>
  9. <ErrorMessage></ErrorMessage>
  10. <Grid></Grid>
  11. <DeliveryMethods></DeliveryMethods>
  12. <PaymentMethods></PaymentMethods>
  13. <Promocode></Promocode>
  14. <OrderForm></OrderForm>
  15. </Form>
  16. </Root>
  17. <Modal></Modal>
  18. </Fragment>
  19. )
  20. }
  21.  
  22. function Product() {
  23. return (
  24. <div className="md-shopcart__grid-item custom-border-bottom de--shopcart__border-color">
  25. <div className="md-shopcart__item-photo ">
  26. <a
  27. className="item-photo__link"
  28. href="http://vigbocms.loc/le-shop/luiza"
  29. target="_blank"
  30. rel="noopener noreferrer"
  31. >
  32. <img
  33. // Как ловить copy-protect?
  34. className="item-photo__img copy-protect"
  35. src="//shop.loc/vigbo-cms/storage/shops/94274/products/10831733/images/2-6108c1bebb902d9ad428e084b68577b4.jpg"
  36. alt="Мишка Луиза"
  37. />
  38. </a>
  39. </div>
  40.  
  41. <div className="md-shopcart__item-main td-size-xl-magic">
  42. <div className="md-shopcart__item-title ">
  43. <a
  44. href="http://vigbocms.loc/le-shop/luiza"
  45. target="_blank"
  46. rel="noopener noreferrer"
  47. className="de--shopcart__desc-color"
  48. >
  49. <span className="item-title__name de--shopcart__desc-font-size">Мишка Луиза</span>
  50. <span className="item-title__sku de--shopcart__sku-font-size de--shopcart__sku-color ">
  51. <span className="sku-item">Цвет: Черный</span>
  52. </span>
  53. </a>
  54. </div>
  55. </div>
  56.  
  57. <div className="md-shopcart__item-price mod--align-center td-size-l de--shopcart__desc-font-size de--shopcart__desc-color ">
  58. 1 300 pуб.
  59. </div>
  60. <div className="md-shopcart__item-count mod--align-center td-size-l">
  61. <div className="box-control form__field-box ">
  62. <div className="box-number-with-control">
  63. <span className="control-minus">
  64. <MinusIcon></MinusIcon>
  65. </span>
  66.  
  67. <input
  68. type="tel"
  69. name="data[cart][items][14801301]"
  70. value="1"
  71. className="box-number__input textbox skuCount de--shopcart__desc-color form__field form__field_bg form__field_bdc form__field_c form__field_ff form__field_fs form__field_fw form__field_ls autotest--sku-count"
  72. data-max-quantity="0"
  73. data-update-stock="0"
  74. data-max-available="0"
  75. data-border-type="square"
  76. data-border-width="3"
  77. />
  78.  
  79. <span className="control-plus">
  80. <PlusIcon></PlusIcon>
  81. </span>
  82. </div>
  83. <div className="box-control__count de--shopcart__page-font autotest--product-count ">
  84. В наличии: <span className="box-control__count-number de--shopcart__page-font">0</span>
  85. </div>
  86. </div>
  87. </div>
  88. <div
  89. className="md-shopcart__item-amount mod--flex-column__end td-size-m de--shopcart__desc-font-size de--shopcart__desc-color"
  90. data-total="1300"
  91. >
  92. <span id="item_14801301_total_price">1 300 pуб.</span>
  93. </div>
  94. <div className="md-shopcart__item-delete mod--align-right td-size-s">
  95. <a
  96. className="de--shopcart__desc-color autotest--shopcart-delete-product"
  97. href="http://vigbocms.loc/le-shop/cart/sku/14801301/delete"
  98. >
  99. <TrashIcon></TrashIcon>
  100. </a>
  101. </div>
  102. </div>
  103. )
  104. }
  105.  
  106. function DeliveryMethod() {
  107. return (
  108. <div className="md-shopcart__delivery-item md-shopcart__radio-line">
  109. <input
  110. type="radio"
  111. id="delivery_method_id_176930"
  112. className="md-radio shop-delivery-radio"
  113. data-delivery-order-tax="450"
  114. data-delivery-product-tax="0"
  115. data-delivery-free="0"
  116. data-delivery-free-category="[]"
  117. data-disable-payments="[]"
  118. value="176930"
  119. name="data[delivery][delivery_method_id]"
  120. checked=""
  121. />
  122. <label htmlFor="delivery_method_id_176930" className="md-radio__label-shopcart">
  123. <div className="delivery-item__title radio-line__title de--shopcart__payment-font-size de--shopcart__payment-color">
  124. НАЗВАНИЕ МЕТОДА ДОСТАВКИ
  125. </div>
  126. <div className="delivery-item__price radio-line__price de--shopcart__payment-font-size de--shopcart__payment-color">
  127. 450 pуб.
  128. </div>
  129. <div className="td-size-s mod--mobile-hide"></div>
  130. </label>
  131. </div>
  132. )
  133. }
  134.  
  135. function PaymentMethods() {
  136. return (
  137. <div id="payment-methods" className="md-shopcart__payment" data-amount="23300">
  138. <div className="md-shopcart__payment-head de--shopcart__header-font-size de--shopcart__header-color">
  139. Выберите способ оплаты
  140. </div>
  141. <PaymentMethod></PaymentMethod>
  142. </div>
  143. )
  144. }
  145.  
  146. function PaymentMethod() {
  147. return (
  148. <div
  149. className="md-shopcart__payment-item md-shopcart__radio-line show"
  150. data-payment-method-id="3"
  151. data-payment-method-parent-id=""
  152. >
  153. <input
  154. type="radio"
  155. id="payment_method_id_3"
  156. className="md-radio shop-payment-radio js--shopcart__payment-radio"
  157. value="3"
  158. name="data[payment][payment_method_id]"
  159. />
  160. <label htmlFor="payment_method_id_3" className="md-radio__label-shopcart ">
  161. <div className="payment-item__description radio-line__title de--shopcart__payment-font-size de--shopcart__payment-color">
  162. ОПЛАТА КРОВЬЮ
  163. </div>
  164. <div className="payment-item__payment radio-line__price de--shopcart__payment-font-size de--shopcart__payment-color">
  165. 10 450 pуб.
  166. </div>
  167. <div className="td-size-s mod--mobile-hide"></div>
  168. </label>
  169.  
  170. <div className="shop-border-block">
  171. <i className="shop-payment-method-border custom-border-bottom de--shopcart__border-color"></i>
  172. </div>
  173. </div>
  174. )
  175. }
  176.  
  177. function Promocode() {
  178. return (
  179. <div className="md-shopcart__line md-shopcart__promo-summ custom-border-bottom custom-border-top de--shopcart__border-color">
  180. <div className="md-shopcart__promocode">
  181. <div className="md-shopcart__promocode-promo">
  182. <a
  183. href="/"
  184. className="shop-promo-link de--shopcart__desc-color de--shopcart__promo-font-size autotest--shopcart-promo-link"
  185. id="shop-promo-link"
  186. >
  187. У вас есть промо-код?
  188. </a>
  189.  
  190. <div className="shop-promo-slidebox" id="shop-promo-slidebox">
  191. <span
  192. className="shop-promo-msg de--shopcart__desc-color de--shopcart__promo-font-size"
  193. id="shop-promo-msg"
  194. style={{ display: "none" }}
  195. ></span>
  196.  
  197. <div className="form__promocode-box">
  198. <div className="form__field-box">
  199. <div
  200. className="form__field form__field_bg form__field_bdc form__field_c form__field_ff form__field_fs form__field_fw form__field_ls"
  201. data-border-type="square"
  202. data-border-width="3"
  203. >
  204. <input
  205. type="text"
  206. className="shop-promo-code form__field_field form__field_c form__field_ff form__field_fs form__field_fw form__field_ls"
  207. id="shop-promo-code"
  208. data-go-placeholder=""
  209. />
  210. <label className="form__placeholder">Введите промо-код</label>
  211. </div>
  212. </div>
  213.  
  214. <input type="hidden" id="shop-promo-code-h" className="js--promocode-code-h" name="data[promocode]" />
  215. <a
  216. href="/"
  217. className="shop-apply-promo de--shopcart__desc-color de--shopcart__promo-font-size"
  218. id="shop-apply-promo"
  219. >
  220. Применить
  221. </a>
  222. </div>
  223. </div>
  224. </div>
  225. </div>
  226. <div className="md-shopcart__total-amount mod--align-right custom-border-top de--shopcart__border-color de--shopcart__total-price-font-size de--shopcart__total-price-color">
  227. <span className="total-amount__text ">Итоговая сумма к оплате:</span>
  228.  
  229. <span
  230. id="totalPriceWithDelivery"
  231. className="total-amount__price js--shopcart__total-price-wd autotest--total-price-with-delivery"
  232. data-total-items-price="23300"
  233. >
  234. 23 750 pуб.
  235. </span>
  236. <div id="preloader" className="bodymovin-preloader js--md-search-input-preloader">
  237. <svg
  238. xmlns="http://www.w3.org/2000/svg"
  239. viewBox="0 0 16 16"
  240. width="16"
  241. height="16"
  242. preserveAspectRatio="xMidYMid meet"
  243. style={{ width: "100%", height: "100%" }}
  244. >
  245. <defs>
  246. <clipPath id="animationMask_B7dvKnGT6R">
  247. <rect width="16" height="16" x="0" y="0"></rect>
  248. </clipPath>
  249. </defs>
  250. <g clip-path="url(#animationMask_B7dvKnGT6R)">
  251. <g transform="matrix(0.95,0,0,0.95,-307.563,41.594)" opacity="0.43" style={{ userSelect: "none" }}>
  252. <g opacity="1" transform="matrix(1,0,0,1,332.094,-35.531)">
  253. <path
  254. stroke-linecap="round"
  255. stroke-linejoin="miter"
  256. fill-opacity="0"
  257. stroke-miterlimit="4"
  258. stroke="rgb(121,121,121)"
  259. stroke-opacity="1"
  260. stroke-width="1"
  261. d="M0 0 M-0.633,-6.877 C-0.425,-6.897 -0.214,-6.906 0,-6.906"
  262. ></path>
  263. </g>
  264. </g>
  265. </g>
  266. </svg>
  267. </div>
  268. </div>
  269. <div className="td-size-s mod--mobile-hide"></div>
  270. </div>
  271. )
  272. }
  273.  
  274. function OrderForm() {
  275. return (
  276. <div className="md-shopcart__form">
  277. <div className="form__info">
  278. <div className="form__info-title de--shopcart__header-font-size de--shopcart__header-color ">
  279. Важная информация:{" "}
  280. </div>
  281. <div className="form__info-text de--shopcart__info-font-size de--shopcart__info-color de--common__link-color ">
  282. Здесь вы можете написать какие-то пояснения, которые помогут вашим клиентам не растеряться и понимать, какой
  283. порядок действий им необходимо произвести для оформления, какие шаги необходимо пройти от оформления заявки до
  284. получения продукта. Все-все нюансы и детали, которые помогут вашим клиентам ничего не опасаться и без сомнений
  285. нажать кнопку “ОФОРМИТЬ ПОКУПКУ”.{" "}
  286. </div>
  287. </div>
  288.  
  289. <div id="inputs-form" className="form__inputs de--common__link-color" style={{ opacity: "1" }}>
  290. <span className="form__inputs-title de--shopcart__header-font-size de--shopcart__header-color ">
  291. Заполните ваши данные:
  292. </span>
  293. <div className="form__field-box">
  294. <div
  295. className="form__placeholder-box form__field form__field_bg form__field_bdc form__field_c form__field_ff form__field_fs form__field_fw form__field_ls"
  296. data-border-type="square"
  297. data-border-width="3"
  298. >
  299. <input
  300. className="form__field_field form__field_c form__field_ff form__field_fs form__field_fw form__field_ls"
  301. data-go-placeholder=""
  302. type="text"
  303. value=""
  304. name="data[fields][5603435]"
  305. data-required="y"
  306. />
  307. <label className="form__placeholder ">Имя*</label>
  308. </div>
  309. <div className="form__field-indent"></div>
  310. </div>
  311. <div className="form__field-box">
  312. <div
  313. className="form__placeholder-box form__field form__field_bg form__field_bdc form__field_c form__field_ff form__field_fs form__field_fw form__field_ls"
  314. data-border-type="square"
  315. data-border-width="3"
  316. >
  317. <input
  318. className="form__field_field form__field_c form__field_ff form__field_fs form__field_fw form__field_ls"
  319. data-go-placeholder=""
  320. type="email"
  321. value=""
  322. name="data[fields][5603441]"
  323. data-required="y"
  324. />
  325. <label className="form__placeholder ">Email*</label>
  326. </div>
  327. <div className="form__field-indent"></div>
  328. </div>
  329. <div className="form__field-box">
  330. <label className="form__checkbox_label form__text_color form__field_fs">
  331. <input
  332. type="checkbox"
  333. className="form__checkbox"
  334. name="data[fields][5603469]"
  335. data-required="n"
  336. data-border-type="circle"
  337. value="y"
  338. />
  339. <span className="form__checkbox_box">
  340. <span
  341. className="form__checkbox_checkbox form__field_bg form__field_bdc"
  342. data-border-type="square"
  343. data-border-width="3"
  344. ></span>
  345. </span>
  346. <span className="form__checkbox_text">
  347. <span>ТЕСТОВЫЙ ЧЕКБОКС</span>
  348. </span>
  349. </label>
  350. <div className="form__field-indent"></div>
  351. </div>
  352. <div className="form__field-box form__field-box_textarea">
  353. <div
  354. className="form__field form__textarea mod--custom-scroll-resize ps is-ps-init form__field_bg form__field_bdc form__field_c form__field_ff form__field_fs form__field_fw form__field_ls"
  355. data-custom-scroll="1"
  356. data-border-type="square"
  357. data-border-width="3"
  358. >
  359. <textarea
  360. className="form__textarea_tarea"
  361. data-go-placeholder=""
  362. name="data[fields][5603471]"
  363. data-required="n"
  364. style={{ overflow: "hidden", overflowWrap: "break-word", height: "89px" }}
  365. ></textarea>
  366. <div
  367. className="form__placeholder-box form__field form__field_bg form__field_bdc form__field_c form__field_ff form__field_fs form__field_fw form__field_ls"
  368. data-border-type="square"
  369. data-border-width="3"
  370. >
  371. <label className="form__placeholder ">Мишка Луиза</label>
  372. </div>
  373. <div className="ps__rail-x" style={{ left: "0px", bottom: "0px" }}>
  374. <div className="ps__thumb-x" tabindex="0" style={{ left: "0px", width: "0px" }}></div>
  375. </div>
  376. <div className="ps__rail-y" style={{ top: "0px", right: "0px" }}>
  377. <div className="ps__thumb-y" tabindex="0" style={{ top: "0px", height: "0px" }}></div>
  378. </div>
  379. </div>
  380. <div className="form__field-indent"></div>
  381. </div>
  382. <div className="form__field-box">
  383. <div className="md-select-custom js--select-custom">
  384. <div
  385. className="md-select-custom__select selectize-control options form__select"
  386. placeholder="Тестовая выпадалка"
  387. >
  388. <div
  389. className="md-select-custom__input selectize-input items form__field_bg form__field_bdc form__field_c"
  390. data-border-type=""
  391. data-border-width=""
  392. >
  393. <div className="md-select-custom__item item" data-value="0">
  394. <span className="md-select-custom__item-inner item-inner js--select-custom__item-inner"></span>
  395. </div>
  396. </div>
  397. </div>
  398. <select
  399. className="form__select selectized"
  400. name="data[fields][5603472]"
  401. data-required="n"
  402. data-scroll-type="css"
  403. placeholder="Тестовая выпадалка"
  404. tabindex="-1"
  405. style={{ display: "none" }}
  406. >
  407. <option value="" selected="selected"></option>
  408. </select>
  409. <div className="selectize-control form__select single">
  410. <div
  411. className="selectize-input items not-full has-options form__field_bg form__field_bdc form__field_c"
  412. data-border-type="square"
  413. data-border-width="3"
  414. >
  415. <div className="selectize-placeholder form__placeholder">Тестовая выпадалка</div>
  416. <input
  417. type="text"
  418. autocomplete="off"
  419. tabindex=""
  420. placeholder="Тестовая выпадалка"
  421. style={{ width: "173.547px" }}
  422. />
  423. </div>
  424. <div
  425. className="selectize-dropdown single form__select form__field_bg-select form__field_bdc form__field_c"
  426. style={{ display: "none", width: "321.031px", top: "55px", left: "0px" }}
  427. data-border-type="square"
  428. data-border-width="3"
  429. >
  430. <div className="selectize-dropdown-content"></div>
  431. </div>
  432. </div>
  433. </div>
  434. <div className="form__field-indent"></div>
  435. </div>{" "}
  436. <div className="form__field-box">
  437. <div
  438. className="form__placeholder-box form__field form__field_bg form__field_bdc form__field_c form__field_ff form__field_fs form__field_fw form__field_ls"
  439. data-border-type="square"
  440. data-border-width="3"
  441. >
  442. <input
  443. className="form__field_field form__field_c form__field_ff form__field_fs form__field_fw form__field_ls"
  444. data-go-placeholder=""
  445. type="text"
  446. value=""
  447. name="data[fields][5603473]"
  448. data-required="n"
  449. />
  450. <label className="form__placeholder ">Отвертка t6</label>
  451. </div>
  452. <div className="form__field-indent"></div>
  453. </div>{" "}
  454. <div className="form__field-box">
  455. <div
  456. className="form__placeholder-box form__field form__field_bg form__field_bdc form__field_c form__field_ff form__field_fs form__field_fw form__field_ls"
  457. data-border-type="square"
  458. data-border-width="3"
  459. >
  460. <input
  461. className="form__field_field form__field_c form__field_ff form__field_fs form__field_fw form__field_ls"
  462. data-go-placeholder=""
  463. type="text"
  464. value=""
  465. name="data[fields][5603474]"
  466. data-required="n"
  467. />
  468. <label className="form__placeholder ">Cifrovoj tovar </label>
  469. </div>
  470. </div>
  471. <div className="form__inputs-errors">
  472. <span
  473. id="shop-delivery-error"
  474. className="error md-shopcart__delivery-error js--shopcart__errors-delivery"
  475. style={{ display: "none" }}
  476. >
  477. Выберите вариант доставки
  478. </span>
  479. <span id="shop-payment-error" className="error md-shopcart__delivery-error js--shopcart__errors-payment">
  480. Выберите способ оплаты
  481. </span>
  482. <span
  483. id="shop-sku-quantity-error-bottom"
  484. className="error md-shopcart__delivery-error js--shopcart__errors-quantity"
  485. >
  486. К сожалению, введенного количества товара нет в наличии.
  487. </span>
  488. <span
  489. id="deliveryDisableMethodError"
  490. className="error md-shopcart__delivery-error js--shopcart__errors-delivery-disable"
  491. >
  492. Выбранный способ доставки в данный момент не доступен
  493. </span>
  494. <span
  495. id="paymentDisableMethodError"
  496. className="error md-shopcart__delivery-error js--shopcart__errors-payment-disable"
  497. >
  498. Выбранный метод оплаты в данный момент не доступен
  499. </span>
  500. <span
  501. id="existPaymentMethodError"
  502. className="error md-shopcart__delivery-error js--shopcart__errors-payment-exist"
  503. style={{ display: "none" }}
  504. >
  505. cart-exist-payment-method-error
  506. </span>
  507. <span id="totalCostChanged" className="error md-shopcart__delivery-error js--shopcart__errors-total-сost">
  508. cart-total-cost-changed-error
  509. </span>
  510. </div>
  511. <div className="form__btn-box">
  512. <button
  513. className="form__btn progress-button autotest--form-btn-submit"
  514. data-style="top-line"
  515. data-horizontal=""
  516. data-type-submit="true"
  517. type="button"
  518. name="data[btn-submit]"
  519. value=""
  520. data-border-type="square-btn"
  521. data-button-paddings="90"
  522. >
  523. <span className="form__btn_cont">ОФОРМИТЬ ПОКУПКУ</span>
  524. </button>
  525. </div>
  526. <div className="form__btn-box de--common__link-color de--shopcart__info-font-size de--shopcart__info-color"></div>
  527. </div>
  528. </div>
  529. )
  530. }
  531.  
  532. // Refactor with portals
  533. function Modal() {
  534. return (
  535. <div id="frontModal" className="front-modal-wrap">
  536. <div className="front-modal">
  537. <div className="close-popup">
  538. <svg width="12px" height="12px" viewBox="0 0 12 12">
  539. <g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
  540. <g id="icon" transform="translate(-893.000000, -308.000000)" fill="currentColor" fill-rule="nonzero">
  541. <path
  542. d="M898.46967,313.46967 L899.53033,313.46967 L899,312.93934 L898.46967,313.46967 L897.93934,314 L893.46967,309.53033 C892.762563,308.823223 893.823223,307.762563 894.53033,308.46967 L899,312.93934 L903.46967,308.46967 C904.176777,307.762563 905.237437,308.823223 904.53033,309.53033 L900.06066,314 L904.53033,318.46967 C905.237437,319.176777 904.176777,320.237437 903.46967,319.53033 L899,315.06066 L894.53033,319.53033 C893.823223,320.237437 892.762563,319.176777 893.46967,318.46967 L897.93934,314 L898.46967,313.46967 Z M899.53033,313.46967 L899,312.93934 L898.46967,313.46967 L899.53033,313.46967 C899.237437,313.176777 898.762563,313.176777 898.46967,313.46967 L899.53033,313.46967 Z"
  543. id="icon_small"
  544. ></path>
  545. </g>
  546. </g>
  547. </svg>
  548. </div>
  549. <div className="front-modal__dialog"></div>
  550. <div className="front-modal__buttons">
  551. <a className="btn btn-success autotest--shopcart-btn-success" href="/">
  552. shop-confirm-message-positive
  553. </a>
  554. <a className="btn btn-default" href="/" onclick="return false">
  555. shop-confirm-message-negative
  556. </a>
  557. </div>
  558. </div>
  559. </div>
  560. )
  561. }
  562.  
  563. function DeliveryMethods() {
  564. return (
  565. <div className="md-shopcart__delivery">
  566. <div className="md-shopcart__delivery-head de--shopcart__header-font-size de--shopcart__header-color ">
  567. Выберите способ доставки:
  568. </div>
  569.  
  570. {/* Заготовка для СДЭК */}
  571. <LocationSelector></LocationSelector>
  572. <DeliveryMethod></DeliveryMethod>
  573. </div>
  574. )
  575. }
  576.  
  577. function Title() {
  578. return <div className="md-shopcart__title de--shopcart__header-font-size de--shopcart__header-color ">Корзина</div>
  579. }
  580.  
  581. function ErrorMessage() {
  582. return (
  583. <span id="shop-min-sum-error" data-conside-promocode="y" className="md-shopcart__delivery-error">
  584. <span className="js--shop-min-sum-error__default">
  585. Обратите внимание, минимальная сумма заказа <span id="minSum"></span> Для совершения покупки добавьте в корзину
  586. товаров на <span id="addSum"></span>
  587. </span>
  588. <span className="js--shop-min-sum-error__use-promocode" style={{ display: "none" }}>
  589. Обратите внимание, минимальная сумма заказа <span id="minSum"></span> Сумма погашенная промокодом не учитывается
  590. в минимальном заказе. Для совершения покупки добавьте в корзину товаров на <span id="addSum"></span>
  591. </span>
  592. </span>
  593. )
  594. }
  595.  
  596. function GridCaption() {
  597. return (
  598. <div className="md-shopcart__grid-head custom-border-bottom de--shopcart__border-color">
  599. <div className="md-shopcart__grid-title mod--title-name mod--align-left td-size-xl de--shopcart__header-th-font-size de--shopcart__header-th-color ">
  600. Продукт
  601. </div>
  602. <div className="md-shopcart__grid-title mod--title-price td-size-l de--shopcart__header-th-font-size de--shopcart__header-th-color ">
  603. Цена
  604. </div>
  605. <div className="md-shopcart__grid-title mod--title-count td-size-l de--shopcart__header-th-font-size de--shopcart__header-th-color ">
  606. Количество
  607. </div>
  608. <div className="md-shopcart__grid-title mod--title-amount mod--align-right td-size-m de--shopcart__header-th-font-size de--shopcart__header-th-color ">
  609. Сумма
  610. </div>
  611. <div className="md-shopcart__grid-title td-size-s mod--mobile-hide"></div>
  612. </div>
  613. )
  614. }
  615.  
  616. function GridFooter() {
  617. return (
  618. <div className="md-shopcart__grid-footer">
  619. <div className="md-shopcart__item-total td-size-xxl de--shopcart__desc-font-size de--shopcart__desc-color">
  620. Общая стоимость заказа/покупки:
  621. </div>
  622. <div className="md-shopcart__item-total mod--flex-column__end td-size-m de--shopcart__desc-font-size de--shopcart__desc-color">
  623. <span id="totalPrice" data-price="22000" className="item-total__price">
  624. 22 000 pуб.
  625. </span>
  626. </div>
  627. <div className="md-shopcart__item-total td-size-s mod--mobile-hide"></div>
  628. </div>
  629. )
  630. }
  631.  
  632. function GridBody() {
  633. return (
  634. <div className="md-shopcart__grid-body">
  635. <Product></Product>
  636. <Product></Product>
  637. </div>
  638. )
  639. }
  640.  
  641. function Form({ children }) {
  642. return (
  643. <form action="http://vigbocms.loc/le-shop/checkout" id="orderForm" method="post">
  644. {children}
  645. </form>
  646. )
  647. }
  648.  
  649. function Grid() {
  650. return (
  651. <div className="md-shopcart__grid">
  652. <GridCaption></GridCaption>
  653. <GridBody></GridBody>
  654. <GridFooter></GridFooter>
  655. </div>
  656. )
  657. }
  658.  
  659. function Root({ children }) {
  660. return (
  661. <div className="md-shopcart de--shopcart__page-font de--shopcart__header-color autotest--shopcart">{children}</div>
  662. )
  663. }
  664.  
  665. function MinusIcon() {
  666. return (
  667. <svg className="form__field_c" xmlns="http://www.w3.org/2000/svg" width="7" height="1" viewBox="0 0 7 1">
  668. <rect width="7" height="1" rx="0.5" ry="0.5"></rect>
  669. </svg>
  670. )
  671. }
  672.  
  673. function PlusIcon() {
  674. return (
  675. <svg className="form__field_c" xmlns="http://www.w3.org/2000/svg" width="7" height="7" viewBox="0 0 7 7">
  676. <path
  677. d="M126.5,101H124v2.5a0.5,0.5,0,0,1-1,0V101h-2.5a0.5,0.5,0,0,1,0-1H123V97.5a0.5,0.5,0,0,1,1,0V100h2.5A0.5,0.5,0,0,1,126.5,101Z"
  678. transform="translate(-120 -97)"
  679. ></path>
  680. </svg>
  681. )
  682. }
  683.  
  684. function TrashIcon() {
  685. return (
  686. <svg xmlns="http://www.w3.org/2000/svg" width="12px" height="12px" viewBox="0 0 13 13">
  687. <g
  688. fill="none"
  689. fill-rule="evenodd"
  690. stroke="currentColor"
  691. stroke-linecap="round"
  692. stroke-linejoin="round"
  693. stroke-width="1.5"
  694. >
  695. <path d="M4 1h5M1 4h11M2 4l1 8h7l1-8"></path>
  696. </g>
  697. </svg>
  698. )
  699. }
  700.  
  701. function LocationSelector() {
  702. return (
  703. <div
  704. className="md-shopcart__delivery-row custom-border-bottom de--shopcart__border-color"
  705. style={{ display: "none" }}
  706. >
  707. <div className="delivery-block mod--multi td-size-xl">
  708. <div className="delivery-block__item form__field-indent-side">
  709. <div className="form__field-box">
  710. <select
  711. className="form__select selectized"
  712. name=""
  713. data-required=""
  714. placeholder="Страна"
  715. tabindex="-1"
  716. style={{ display: "none" }}
  717. >
  718. <option value="1" selected="selected">
  719. Россия
  720. </option>
  721. </select>
  722. <div className="selectize-control form__select single">
  723. <div
  724. className="selectize-input items full has-options has-items form__field_bg form__field_bdc form__field_c"
  725. data-border-type="square"
  726. data-border-width="3"
  727. >
  728. <div className="selectize-placeholder form__placeholder">Страна</div>
  729. <div className="item" data-value="1">
  730. <span className="item-inner">Россия</span>
  731. </div>
  732. <input type="text" autocomplete="off" tabindex="" placeholder="false" style={{ width: "41.7656px" }} />
  733. </div>
  734. <div
  735. className="selectize-dropdown single form__select form__field_bg-select form__field_bdc form__field_c"
  736. style={{ display: "none", width: "0px", top: "0px", left: "0px" }}
  737. data-border-type="square"
  738. data-border-width="3"
  739. >
  740. <div className="selectize-dropdown-content"></div>
  741. </div>
  742. </div>
  743. <div className="form__field-indent"></div>
  744. </div>
  745. </div>
  746. <div className="delivery-block__item form__field-indent-side">
  747. <div className="form__field-box">
  748. <select
  749. className="form__select selectized"
  750. name=""
  751. data-required=""
  752. placeholder="Регион"
  753. tabindex="-1"
  754. style={{ display: "none" }}
  755. >
  756. <option value="1" selected="selected">
  757. Московская обл
  758. </option>
  759. </select>
  760. <div className="selectize-control form__select single">
  761. <div
  762. className="selectize-input items full has-options has-items form__field_bg form__field_bdc form__field_c"
  763. data-border-type="square"
  764. data-border-width="3"
  765. >
  766. <div className="selectize-placeholder form__placeholder">Регион</div>
  767. <div className="item" data-value="1">
  768. <span className="item-inner">Московская обл</span>
  769. </div>
  770. <input type="text" autocomplete="off" tabindex="" placeholder="false" style={{ width: "41.7656px" }} />
  771. </div>
  772. <div
  773. className="selectize-dropdown single form__select form__field_bg-select form__field_bdc form__field_c"
  774. style={{ display: "none", width: "0px", top: "0px", left: "0px" }}
  775. data-border-type="square"
  776. data-border-width="3"
  777. >
  778. <div className="selectize-dropdown-content"></div>
  779. </div>
  780. </div>
  781. <div className="form__field-indent"></div>
  782. </div>
  783. </div>
  784. </div>
  785. </div>
  786. )
  787. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement