Przeglądaj źródła

add detail sparepart product

Former-commit-id: e2c3db23db
master
yusmar 3 lat temu
rodzic
commit
b4cd24b352
31 zmienionych plików z 2268 dodań i 96 usunięć
  1. +333
    -0
      components/Yamaha/Product/Accessories_Detail.js
  2. +333
    -0
      components/Yamaha/Product/Apparel_Detail.js
  3. +333
    -0
      components/Yamaha/Product/Helmet_Detail.js
  4. +4
    -2
      components/Yamaha/Product/Motor.js
  5. +7
    -7
      components/Yamaha/Product/Motor_Detail.js
  6. +20
    -10
      components/Yamaha/Product/Sparepart.js
  7. +0
    -0
      components/Yamaha/Product/Sparepart_Detail.js
  8. +333
    -0
      components/Yamaha/Product/Yamalube_Detail.js
  9. +334
    -0
      components/Yamaha/Product/Ygp_Detail.js
  10. +45
    -24
      components/Yamaha/Shop/Cart.js
  11. +72
    -45
      components/_App/NavbarYamaha.js
  12. +55
    -0
      pages/yamaha/Product/Accessories_Detail.js
  13. +55
    -0
      pages/yamaha/Product/Apparel_Detail.js
  14. +55
    -0
      pages/yamaha/Product/Helmet_Detail.js
  15. +55
    -0
      pages/yamaha/Product/Yamalube_Detail.js
  16. +59
    -0
      pages/yamaha/Product/Ygp_Detail.js
  17. +0
    -1
      pages/yamaha/Shop/Cart.js
  18. +2
    -2
      public/css/style.css
  19. +27
    -0
      public/images/payment-image/BCA.svg
  20. +22
    -0
      public/images/payment-image/BNI.svg
  21. +19
    -0
      public/images/payment-image/BRI.svg
  22. +44
    -0
      public/images/payment-image/BSI.svg
  23. +32
    -0
      public/images/payment-image/Indomaret.svg
  24. +29
    -0
      public/images/payment-image/Mandiri.svg
  25. +0
    -0
      public/images/payment-image/Mastercard.svg
  26. +0
    -0
      public/images/payment-image/Visa.svg
  27. +0
    -1
      public/images/payment-image/payment-img1.svg
  28. +0
    -1
      public/images/payment-image/payment-img4.svg
  29. +0
    -1
      public/images/payment-image/payment-img5.svg
  30. +0
    -1
      public/images/payment-image/payment-img6.svg
  31. +0
    -1
      public/images/payment-image/payment-img7.svg

+ 333
- 0
components/Yamaha/Product/Accessories_Detail.js Wyświetl plik

@@ -0,0 +1,333 @@
import React from 'react'

//component
import PageBanner from '@/components/Common/PageBanner';
import * as Icon from 'react-feather'
import { useSelector, useDispatch } from 'react-redux'
import { useRouter } from 'next/router'
import { useToasts } from 'react-toast-notifications'

//addon library
import { resetIdCounter, Tab, Tabs, TabList, TabPanel } from 'react-tabs';
resetIdCounter();

import dynamic from 'next/dynamic'
const OwlCarousel = dynamic(import('react-owl-carousel3'))

//library yarn
import NumberFormat from 'react-number-format';
import ReactHtmlParser from "react-html-parser";

//sweet alert
import swal from 'sweetalert';

const options = {
loop: true,
nav: true,
dots: false,
autoplay: true,
items: 1,
smartSpeed: 1000,
autoplayTimeout: 5000,
navText: [
"<i class='bx bx-chevron-left'></i>",
"<i class='bx bx-chevron-right'></i>"
],
};

const ProductDetails = function ({ detailaccessories, backend, user, ...props }) {

const [formValue, setFormValue] = React.useState({
product_img: "",
product_name: "",
product_color: "",
product_price: "",
});

const router = useRouter();

const MotorDetail = detailaccessories.map((data) => {

return (
<div>
<PageBanner pageTitle={data.name} />
<div className="shop-details-area ptb-80">
<div className="container">
<div className="row align-items-center">
<div className="col-lg-5">
<OwlCarousel
className="products-details-image products-details-image-slides owl-carousel owl-theme"
{...options}
>
<img src={`${backend}${data.img["url"]}`} />
</OwlCarousel>
</div>

<div className="col-lg-7">
<div className="products-details">
<h3>{data.name}</h3>
<h3>
<NumberFormat value={data.price1} displayType={'text'} thousandSeparator={true} prefix={'Rp.'} />
</h3>

<ul className="rating">
<li><i className="flaticon-star-1"></i></li>
<li><i className="flaticon-star-1"></i></li>
<li><i className="flaticon-star-1"></i></li>
<li><i className="flaticon-star-1"></i></li>
<li><i className="flaticon-star-1"></i></li>
</ul>

<div className="availability">
Availability: <span>{data.stock}</span>
</div>
<form
onSubmit={async (e) => {
e.preventDefault();
var newformValue = {
...formValue,
product_name: detailproduct[0].name,
}
setFormValue(newformValue)
console.log(JSON.stringify(newformValue));
const response = await fetch(
"/api/transaction/AddToCart",
{
method: "POST",
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify(newformValue),
}
);
if (response.ok) {
var res = await response.json();
console.log("cek response :", res);
if (res["STATUS"] === 1) {
res["DATA"]["cart"];
swal("Produk Berhasil Ditambah ke Keranjang", "Silahkan Cek Keranjang Belanja Anda", "success");
router.push("/yamaha/Shop/Cart");
}
else {
swal("Produk Gagal Ditambah ke Keranjang", "Silahkan Coba Lagi", "error");
}
} else {
swal("Transaksi Gagal", "Silahkan Coba Lagi", "error");
}
return false;
}}

>
{/* <label>Product OTR <span className="required">*</span></label>

<div className="select-box" placeholder="Pilih Harga OTR">
<select className="form-select"
name="product_otr"
onInput={(e) => {
setFormValue({
...formValue,
product_price: e.target.value.toString(),
})
}}
>
<option value="0">- Pilih Product OTR -</option>
{detailproduct.map((option) => (
<option value={option.product_otrs[0].price}>{option.product_otrs[0].name}</option>
))}
{detailproduct.map((option) => (
<option value={option.product_otrs[1].price}>{option.product_otrs[1].name}</option>
))}
{detailproduct.map((option) => (
<option value={option.product_otrs[2].price}>{option.product_otrs[2].name}</option>
))}
</select>
</div>
<br />

<label>Product Color <span className="required">*</span></label>
<div className="select-box" placeholder="Pilih Harga OTR">
<select className="form-select"
name="product_color"
onInput={(e) => {
setFormValue({
...formValue,
product_color: e.target.value.toString()
})
}}
>
<option value="0">- Pilih Product Color -</option>
{detailproduct.map((option) => (
<option value={option.product_image_colors[0].name}>{option.product_image_colors[0].name}</option>
))}
{detailproduct.map((option) => (
<option value={option.product_image_colors[1].name}>{option.product_image_colors[1].name}</option>
))}
{detailproduct.map((option) => (
<option value={option.product_image_colors[2].name}>{option.product_image_colors[2].name}</option>
))}
</select>
</div>
<br /> */}

<button type="submit">Add to Cart</button>

<a href="#" className="add-to-wishlist-btn" title="Add to Wishlist">
<Icon.Heart />
</a>
</form>

<div className="custom-payment-options">
<span>Metode Pembayaran : </span>

<div className="payment-methods">
<img src="/images/payment-image/Mastercard.svg" width="50px" alt="image" />
<img src="/images/payment-image/Visa.svg" width="50px" alt="image" />
<img src="/images/payment-image/BNI.svg" width="50px" alt="image" />
<img src="/images/payment-image/BCA.svg" width="50px" alt="image" />
<img src="/images/payment-image/Mandiri.svg" width="50px" alt="image" />
<img src="/images/payment-image/BSI.svg" width="50px" alt="image" />
<img src="/images/payment-image/Indomaret.svg" width="50px" alt="image" />
</div>
</div>

<div className="products-share-social">
<span>Share:</span>

<ul>
<li>
<a href="#" className="facebook" target="_blank">
<Icon.Facebook />
</a>
</li>
<li>
<a href="#" className="twitter" target="_blank">
<Icon.Twitter />
</a>
</li>
<li>
<a href="#" className="linkedin" target="_blank">
<Icon.Linkedin />
</a>
</li>
<li>
<a href="#" className="instagram" target="_blank">
<Icon.Instagram />
</a>
</li>
</ul>
</div>
</div>
</div>

<div className="col-lg-12 col-md-12">
<div className="products-details-tabs">
<Tabs>
<TabList>
<Tab>Deskripsi</Tab>
<Tab>Info Penting</Tab>
<Tab>Review</Tab>
</TabList>

<TabPanel>
<div className="products-description" align="left">
<p>{ReactHtmlParser(data.description)}</p>
</div>
</TabPanel>

<TabPanel>
<div className="products-description" align="left">
<p>
<p><b>Informasi mengenai prosedur pengiriman, pembelian dan dokumen</b></p>
<ul>
<li>Kota Palembang, Kayu Agung, Prabumulih, Pangkalan Balai, Betung : 2-3 hari kerja*</li>
<li>Untuk daerah Sungsang/daerah lain yang menggunakan kapal motor, maka motor diantar sampai di dermaga sesuai dengan jadwal yang diinformasikan</li>
<li>Sekayu, Babat Toman, Pendopo, Baturaja, Martapura, Muara Dua, Lahat, Tanjung Enim, Tugu Mulyo, Belitang : 4-5 hari kerja*</li>
<li>Lubuk Linggau, Curup, Pagar Alam : 6-7 hari kerja*</li>
</ul>

<p><b>Harga</b></p>
<ul>
<li>Harga OTR sudah termasuk biaya pengiriman dan BBN, kecuali tambahan pengenaan pajak progresif kepemilikan kendaraan bermotor (sesuai dengan peraturan yang telah ditetapkan oleh pemerintah)</li>
<li>Harga OTR diatas berlaku untuk KTP domisili PALEMBANG, OGAN ILIR, dan BANYUASIN, diluar wilayah tersebut harap menghubungi kami untuk konfirmasi harga.</li>
<li>Harga OTR sewaktu-waktu dapat berubah.</li>
<li>Proses pemesanan sepeda motor tidak dapat dibatalkan dan warna yang sudah dipesan tidak dapat diubah.</li>
<li>Proses pemesanan yang terkait waktu pengiriman produk dan kelengkapan dokumen yang dibutuhkan untuk pembuatan STNK dan BPKB akan diinformasikan oleh pihak Dealer.</li>
<li>Proses pengiriman sepeda motor akan dilakukan setelah pelunasan transaksi dan dokumen yang dibutuhkan telah lengkap.</li>
</ul>

<p><b>Dokumen</b></p>
<ul>
<li>Proses pembuatan STNK setelah KTP diterima oleh pihak dealer adalah 19-25 hari kerja*.</li>
<li>Proses pembuatan BPKB adalah 3-4 bulan.</li>
<li>STNK dan BPKB wajib diambil sendiri oleh pihak yang bersangkutan sesuai dengan identitas yang tertera STNK di dealer yang ditunjuk.</li>
<li>Untuk proses pembuatan STNK dan BPKB sepenuhnya menjadi tanggung jawab dealer terkait.</li>
<li>Buku servis diterima bersamaan dengan pengiriman sepeda motor.</li>
</ul>

<p><b>*tidak termasuk Sabtu dan Minggu.</b></p>
</p>
</div>
</TabPanel>

<TabPanel>
<div className="products-reviews">
<h3>Customer Reviews</h3>
<p>There are no reviews yet.</p>

<form className="review-form">
<p>Rate this item:</p>

<div className="star-rating">
<i className='bx bxs-star'></i>
<i className='bx bxs-star'></i>
<i className='bx bxs-star'></i>
<i className='bx bxs-star'></i>
<i className='bx bxs-star'></i>

<p>Very good product!</p>
</div>

<div className="row">
<div className="col-lg-12">
<div className="form-group">
<textarea name="review-message" id="message" cols="30" rows="4" placeholder="Write your review*" className="form-control"></textarea>
</div>
</div>

<div className="col-lg-6 col-md-6">
<div className="form-group">
<input type="text" placeholder="Name*" className="form-control" />
</div>
</div>

<div className="col-lg-6 col-md-6">
<div className="form-group">
<input type="email" placeholder="Email*" className="form-control" />
</div>
</div>

<div className="col-lg-12 col-md-12">
<button type="submit" className="btn btn-primary">Submit</button>
</div>
</div>
</form>
</div>
</TabPanel>
</Tabs>
</div>
</div>
</div>
</div>
</div>
</div>
);
})

return (
<>
{MotorDetail}
</>
)
}

export default ProductDetails;

+ 333
- 0
components/Yamaha/Product/Apparel_Detail.js Wyświetl plik

@@ -0,0 +1,333 @@
import React from 'react'

//component
import PageBanner from '@/components/Common/PageBanner';
import * as Icon from 'react-feather'
import { useSelector, useDispatch } from 'react-redux'
import { useRouter } from 'next/router'
import { useToasts } from 'react-toast-notifications'

//addon library
import { resetIdCounter, Tab, Tabs, TabList, TabPanel } from 'react-tabs';
resetIdCounter();

import dynamic from 'next/dynamic'
const OwlCarousel = dynamic(import('react-owl-carousel3'))

//library yarn
import NumberFormat from 'react-number-format';
import ReactHtmlParser from "react-html-parser";

//sweet alert
import swal from 'sweetalert';

const options = {
loop: true,
nav: true,
dots: false,
autoplay: true,
items: 1,
smartSpeed: 1000,
autoplayTimeout: 5000,
navText: [
"<i class='bx bx-chevron-left'></i>",
"<i class='bx bx-chevron-right'></i>"
],
};

const ProductDetails = function ({ detailapparel, backend, user, ...props }) {

const [formValue, setFormValue] = React.useState({
product_img: "",
product_name: "",
product_color: "",
product_price: "",
});

const router = useRouter();

const MotorDetail = detailapparel.map((data) => {

return (
<div>
<PageBanner pageTitle={data.name} />
<div className="shop-details-area ptb-80">
<div className="container">
<div className="row align-items-center">
<div className="col-lg-5">
<OwlCarousel
className="products-details-image products-details-image-slides owl-carousel owl-theme"
{...options}
>
<img src={`${backend}${data.img["url"]}`} />
</OwlCarousel>
</div>

<div className="col-lg-7">
<div className="products-details">
<h3>{data.name}</h3>
<h3>
<NumberFormat value={data.price1} displayType={'text'} thousandSeparator={true} prefix={'Rp.'} />
</h3>

<ul className="rating">
<li><i className="flaticon-star-1"></i></li>
<li><i className="flaticon-star-1"></i></li>
<li><i className="flaticon-star-1"></i></li>
<li><i className="flaticon-star-1"></i></li>
<li><i className="flaticon-star-1"></i></li>
</ul>

<div className="availability">
Availability: <span>{data.stock}</span>
</div>
<form
onSubmit={async (e) => {
e.preventDefault();
var newformValue = {
...formValue,
product_name: detailproduct[0].name,
}
setFormValue(newformValue)
console.log(JSON.stringify(newformValue));
const response = await fetch(
"/api/transaction/AddToCart",
{
method: "POST",
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify(newformValue),
}
);
if (response.ok) {
var res = await response.json();
console.log("cek response :", res);
if (res["STATUS"] === 1) {
res["DATA"]["cart"];
swal("Produk Berhasil Ditambah ke Keranjang", "Silahkan Cek Keranjang Belanja Anda", "success");
router.push("/yamaha/Shop/Cart");
}
else {
swal("Produk Gagal Ditambah ke Keranjang", "Silahkan Coba Lagi", "error");
}
} else {
swal("Transaksi Gagal", "Silahkan Coba Lagi", "error");
}
return false;
}}

>
{/* <label>Product OTR <span className="required">*</span></label>

<div className="select-box" placeholder="Pilih Harga OTR">
<select className="form-select"
name="product_otr"
onInput={(e) => {
setFormValue({
...formValue,
product_price: e.target.value.toString(),
})
}}
>
<option value="0">- Pilih Product OTR -</option>
{detailproduct.map((option) => (
<option value={option.product_otrs[0].price}>{option.product_otrs[0].name}</option>
))}
{detailproduct.map((option) => (
<option value={option.product_otrs[1].price}>{option.product_otrs[1].name}</option>
))}
{detailproduct.map((option) => (
<option value={option.product_otrs[2].price}>{option.product_otrs[2].name}</option>
))}
</select>
</div>
<br />

<label>Product Color <span className="required">*</span></label>
<div className="select-box" placeholder="Pilih Harga OTR">
<select className="form-select"
name="product_color"
onInput={(e) => {
setFormValue({
...formValue,
product_color: e.target.value.toString()
})
}}
>
<option value="0">- Pilih Product Color -</option>
{detailproduct.map((option) => (
<option value={option.product_image_colors[0].name}>{option.product_image_colors[0].name}</option>
))}
{detailproduct.map((option) => (
<option value={option.product_image_colors[1].name}>{option.product_image_colors[1].name}</option>
))}
{detailproduct.map((option) => (
<option value={option.product_image_colors[2].name}>{option.product_image_colors[2].name}</option>
))}
</select>
</div>
<br /> */}

<button type="submit">Add to Cart</button>

<a href="#" className="add-to-wishlist-btn" title="Add to Wishlist">
<Icon.Heart />
</a>
</form>

<div className="custom-payment-options">
<span>Metode Pembayaran : </span>

<div className="payment-methods">
<img src="/images/payment-image/Mastercard.svg" width="50px" alt="image" />
<img src="/images/payment-image/Visa.svg" width="50px" alt="image" />
<img src="/images/payment-image/BNI.svg" width="50px" alt="image" />
<img src="/images/payment-image/BCA.svg" width="50px" alt="image" />
<img src="/images/payment-image/Mandiri.svg" width="50px" alt="image" />
<img src="/images/payment-image/BSI.svg" width="50px" alt="image" />
<img src="/images/payment-image/Indomaret.svg" width="50px" alt="image" />
</div>
</div>

<div className="products-share-social">
<span>Share:</span>

<ul>
<li>
<a href="#" className="facebook" target="_blank">
<Icon.Facebook />
</a>
</li>
<li>
<a href="#" className="twitter" target="_blank">
<Icon.Twitter />
</a>
</li>
<li>
<a href="#" className="linkedin" target="_blank">
<Icon.Linkedin />
</a>
</li>
<li>
<a href="#" className="instagram" target="_blank">
<Icon.Instagram />
</a>
</li>
</ul>
</div>
</div>
</div>

<div className="col-lg-12 col-md-12">
<div className="products-details-tabs">
<Tabs>
<TabList>
<Tab>Deskripsi</Tab>
<Tab>Info Penting</Tab>
<Tab>Review</Tab>
</TabList>

<TabPanel>
<div className="products-description" align="left">
<p>{ReactHtmlParser(data.description)}</p>
</div>
</TabPanel>

<TabPanel>
<div className="products-description" align="left">
<p>
<p><b>Informasi mengenai prosedur pengiriman, pembelian dan dokumen</b></p>
<ul>
<li>Kota Palembang, Kayu Agung, Prabumulih, Pangkalan Balai, Betung : 2-3 hari kerja*</li>
<li>Untuk daerah Sungsang/daerah lain yang menggunakan kapal motor, maka motor diantar sampai di dermaga sesuai dengan jadwal yang diinformasikan</li>
<li>Sekayu, Babat Toman, Pendopo, Baturaja, Martapura, Muara Dua, Lahat, Tanjung Enim, Tugu Mulyo, Belitang : 4-5 hari kerja*</li>
<li>Lubuk Linggau, Curup, Pagar Alam : 6-7 hari kerja*</li>
</ul>

<p><b>Harga</b></p>
<ul>
<li>Harga OTR sudah termasuk biaya pengiriman dan BBN, kecuali tambahan pengenaan pajak progresif kepemilikan kendaraan bermotor (sesuai dengan peraturan yang telah ditetapkan oleh pemerintah)</li>
<li>Harga OTR diatas berlaku untuk KTP domisili PALEMBANG, OGAN ILIR, dan BANYUASIN, diluar wilayah tersebut harap menghubungi kami untuk konfirmasi harga.</li>
<li>Harga OTR sewaktu-waktu dapat berubah.</li>
<li>Proses pemesanan sepeda motor tidak dapat dibatalkan dan warna yang sudah dipesan tidak dapat diubah.</li>
<li>Proses pemesanan yang terkait waktu pengiriman produk dan kelengkapan dokumen yang dibutuhkan untuk pembuatan STNK dan BPKB akan diinformasikan oleh pihak Dealer.</li>
<li>Proses pengiriman sepeda motor akan dilakukan setelah pelunasan transaksi dan dokumen yang dibutuhkan telah lengkap.</li>
</ul>

<p><b>Dokumen</b></p>
<ul>
<li>Proses pembuatan STNK setelah KTP diterima oleh pihak dealer adalah 19-25 hari kerja*.</li>
<li>Proses pembuatan BPKB adalah 3-4 bulan.</li>
<li>STNK dan BPKB wajib diambil sendiri oleh pihak yang bersangkutan sesuai dengan identitas yang tertera STNK di dealer yang ditunjuk.</li>
<li>Untuk proses pembuatan STNK dan BPKB sepenuhnya menjadi tanggung jawab dealer terkait.</li>
<li>Buku servis diterima bersamaan dengan pengiriman sepeda motor.</li>
</ul>

<p><b>*tidak termasuk Sabtu dan Minggu.</b></p>
</p>
</div>
</TabPanel>

<TabPanel>
<div className="products-reviews">
<h3>Customer Reviews</h3>
<p>There are no reviews yet.</p>

<form className="review-form">
<p>Rate this item:</p>

<div className="star-rating">
<i className='bx bxs-star'></i>
<i className='bx bxs-star'></i>
<i className='bx bxs-star'></i>
<i className='bx bxs-star'></i>
<i className='bx bxs-star'></i>

<p>Very good product!</p>
</div>

<div className="row">
<div className="col-lg-12">
<div className="form-group">
<textarea name="review-message" id="message" cols="30" rows="4" placeholder="Write your review*" className="form-control"></textarea>
</div>
</div>

<div className="col-lg-6 col-md-6">
<div className="form-group">
<input type="text" placeholder="Name*" className="form-control" />
</div>
</div>

<div className="col-lg-6 col-md-6">
<div className="form-group">
<input type="email" placeholder="Email*" className="form-control" />
</div>
</div>

<div className="col-lg-12 col-md-12">
<button type="submit" className="btn btn-primary">Submit</button>
</div>
</div>
</form>
</div>
</TabPanel>
</Tabs>
</div>
</div>
</div>
</div>
</div>
</div>
);
})

return (
<>
{MotorDetail}
</>
)
}

export default ProductDetails;

+ 333
- 0
components/Yamaha/Product/Helmet_Detail.js Wyświetl plik

@@ -0,0 +1,333 @@
import React from 'react'

//component
import PageBanner from '@/components/Common/PageBanner';
import * as Icon from 'react-feather'
import { useSelector, useDispatch } from 'react-redux'
import { useRouter } from 'next/router'
import { useToasts } from 'react-toast-notifications'

//addon library
import { resetIdCounter, Tab, Tabs, TabList, TabPanel } from 'react-tabs';
resetIdCounter();

import dynamic from 'next/dynamic'
const OwlCarousel = dynamic(import('react-owl-carousel3'))

//library yarn
import NumberFormat from 'react-number-format';
import ReactHtmlParser from "react-html-parser";

//sweet alert
import swal from 'sweetalert';

const options = {
loop: true,
nav: true,
dots: false,
autoplay: true,
items: 1,
smartSpeed: 1000,
autoplayTimeout: 5000,
navText: [
"<i class='bx bx-chevron-left'></i>",
"<i class='bx bx-chevron-right'></i>"
],
};

const ProductDetails = function ({ detailhelmet, backend, user, ...props }) {

const [formValue, setFormValue] = React.useState({
product_img: "",
product_name: "",
product_color: "",
product_price: "",
});

const router = useRouter();

const MotorDetail = detailhelmet.map((data) => {

return (
<div>
<PageBanner pageTitle={data.name} />
<div className="shop-details-area ptb-80">
<div className="container">
<div className="row align-items-center">
<div className="col-lg-5">
<OwlCarousel
className="products-details-image products-details-image-slides owl-carousel owl-theme"
{...options}
>
<img src={`${backend}${data.img["url"]}`} />
</OwlCarousel>
</div>

<div className="col-lg-7">
<div className="products-details">
<h3>{data.name}</h3>
<h3>
<NumberFormat value={data.price1} displayType={'text'} thousandSeparator={true} prefix={'Rp.'} />
</h3>

<ul className="rating">
<li><i className="flaticon-star-1"></i></li>
<li><i className="flaticon-star-1"></i></li>
<li><i className="flaticon-star-1"></i></li>
<li><i className="flaticon-star-1"></i></li>
<li><i className="flaticon-star-1"></i></li>
</ul>

<div className="availability">
Availability: <span>{data.stock}</span>
</div>
<form
onSubmit={async (e) => {
e.preventDefault();
var newformValue = {
...formValue,
product_name: detailproduct[0].name,
}
setFormValue(newformValue)
console.log(JSON.stringify(newformValue));
const response = await fetch(
"/api/transaction/AddToCart",
{
method: "POST",
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify(newformValue),
}
);
if (response.ok) {
var res = await response.json();
console.log("cek response :", res);
if (res["STATUS"] === 1) {
res["DATA"]["cart"];
swal("Produk Berhasil Ditambah ke Keranjang", "Silahkan Cek Keranjang Belanja Anda", "success");
router.push("/yamaha/Shop/Cart");
}
else {
swal("Produk Gagal Ditambah ke Keranjang", "Silahkan Coba Lagi", "error");
}
} else {
swal("Transaksi Gagal", "Silahkan Coba Lagi", "error");
}
return false;
}}

>
{/* <label>Product OTR <span className="required">*</span></label>

<div className="select-box" placeholder="Pilih Harga OTR">
<select className="form-select"
name="product_otr"
onInput={(e) => {
setFormValue({
...formValue,
product_price: e.target.value.toString(),
})
}}
>
<option value="0">- Pilih Product OTR -</option>
{detailproduct.map((option) => (
<option value={option.product_otrs[0].price}>{option.product_otrs[0].name}</option>
))}
{detailproduct.map((option) => (
<option value={option.product_otrs[1].price}>{option.product_otrs[1].name}</option>
))}
{detailproduct.map((option) => (
<option value={option.product_otrs[2].price}>{option.product_otrs[2].name}</option>
))}
</select>
</div>
<br />

<label>Product Color <span className="required">*</span></label>
<div className="select-box" placeholder="Pilih Harga OTR">
<select className="form-select"
name="product_color"
onInput={(e) => {
setFormValue({
...formValue,
product_color: e.target.value.toString()
})
}}
>
<option value="0">- Pilih Product Color -</option>
{detailproduct.map((option) => (
<option value={option.product_image_colors[0].name}>{option.product_image_colors[0].name}</option>
))}
{detailproduct.map((option) => (
<option value={option.product_image_colors[1].name}>{option.product_image_colors[1].name}</option>
))}
{detailproduct.map((option) => (
<option value={option.product_image_colors[2].name}>{option.product_image_colors[2].name}</option>
))}
</select>
</div>
<br /> */}

<button type="submit">Add to Cart</button>

<a href="#" className="add-to-wishlist-btn" title="Add to Wishlist">
<Icon.Heart />
</a>
</form>

<div className="custom-payment-options">
<span>Metode Pembayaran : </span>

<div className="payment-methods">
<img src="/images/payment-image/Mastercard.svg" width="50px" alt="image" />
<img src="/images/payment-image/Visa.svg" width="50px" alt="image" />
<img src="/images/payment-image/BNI.svg" width="50px" alt="image" />
<img src="/images/payment-image/BCA.svg" width="50px" alt="image" />
<img src="/images/payment-image/Mandiri.svg" width="50px" alt="image" />
<img src="/images/payment-image/BSI.svg" width="50px" alt="image" />
<img src="/images/payment-image/Indomaret.svg" width="50px" alt="image" />
</div>
</div>

<div className="products-share-social">
<span>Share:</span>

<ul>
<li>
<a href="#" className="facebook" target="_blank">
<Icon.Facebook />
</a>
</li>
<li>
<a href="#" className="twitter" target="_blank">
<Icon.Twitter />
</a>
</li>
<li>
<a href="#" className="linkedin" target="_blank">
<Icon.Linkedin />
</a>
</li>
<li>
<a href="#" className="instagram" target="_blank">
<Icon.Instagram />
</a>
</li>
</ul>
</div>
</div>
</div>

<div className="col-lg-12 col-md-12">
<div className="products-details-tabs">
<Tabs>
<TabList>
<Tab>Deskripsi</Tab>
<Tab>Info Penting</Tab>
<Tab>Review</Tab>
</TabList>

<TabPanel>
<div className="products-description" align="left">
<p>{ReactHtmlParser(data.description)}</p>
</div>
</TabPanel>

<TabPanel>
<div className="products-description" align="left">
<p>
<p><b>Informasi mengenai prosedur pengiriman, pembelian dan dokumen</b></p>
<ul>
<li>Kota Palembang, Kayu Agung, Prabumulih, Pangkalan Balai, Betung : 2-3 hari kerja*</li>
<li>Untuk daerah Sungsang/daerah lain yang menggunakan kapal motor, maka motor diantar sampai di dermaga sesuai dengan jadwal yang diinformasikan</li>
<li>Sekayu, Babat Toman, Pendopo, Baturaja, Martapura, Muara Dua, Lahat, Tanjung Enim, Tugu Mulyo, Belitang : 4-5 hari kerja*</li>
<li>Lubuk Linggau, Curup, Pagar Alam : 6-7 hari kerja*</li>
</ul>

<p><b>Harga</b></p>
<ul>
<li>Harga OTR sudah termasuk biaya pengiriman dan BBN, kecuali tambahan pengenaan pajak progresif kepemilikan kendaraan bermotor (sesuai dengan peraturan yang telah ditetapkan oleh pemerintah)</li>
<li>Harga OTR diatas berlaku untuk KTP domisili PALEMBANG, OGAN ILIR, dan BANYUASIN, diluar wilayah tersebut harap menghubungi kami untuk konfirmasi harga.</li>
<li>Harga OTR sewaktu-waktu dapat berubah.</li>
<li>Proses pemesanan sepeda motor tidak dapat dibatalkan dan warna yang sudah dipesan tidak dapat diubah.</li>
<li>Proses pemesanan yang terkait waktu pengiriman produk dan kelengkapan dokumen yang dibutuhkan untuk pembuatan STNK dan BPKB akan diinformasikan oleh pihak Dealer.</li>
<li>Proses pengiriman sepeda motor akan dilakukan setelah pelunasan transaksi dan dokumen yang dibutuhkan telah lengkap.</li>
</ul>

<p><b>Dokumen</b></p>
<ul>
<li>Proses pembuatan STNK setelah KTP diterima oleh pihak dealer adalah 19-25 hari kerja*.</li>
<li>Proses pembuatan BPKB adalah 3-4 bulan.</li>
<li>STNK dan BPKB wajib diambil sendiri oleh pihak yang bersangkutan sesuai dengan identitas yang tertera STNK di dealer yang ditunjuk.</li>
<li>Untuk proses pembuatan STNK dan BPKB sepenuhnya menjadi tanggung jawab dealer terkait.</li>
<li>Buku servis diterima bersamaan dengan pengiriman sepeda motor.</li>
</ul>

<p><b>*tidak termasuk Sabtu dan Minggu.</b></p>
</p>
</div>
</TabPanel>

<TabPanel>
<div className="products-reviews">
<h3>Customer Reviews</h3>
<p>There are no reviews yet.</p>

<form className="review-form">
<p>Rate this item:</p>

<div className="star-rating">
<i className='bx bxs-star'></i>
<i className='bx bxs-star'></i>
<i className='bx bxs-star'></i>
<i className='bx bxs-star'></i>
<i className='bx bxs-star'></i>

<p>Very good product!</p>
</div>

<div className="row">
<div className="col-lg-12">
<div className="form-group">
<textarea name="review-message" id="message" cols="30" rows="4" placeholder="Write your review*" className="form-control"></textarea>
</div>
</div>

<div className="col-lg-6 col-md-6">
<div className="form-group">
<input type="text" placeholder="Name*" className="form-control" />
</div>
</div>

<div className="col-lg-6 col-md-6">
<div className="form-group">
<input type="email" placeholder="Email*" className="form-control" />
</div>
</div>

<div className="col-lg-12 col-md-12">
<button type="submit" className="btn btn-primary">Submit</button>
</div>
</div>
</form>
</div>
</TabPanel>
</Tabs>
</div>
</div>
</div>
</div>
</div>
</div>
);
})

return (
<>
{MotorDetail}
</>
)
}

export default ProductDetails;

+ 4
- 2
components/Yamaha/Product/Motor.js Wyświetl plik

@@ -42,7 +42,7 @@ const ProductCard = function ({ product, backend, user, ...props }) {

<div className="products-content">
<h3>
<Link href={"/yamaha/Product/Motor_Detail?s="+data.id}>
<Link href={"/yamaha/Product/Motor_Detail?s=" + data.id}>
<a>{data.name}</a>
</Link>
</h3>
@@ -55,7 +55,9 @@ const ProductCard = function ({ product, backend, user, ...props }) {
<li><i className="flaticon-star-1"></i></li>
</ul>

<AddToCartBtn {...product} />
<Link href={"/yamaha/Product/Motor_Detail?s=" + data.id}>
<a className="add-to-cart-btn">Detail Product</a>
</Link>
</div>
</div>
</div>


+ 7
- 7
components/Yamaha/Product/Motor_Detail.js Wyświetl plik

@@ -184,13 +184,13 @@ const ProductDetails = function ({ detailproduct, backend, user, ...props }) {
<span>Metode Pembayaran : </span>

<div className="payment-methods">
<img src="/images/payment-image/payment-img1.svg" alt="image" />
<img src="/images/payment-image/payment-img2.svg" alt="image" />
<img src="/images/payment-image/payment-img3.svg" alt="image" />
<img src="/images/payment-image/payment-img4.svg" alt="image" />
<img src="/images/payment-image/payment-img5.svg" alt="image" />
<img src="/images/payment-image/payment-img6.svg" alt="image" />
<img src="/images/payment-image/payment-img7.svg" alt="image" />
<img src="/images/payment-image/Mastercard.svg" width="50px" alt="image" />
<img src="/images/payment-image/Visa.svg" width="50px" alt="image" />
<img src="/images/payment-image/BNI.svg" width="50px" alt="image" />
<img src="/images/payment-image/BCA.svg" width="50px" alt="image" />
<img src="/images/payment-image/Mandiri.svg" width="50px" alt="image" />
<img src="/images/payment-image/BSI.svg" width="50px" alt="image" />
<img src="/images/payment-image/Indomaret.svg" width="50px" alt="image" />
</div>
</div>



+ 20
- 10
components/Yamaha/Product/Sparepart.js Wyświetl plik

@@ -46,7 +46,7 @@ const ProductCard = function ({ ygp, yamalube, helmet, apparel, accessories, bac

<div className="products-content">
<h3>
<Link href={"/yamaha/Product/Motor_Detail?s=" + data.id}>
<Link href={"/yamaha/Product/Ygp_Detail?s=" + data.id}>
<a>{data.name}</a>
</Link>
</h3>
@@ -59,7 +59,9 @@ const ProductCard = function ({ ygp, yamalube, helmet, apparel, accessories, bac
<li><i className="flaticon-star-1"></i></li>
</ul>

<AddToCartBtn {...ygp} />
<Link href={"/yamaha/Product/Ygp_Detail?s=" + data.id}>
<a className="add-to-cart-btn">Detail Product</a>
</Link>
</div>
</div>
</div>
@@ -96,7 +98,7 @@ const ProductCard = function ({ ygp, yamalube, helmet, apparel, accessories, bac

<div className="products-content">
<h3>
<Link href={"/yamaha/Product/Motor_Detail?s=" + data.id}>
<Link href={"/yamaha/Product/Yamalube_Detail?s=" + data.id}>
<a>{data.name}</a>
</Link>
</h3>
@@ -109,7 +111,9 @@ const ProductCard = function ({ ygp, yamalube, helmet, apparel, accessories, bac
<li><i className="flaticon-star-1"></i></li>
</ul>

<AddToCartBtn {...ygp} />
<Link href={"/yamaha/Product/Yamalube_Detail?s=" + data.id}>
<a className="add-to-cart-btn">Detail Product</a>
</Link>
</div>
</div>
</div>
@@ -146,7 +150,7 @@ const ProductCard = function ({ ygp, yamalube, helmet, apparel, accessories, bac

<div className="products-content">
<h3>
<Link href={"/yamaha/Product/Motor_Detail?s=" + data.id}>
<Link href={"/yamaha/Product/Helmet_Detail?s=" + data.id}>
<a>{data.name}</a>
</Link>
</h3>
@@ -159,7 +163,9 @@ const ProductCard = function ({ ygp, yamalube, helmet, apparel, accessories, bac
<li><i className="flaticon-star-1"></i></li>
</ul>

<AddToCartBtn {...helmet} />
<Link href={"/yamaha/Product/Helmet_Detail?s=" + data.id}>
<a className="add-to-cart-btn">Detail Product</a>
</Link>
</div>
</div>
</div>
@@ -196,7 +202,7 @@ const ProductCard = function ({ ygp, yamalube, helmet, apparel, accessories, bac

<div className="products-content">
<h3>
<Link href={"/yamaha/Product/Motor_Detail?s=" + data.id}>
<Link href={"/yamaha/Product/Apparel_Detail?s=" + data.id}>
<a>{data.name}</a>
</Link>
</h3>
@@ -209,7 +215,9 @@ const ProductCard = function ({ ygp, yamalube, helmet, apparel, accessories, bac
<li><i className="flaticon-star-1"></i></li>
</ul>

<AddToCartBtn {...apparel} />
<Link href={"/yamaha/Product/Apparel_Detail?s=" + data.id}>
<a className="add-to-cart-btn">Detail Product</a>
</Link>
</div>
</div>
</div>
@@ -246,7 +254,7 @@ const ProductCard = function ({ ygp, yamalube, helmet, apparel, accessories, bac

<div className="products-content">
<h3>
<Link href={"/yamaha/Product/Motor_Detail?s=" + data.id}>
<Link href={"/yamaha/Product/Accessories_Detail?s=" + data.id}>
<a>{data.name}</a>
</Link>
</h3>
@@ -259,7 +267,9 @@ const ProductCard = function ({ ygp, yamalube, helmet, apparel, accessories, bac
<li><i className="flaticon-star-1"></i></li>
</ul>

<AddToCartBtn {...accessories} />
<Link href={"/yamaha/Product/Accessories_Detail?s=" + data.id}>
<a className="add-to-cart-btn">Detail Product</a>
</Link>
</div>
</div>
</div>


+ 0
- 0
components/Yamaha/Product/Sparepart_Detail.js Wyświetl plik


+ 333
- 0
components/Yamaha/Product/Yamalube_Detail.js Wyświetl plik

@@ -0,0 +1,333 @@
import React from 'react'

//component
import PageBanner from '@/components/Common/PageBanner';
import * as Icon from 'react-feather'
import { useSelector, useDispatch } from 'react-redux'
import { useRouter } from 'next/router'
import { useToasts } from 'react-toast-notifications'

//addon library
import { resetIdCounter, Tab, Tabs, TabList, TabPanel } from 'react-tabs';
resetIdCounter();

import dynamic from 'next/dynamic'
const OwlCarousel = dynamic(import('react-owl-carousel3'))

//library yarn
import NumberFormat from 'react-number-format';
import ReactHtmlParser from "react-html-parser";

//sweet alert
import swal from 'sweetalert';

const options = {
loop: true,
nav: true,
dots: false,
autoplay: true,
items: 1,
smartSpeed: 1000,
autoplayTimeout: 5000,
navText: [
"<i class='bx bx-chevron-left'></i>",
"<i class='bx bx-chevron-right'></i>"
],
};

const ProductDetails = function ({ detailyamalube, backend, user, ...props }) {

const [formValue, setFormValue] = React.useState({
product_img: "",
product_name: "",
product_color: "",
product_price: "",
});

const router = useRouter();

const MotorDetail = detailyamalube.map((data) => {

return (
<div>
<PageBanner pageTitle={data.name} />
<div className="shop-details-area ptb-80">
<div className="container">
<div className="row align-items-center">
<div className="col-lg-5">
<OwlCarousel
className="products-details-image products-details-image-slides owl-carousel owl-theme"
{...options}
>
<img src={`${backend}${data.img["url"]}`} />
</OwlCarousel>
</div>

<div className="col-lg-7">
<div className="products-details">
<h3>{data.name}</h3>
<h3>
<NumberFormat value={data.price1} displayType={'text'} thousandSeparator={true} prefix={'Rp.'} />
</h3>

<ul className="rating">
<li><i className="flaticon-star-1"></i></li>
<li><i className="flaticon-star-1"></i></li>
<li><i className="flaticon-star-1"></i></li>
<li><i className="flaticon-star-1"></i></li>
<li><i className="flaticon-star-1"></i></li>
</ul>

<div className="availability">
Availability: <span>{data.stock}</span>
</div>
<form
onSubmit={async (e) => {
e.preventDefault();
var newformValue = {
...formValue,
product_name: detailproduct[0].name,
}
setFormValue(newformValue)
console.log(JSON.stringify(newformValue));
const response = await fetch(
"/api/transaction/AddToCart",
{
method: "POST",
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify(newformValue),
}
);
if (response.ok) {
var res = await response.json();
console.log("cek response :", res);
if (res["STATUS"] === 1) {
res["DATA"]["cart"];
swal("Produk Berhasil Ditambah ke Keranjang", "Silahkan Cek Keranjang Belanja Anda", "success");
router.push("/yamaha/Shop/Cart");
}
else {
swal("Produk Gagal Ditambah ke Keranjang", "Silahkan Coba Lagi", "error");
}
} else {
swal("Transaksi Gagal", "Silahkan Coba Lagi", "error");
}
return false;
}}

>
{/* <label>Product OTR <span className="required">*</span></label>

<div className="select-box" placeholder="Pilih Harga OTR">
<select className="form-select"
name="product_otr"
onInput={(e) => {
setFormValue({
...formValue,
product_price: e.target.value.toString(),
})
}}
>
<option value="0">- Pilih Product OTR -</option>
{detailproduct.map((option) => (
<option value={option.product_otrs[0].price}>{option.product_otrs[0].name}</option>
))}
{detailproduct.map((option) => (
<option value={option.product_otrs[1].price}>{option.product_otrs[1].name}</option>
))}
{detailproduct.map((option) => (
<option value={option.product_otrs[2].price}>{option.product_otrs[2].name}</option>
))}
</select>
</div>
<br />

<label>Product Color <span className="required">*</span></label>
<div className="select-box" placeholder="Pilih Harga OTR">
<select className="form-select"
name="product_color"
onInput={(e) => {
setFormValue({
...formValue,
product_color: e.target.value.toString()
})
}}
>
<option value="0">- Pilih Product Color -</option>
{detailproduct.map((option) => (
<option value={option.product_image_colors[0].name}>{option.product_image_colors[0].name}</option>
))}
{detailproduct.map((option) => (
<option value={option.product_image_colors[1].name}>{option.product_image_colors[1].name}</option>
))}
{detailproduct.map((option) => (
<option value={option.product_image_colors[2].name}>{option.product_image_colors[2].name}</option>
))}
</select>
</div>
<br /> */}

<button type="submit">Add to Cart</button>

<a href="#" className="add-to-wishlist-btn" title="Add to Wishlist">
<Icon.Heart />
</a>
</form>

<div className="custom-payment-options">
<span>Metode Pembayaran : </span>

<div className="payment-methods">
<img src="/images/payment-image/Mastercard.svg" width="50px" alt="image" />
<img src="/images/payment-image/Visa.svg" width="50px" alt="image" />
<img src="/images/payment-image/BNI.svg" width="50px" alt="image" />
<img src="/images/payment-image/BCA.svg" width="50px" alt="image" />
<img src="/images/payment-image/Mandiri.svg" width="50px" alt="image" />
<img src="/images/payment-image/BSI.svg" width="50px" alt="image" />
<img src="/images/payment-image/Indomaret.svg" width="50px" alt="image" />
</div>
</div>

<div className="products-share-social">
<span>Share:</span>

<ul>
<li>
<a href="#" className="facebook" target="_blank">
<Icon.Facebook />
</a>
</li>
<li>
<a href="#" className="twitter" target="_blank">
<Icon.Twitter />
</a>
</li>
<li>
<a href="#" className="linkedin" target="_blank">
<Icon.Linkedin />
</a>
</li>
<li>
<a href="#" className="instagram" target="_blank">
<Icon.Instagram />
</a>
</li>
</ul>
</div>
</div>
</div>

<div className="col-lg-12 col-md-12">
<div className="products-details-tabs">
<Tabs>
<TabList>
<Tab>Deskripsi</Tab>
<Tab>Info Penting</Tab>
<Tab>Review</Tab>
</TabList>

<TabPanel>
<div className="products-description" align="left">
<p>{ReactHtmlParser(data.description)}</p>
</div>
</TabPanel>

<TabPanel>
<div className="products-description" align="left">
<p>
<p><b>Informasi mengenai prosedur pengiriman, pembelian dan dokumen</b></p>
<ul>
<li>Kota Palembang, Kayu Agung, Prabumulih, Pangkalan Balai, Betung : 2-3 hari kerja*</li>
<li>Untuk daerah Sungsang/daerah lain yang menggunakan kapal motor, maka motor diantar sampai di dermaga sesuai dengan jadwal yang diinformasikan</li>
<li>Sekayu, Babat Toman, Pendopo, Baturaja, Martapura, Muara Dua, Lahat, Tanjung Enim, Tugu Mulyo, Belitang : 4-5 hari kerja*</li>
<li>Lubuk Linggau, Curup, Pagar Alam : 6-7 hari kerja*</li>
</ul>

<p><b>Harga</b></p>
<ul>
<li>Harga OTR sudah termasuk biaya pengiriman dan BBN, kecuali tambahan pengenaan pajak progresif kepemilikan kendaraan bermotor (sesuai dengan peraturan yang telah ditetapkan oleh pemerintah)</li>
<li>Harga OTR diatas berlaku untuk KTP domisili PALEMBANG, OGAN ILIR, dan BANYUASIN, diluar wilayah tersebut harap menghubungi kami untuk konfirmasi harga.</li>
<li>Harga OTR sewaktu-waktu dapat berubah.</li>
<li>Proses pemesanan sepeda motor tidak dapat dibatalkan dan warna yang sudah dipesan tidak dapat diubah.</li>
<li>Proses pemesanan yang terkait waktu pengiriman produk dan kelengkapan dokumen yang dibutuhkan untuk pembuatan STNK dan BPKB akan diinformasikan oleh pihak Dealer.</li>
<li>Proses pengiriman sepeda motor akan dilakukan setelah pelunasan transaksi dan dokumen yang dibutuhkan telah lengkap.</li>
</ul>

<p><b>Dokumen</b></p>
<ul>
<li>Proses pembuatan STNK setelah KTP diterima oleh pihak dealer adalah 19-25 hari kerja*.</li>
<li>Proses pembuatan BPKB adalah 3-4 bulan.</li>
<li>STNK dan BPKB wajib diambil sendiri oleh pihak yang bersangkutan sesuai dengan identitas yang tertera STNK di dealer yang ditunjuk.</li>
<li>Untuk proses pembuatan STNK dan BPKB sepenuhnya menjadi tanggung jawab dealer terkait.</li>
<li>Buku servis diterima bersamaan dengan pengiriman sepeda motor.</li>
</ul>

<p><b>*tidak termasuk Sabtu dan Minggu.</b></p>
</p>
</div>
</TabPanel>

<TabPanel>
<div className="products-reviews">
<h3>Customer Reviews</h3>
<p>There are no reviews yet.</p>

<form className="review-form">
<p>Rate this item:</p>

<div className="star-rating">
<i className='bx bxs-star'></i>
<i className='bx bxs-star'></i>
<i className='bx bxs-star'></i>
<i className='bx bxs-star'></i>
<i className='bx bxs-star'></i>

<p>Very good product!</p>
</div>

<div className="row">
<div className="col-lg-12">
<div className="form-group">
<textarea name="review-message" id="message" cols="30" rows="4" placeholder="Write your review*" className="form-control"></textarea>
</div>
</div>

<div className="col-lg-6 col-md-6">
<div className="form-group">
<input type="text" placeholder="Name*" className="form-control" />
</div>
</div>

<div className="col-lg-6 col-md-6">
<div className="form-group">
<input type="email" placeholder="Email*" className="form-control" />
</div>
</div>

<div className="col-lg-12 col-md-12">
<button type="submit" className="btn btn-primary">Submit</button>
</div>
</div>
</form>
</div>
</TabPanel>
</Tabs>
</div>
</div>
</div>
</div>
</div>
</div>
);
})

return (
<>
{MotorDetail}
</>
)
}

export default ProductDetails;

+ 334
- 0
components/Yamaha/Product/Ygp_Detail.js Wyświetl plik

@@ -0,0 +1,334 @@
import React from 'react'

//component
import PageBanner from '@/components/Common/PageBanner';
import * as Icon from 'react-feather'
import { useSelector, useDispatch } from 'react-redux'
import { useRouter } from 'next/router'
import { useToasts } from 'react-toast-notifications'

//addon library
import { resetIdCounter, Tab, Tabs, TabList, TabPanel } from 'react-tabs';
resetIdCounter();

import dynamic from 'next/dynamic'
const OwlCarousel = dynamic(import('react-owl-carousel3'))

//library yarn
import NumberFormat from 'react-number-format';
import ReactHtmlParser from "react-html-parser";

//sweet alert
import swal from 'sweetalert';

const options = {
loop: true,
nav: true,
dots: false,
autoplay: true,
items: 1,
smartSpeed: 1000,
autoplayTimeout: 5000,
navText: [
"<i class='bx bx-chevron-left'></i>",
"<i class='bx bx-chevron-right'></i>"
],
};

const ProductDetails = function ({ detailygp, backend, user, ...props }) {
console.log(detailygp);

const [formValue, setFormValue] = React.useState({
product_img: "",
product_name: "",
product_color: "",
product_price: "",
});

const router = useRouter();

const MotorDetail = detailygp.map((data) => {

return (
<div>
<PageBanner pageTitle={data.name} />
<div className="shop-details-area ptb-80">
<div className="container">
<div className="row align-items-center">
<div className="col-lg-5">
<OwlCarousel
className="products-details-image products-details-image-slides owl-carousel owl-theme"
{...options}
>
<img src={`${backend}${data.img["url"]}`} />
</OwlCarousel>
</div>

<div className="col-lg-7">
<div className="products-details">
<h3>{data.name}</h3>
<h3>
<NumberFormat value={data.price1} displayType={'text'} thousandSeparator={true} prefix={'Rp.'} />
</h3>

<ul className="rating">
<li><i className="flaticon-star-1"></i></li>
<li><i className="flaticon-star-1"></i></li>
<li><i className="flaticon-star-1"></i></li>
<li><i className="flaticon-star-1"></i></li>
<li><i className="flaticon-star-1"></i></li>
</ul>

<div className="availability">
Availability: <span>{data.stock}</span>
</div>
<form
onSubmit={async (e) => {
e.preventDefault();
var newformValue = {
...formValue,
product_name: detailproduct[0].name,
}
setFormValue(newformValue)
console.log(JSON.stringify(newformValue));
const response = await fetch(
"/api/transaction/AddToCart",
{
method: "POST",
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify(newformValue),
}
);
if (response.ok) {
var res = await response.json();
console.log("cek response :", res);
if (res["STATUS"] === 1) {
res["DATA"]["cart"];
swal("Produk Berhasil Ditambah ke Keranjang", "Silahkan Cek Keranjang Belanja Anda", "success");
router.push("/yamaha/Shop/Cart");
}
else {
swal("Produk Gagal Ditambah ke Keranjang", "Silahkan Coba Lagi", "error");
}
} else {
swal("Transaksi Gagal", "Silahkan Coba Lagi", "error");
}
return false;
}}

>
{/* <label>Product OTR <span className="required">*</span></label>

<div className="select-box" placeholder="Pilih Harga OTR">
<select className="form-select"
name="product_otr"
onInput={(e) => {
setFormValue({
...formValue,
product_price: e.target.value.toString(),
})
}}
>
<option value="0">- Pilih Product OTR -</option>
{detailproduct.map((option) => (
<option value={option.product_otrs[0].price}>{option.product_otrs[0].name}</option>
))}
{detailproduct.map((option) => (
<option value={option.product_otrs[1].price}>{option.product_otrs[1].name}</option>
))}
{detailproduct.map((option) => (
<option value={option.product_otrs[2].price}>{option.product_otrs[2].name}</option>
))}
</select>
</div>
<br />

<label>Product Color <span className="required">*</span></label>
<div className="select-box" placeholder="Pilih Harga OTR">
<select className="form-select"
name="product_color"
onInput={(e) => {
setFormValue({
...formValue,
product_color: e.target.value.toString()
})
}}
>
<option value="0">- Pilih Product Color -</option>
{detailproduct.map((option) => (
<option value={option.product_image_colors[0].name}>{option.product_image_colors[0].name}</option>
))}
{detailproduct.map((option) => (
<option value={option.product_image_colors[1].name}>{option.product_image_colors[1].name}</option>
))}
{detailproduct.map((option) => (
<option value={option.product_image_colors[2].name}>{option.product_image_colors[2].name}</option>
))}
</select>
</div>
<br /> */}

<button type="submit">Add to Cart</button>

<a href="#" className="add-to-wishlist-btn" title="Add to Wishlist">
<Icon.Heart />
</a>
</form>

<div className="custom-payment-options">
<span>Metode Pembayaran : </span>

<div className="payment-methods">
<img src="/images/payment-image/Mastercard.svg" width="50px" alt="image" />
<img src="/images/payment-image/Visa.svg" width="50px" alt="image" />
<img src="/images/payment-image/BNI.svg" width="50px" alt="image" />
<img src="/images/payment-image/BCA.svg" width="50px" alt="image" />
<img src="/images/payment-image/Mandiri.svg" width="50px" alt="image" />
<img src="/images/payment-image/BSI.svg" width="50px" alt="image" />
<img src="/images/payment-image/Indomaret.svg" width="50px" alt="image" />
</div>
</div>

<div className="products-share-social">
<span>Share:</span>

<ul>
<li>
<a href="#" className="facebook" target="_blank">
<Icon.Facebook />
</a>
</li>
<li>
<a href="#" className="twitter" target="_blank">
<Icon.Twitter />
</a>
</li>
<li>
<a href="#" className="linkedin" target="_blank">
<Icon.Linkedin />
</a>
</li>
<li>
<a href="#" className="instagram" target="_blank">
<Icon.Instagram />
</a>
</li>
</ul>
</div>
</div>
</div>

<div className="col-lg-12 col-md-12">
<div className="products-details-tabs">
<Tabs>
<TabList>
<Tab>Deskripsi</Tab>
<Tab>Info Penting</Tab>
<Tab>Review</Tab>
</TabList>

<TabPanel>
<div className="products-description" align="left">
<p>{ReactHtmlParser(data.description)}</p>
</div>
</TabPanel>

<TabPanel>
<div className="products-description" align="left">
<p>
<p><b>Informasi mengenai prosedur pengiriman, pembelian dan dokumen</b></p>
<ul>
<li>Kota Palembang, Kayu Agung, Prabumulih, Pangkalan Balai, Betung : 2-3 hari kerja*</li>
<li>Untuk daerah Sungsang/daerah lain yang menggunakan kapal motor, maka motor diantar sampai di dermaga sesuai dengan jadwal yang diinformasikan</li>
<li>Sekayu, Babat Toman, Pendopo, Baturaja, Martapura, Muara Dua, Lahat, Tanjung Enim, Tugu Mulyo, Belitang : 4-5 hari kerja*</li>
<li>Lubuk Linggau, Curup, Pagar Alam : 6-7 hari kerja*</li>
</ul>

<p><b>Harga</b></p>
<ul>
<li>Harga OTR sudah termasuk biaya pengiriman dan BBN, kecuali tambahan pengenaan pajak progresif kepemilikan kendaraan bermotor (sesuai dengan peraturan yang telah ditetapkan oleh pemerintah)</li>
<li>Harga OTR diatas berlaku untuk KTP domisili PALEMBANG, OGAN ILIR, dan BANYUASIN, diluar wilayah tersebut harap menghubungi kami untuk konfirmasi harga.</li>
<li>Harga OTR sewaktu-waktu dapat berubah.</li>
<li>Proses pemesanan sepeda motor tidak dapat dibatalkan dan warna yang sudah dipesan tidak dapat diubah.</li>
<li>Proses pemesanan yang terkait waktu pengiriman produk dan kelengkapan dokumen yang dibutuhkan untuk pembuatan STNK dan BPKB akan diinformasikan oleh pihak Dealer.</li>
<li>Proses pengiriman sepeda motor akan dilakukan setelah pelunasan transaksi dan dokumen yang dibutuhkan telah lengkap.</li>
</ul>

<p><b>Dokumen</b></p>
<ul>
<li>Proses pembuatan STNK setelah KTP diterima oleh pihak dealer adalah 19-25 hari kerja*.</li>
<li>Proses pembuatan BPKB adalah 3-4 bulan.</li>
<li>STNK dan BPKB wajib diambil sendiri oleh pihak yang bersangkutan sesuai dengan identitas yang tertera STNK di dealer yang ditunjuk.</li>
<li>Untuk proses pembuatan STNK dan BPKB sepenuhnya menjadi tanggung jawab dealer terkait.</li>
<li>Buku servis diterima bersamaan dengan pengiriman sepeda motor.</li>
</ul>

<p><b>*tidak termasuk Sabtu dan Minggu.</b></p>
</p>
</div>
</TabPanel>

<TabPanel>
<div className="products-reviews">
<h3>Customer Reviews</h3>
<p>There are no reviews yet.</p>

<form className="review-form">
<p>Rate this item:</p>

<div className="star-rating">
<i className='bx bxs-star'></i>
<i className='bx bxs-star'></i>
<i className='bx bxs-star'></i>
<i className='bx bxs-star'></i>
<i className='bx bxs-star'></i>

<p>Very good product!</p>
</div>

<div className="row">
<div className="col-lg-12">
<div className="form-group">
<textarea name="review-message" id="message" cols="30" rows="4" placeholder="Write your review*" className="form-control"></textarea>
</div>
</div>

<div className="col-lg-6 col-md-6">
<div className="form-group">
<input type="text" placeholder="Name*" className="form-control" />
</div>
</div>

<div className="col-lg-6 col-md-6">
<div className="form-group">
<input type="email" placeholder="Email*" className="form-control" />
</div>
</div>

<div className="col-lg-12 col-md-12">
<button type="submit" className="btn btn-primary">Submit</button>
</div>
</div>
</form>
</div>
</TabPanel>
</Tabs>
</div>
</div>
</div>
</div>
</div>
</div>
);
})

return (
<>
{MotorDetail}
</>
)
}

export default ProductDetails;

+ 45
- 24
components/Yamaha/Shop/Cart.js Wyświetl plik

@@ -20,6 +20,16 @@ const CartContent = function ({ backend, cart_product, ...props }) {
const total = useSelector((state) => state.total)
// console.log(cart)

const [qty, setQty] = React.useState(1)

const increment = () => {
setQty(qty + 1)
}

const decrement = () => {
setQty(qty - 1)
}

const removeItem = () => {
dispatch({
type: 'REMOVE_ITEM',
@@ -41,8 +51,8 @@ const CartContent = function ({ backend, cart_product, ...props }) {
product_img: "",
product_name: "",
product_color: "",
product_quantity: 1,
product_price: "",
product_quantity: "",
product_total: "",
});

function GenerateID() {
@@ -63,7 +73,6 @@ const CartContent = function ({ backend, cart_product, ...props }) {
...formValue,
product_name: cart_product[0].product_name,
product_color: cart_product[0].product_color,
product_price: cart_product[0].product_price,
}
setFormValue(newformValue)
console.log(JSON.stringify(newformValue));
@@ -135,15 +144,28 @@ const CartContent = function ({ backend, cart_product, ...props }) {
</td>

<td className="product-quantity">
<QtyForm {...data}
// name="product_quantity"
// onInput={(e) => {
// setFormValue({
// ...formValue,
// product_quantity: e.target.value(),
// })
// }}
/>
<div className="input-counter">
<span className="minus-btn" onClick={decrement}>
<Icon.Minus />
</span>

<input
type="text"
value={qty}
onChange={e => e}
name="product_quantity"
onInput={(e) => {
setFormValue({
...formValue,
product_quantity: e.target.value.toString(),
})
}}
/>

<span className="plus-btn" onClick={increment}>
<Icon.Plus />
</span>
</div>
</td>

{/* <td className="product-subtotal">
@@ -155,22 +177,21 @@ const CartContent = function ({ backend, cart_product, ...props }) {
</td> */}
<td className="product-subtotal">
<span className="subtotal-amount">
<NumberFormat
value={(2 * data.product_price).toFixed(2)}
displayType={'text'} thousandSeparator={true}
<NumberFormat
name="product_price"
value={(qty * data.product_price).toFixed(2)}
displayType={'text'} thousandSeparator={true}
prefix={'Rp.'}
// name="product_price"
// onInput={(e) => {
// setFormValue({
// ...formValue,
// product_price: e.target.value(),
// })
// }}
onInput={(e) => {
setFormValue({
...formValue,
product_total: e.target.value,
})
}}
/>
</span>

<a href="#" className="remove" onClick={() => { removeItem(data.id) }}>
<a href="#" className="remove" onClick={() => { removeItem(data) }}>
<Icon.Trash2 />
</a>
</td>


+ 72
- 45
components/_App/NavbarYamaha.js Wyświetl plik

@@ -133,54 +133,81 @@ export default function NavbarYamaha({ username, ...props }) {
<a className="btn btn-primary">Login</a>
</Link>
) : (
<CustomDropdown
noLiPadding
navDropdown
buttonText={
username.length > 12 ? username.substring(0, 9) + ".." : username
}
buttonProps={{
className: classes.navLink,
color: "transparent",
}}
buttonIcon={Person}
dropdownList={[
<div
onClick={async (e) => {
e.preventDefault();
fetch("/api/auth/logout", {
method: "POST",
headers: {
"Content-Type": "application/json",
},
body: JSON.stringify({ p: "YAMAHA" }),
}).then((res) => {
//if (res.ok) {
window.location.href = "../yamaha/home";
/*}
else{
}*/
});
}}
>
<Link href="/yamaha/login">
<a className="btn btn-primary">Logout</a>
<li className="nav-item">
<Link href="#">
<a onClick={e => e.preventDefault()} className="nav-link">
Product <Icon.ChevronDown />
</a>
</Link>

<ul className="dropdown-menu">
<li className="nav-item">
<Link href="/yamaha/Product/Motor" activeClassName="active">
<a onClick={toggleNavbar} className="nav-link">Motor Product</a>
</Link>
</div>,
<div>
<Link href="/yamaha/login">
<a className="btn btn-primary">Profile</a>
</li>

<li className="nav-item">
<Link href="/yamaha/Product/Sparepart" activeClassName="active">
<a onClick={toggleNavbar} className="nav-link">Sparepart Product</a>
</Link>
</div>,
<div>
<Link href="/yamaha/login">
<a className="btn btn-primary">Pesanan Saya</a>
</li>

<li className="nav-item">
<Link href="https://booking.thamrin.co.id/" activeClassName="active">
<a target="_blank" onClick={toggleNavbar} className="nav-link">Service Product</a>
</Link>
</div>
// <a href="/yamaha/profile/profile" className={classes.dropdownLink}>Profile</a>,
]}
/>
</li>
</ul>
</li>
// <CustomDropdown
// noLiPadding
// navDropdown
// buttonText={
// username.length > 12 ? username.substring(0, 9) + ".." : username
// }
// buttonProps={{
// className: classes.navLink,
// color: "transparent",
// }}
// buttonIcon={Person}
// dropdownList={[
// <div
// onClick={async (e) => {
// e.preventDefault();
// fetch("/api/auth/logout", {
// method: "POST",
// headers: {
// "Content-Type": "application/json",
// },
// body: JSON.stringify({ p: "YAMAHA" }),
// }).then((res) => {
// //if (res.ok) {
// window.location.href = "../yamaha/home";
// /*}
// else{

// }*/
// });
// }}
// >
// <Link href="/yamaha/login">
// <a className="btn btn-primary">Logout</a>
// </Link>
// </div>,
// <div>
// <Link href="/yamaha/login">
// <a className="btn btn-primary">Profile</a>
// </Link>
// </div>,
// <div>
// <Link href="/yamaha/login">
// <a className="btn btn-primary">Pesanan Saya</a>
// </Link>
// </div>
// // <a href="/yamaha/profile/profile" className={classes.dropdownLink}>Profile</a>,
// ]}
// />
)}
</Link>
</div>


+ 55
- 0
pages/yamaha/Product/Accessories_Detail.js Wyświetl plik

@@ -0,0 +1,55 @@
import React from 'react';
import Navbar from "@/components/_App/NavbarYamaha";
import Footer from "@/components/_App/FooterYamaha";
import ProductCard from '@/components/Yamaha/Product/Accessories_Detail';

import GetDetailSparepart from "api/sparepart/sparepart.js";

import Cookies from "cookies";

const Shop = function ({ detailaccessories, backend, user, ...props }) {
return (
<>
<Navbar />

<ProductCard detailaccessories={detailaccessories} backend={backend} user={user} />

<Footer />
</>
)
}

export default Shop;

export async function getServerSideProps(context) {
var {query} = context;
var detailaccessories = [];

const backend = process.env.BACKEND_SERVER_URI;

var { req, resp } = context;
const cookies = new Cookies(req, resp);
var user = "";
var userObj = (await cookies.get("user"))
? JSON.parse(await cookies.get("user"))
: null;
if (userObj) {
let sessionId = userObj["partners_login_states"].filter(function (i) {
return (
i.business_partner && i.business_partner.name.toUpperCase() == "YAMAHA"
);
});
if (sessionId.length != 0) user = userObj["username"];
}

var res = await GetDetailSparepart.GetAccDetail(query.s||0);
if (res["STATUS"] === 1) {
detailaccessories = res["DATA"]["accessories"];
}

return {
props: {
detailaccessories, backend, user,
}, // will be passed to the page component as props
};
}

+ 55
- 0
pages/yamaha/Product/Apparel_Detail.js Wyświetl plik

@@ -0,0 +1,55 @@
import React from 'react';
import Navbar from "@/components/_App/NavbarYamaha";
import Footer from "@/components/_App/FooterYamaha";
import ProductCard from '@/components/Yamaha/Product/Apparel_Detail';

import GetDetailSparepart from "api/sparepart/sparepart.js";

import Cookies from "cookies";

const Shop = function ({ detailapparel, backend, user, ...props }) {
return (
<>
<Navbar />

<ProductCard detailapparel={detailapparel} backend={backend} user={user} />

<Footer />
</>
)
}

export default Shop;

export async function getServerSideProps(context) {
var {query} = context;
var detailapparel = [];

const backend = process.env.BACKEND_SERVER_URI;

var { req, resp } = context;
const cookies = new Cookies(req, resp);
var user = "";
var userObj = (await cookies.get("user"))
? JSON.parse(await cookies.get("user"))
: null;
if (userObj) {
let sessionId = userObj["partners_login_states"].filter(function (i) {
return (
i.business_partner && i.business_partner.name.toUpperCase() == "YAMAHA"
);
});
if (sessionId.length != 0) user = userObj["username"];
}

var res = await GetDetailSparepart.GetApparelDetail(query.s||0);
if (res["STATUS"] === 1) {
detailapparel = res["DATA"]["apparels"];
}

return {
props: {
detailapparel, backend, user,
}, // will be passed to the page component as props
};
}

+ 55
- 0
pages/yamaha/Product/Helmet_Detail.js Wyświetl plik

@@ -0,0 +1,55 @@
import React from 'react';
import Navbar from "@/components/_App/NavbarYamaha";
import Footer from "@/components/_App/FooterYamaha";
import ProductCard from '@/components/Yamaha/Product/Helmet_Detail';

import GetDetailSparepart from "api/sparepart/sparepart.js";

import Cookies from "cookies";

const Shop = function ({ detailhelmet, backend, user, ...props }) {
return (
<>
<Navbar />

<ProductCard detailhelmet={detailhelmet} backend={backend} user={user} />

<Footer />
</>
)
}

export default Shop;

export async function getServerSideProps(context) {
var {query} = context;
var detailhelmet = [];

const backend = process.env.BACKEND_SERVER_URI;

var { req, resp } = context;
const cookies = new Cookies(req, resp);
var user = "";
var userObj = (await cookies.get("user"))
? JSON.parse(await cookies.get("user"))
: null;
if (userObj) {
let sessionId = userObj["partners_login_states"].filter(function (i) {
return (
i.business_partner && i.business_partner.name.toUpperCase() == "YAMAHA"
);
});
if (sessionId.length != 0) user = userObj["username"];
}

var res = await GetDetailSparepart.GetHelmetDetail(query.s||0);
if (res["STATUS"] === 1) {
detailhelmet = res["DATA"]["helmets"];
}

return {
props: {
detailhelmet, backend, user,
}, // will be passed to the page component as props
};
}

+ 55
- 0
pages/yamaha/Product/Yamalube_Detail.js Wyświetl plik

@@ -0,0 +1,55 @@
import React from 'react';
import Navbar from "@/components/_App/NavbarYamaha";
import Footer from "@/components/_App/FooterYamaha";
import ProductCard from '@/components/Yamaha/Product/Yamalube_Detail';

import GetDetailSparepart from "api/sparepart/sparepart.js";

import Cookies from "cookies";

const Shop = function ({ detailyamalube, backend, user, ...props }) {
return (
<>
<Navbar />

<ProductCard detailyamalube={detailyamalube} backend={backend} user={user} />

<Footer />
</>
)
}

export default Shop;

export async function getServerSideProps(context) {
var {query} = context;
var detailyamalube = [];

const backend = process.env.BACKEND_SERVER_URI;

var { req, resp } = context;
const cookies = new Cookies(req, resp);
var user = "";
var userObj = (await cookies.get("user"))
? JSON.parse(await cookies.get("user"))
: null;
if (userObj) {
let sessionId = userObj["partners_login_states"].filter(function (i) {
return (
i.business_partner && i.business_partner.name.toUpperCase() == "YAMAHA"
);
});
if (sessionId.length != 0) user = userObj["username"];
}

var res = await GetDetailSparepart.GetYamalubeDetail(query.s||0);
if (res["STATUS"] === 1) {
detailyamalube = res["DATA"]["yamalubes"];
}

return {
props: {
detailyamalube, backend, user,
}, // will be passed to the page component as props
};
}

+ 59
- 0
pages/yamaha/Product/Ygp_Detail.js Wyświetl plik

@@ -0,0 +1,59 @@
import React from 'react';
import Navbar from "@/components/_App/NavbarYamaha";
import Footer from "@/components/_App/FooterYamaha";
import ProductCard from '@/components/Yamaha/Product/Ygp_Detail';

import GetDetailSparepart from "api/sparepart/sparepart.js";

import Cookies from "cookies";

const Shop = function ({ detailygp, backend, user, ...props }) {
return (
<>
<Navbar />

<ProductCard detailygp={detailygp} backend={backend} user={user} />

<Footer />
</>
)
}

export default Shop;

export async function getServerSideProps(context) {
var {query} = context;
var detailygp = [];

const backend = process.env.BACKEND_SERVER_URI;

console.log("backend :", backend);

var { req, resp } = context;
const cookies = new Cookies(req, resp);
var user = "";
var userObj = (await cookies.get("user"))
? JSON.parse(await cookies.get("user"))
: null;
if (userObj) {
let sessionId = userObj["partners_login_states"].filter(function (i) {
return (
i.business_partner && i.business_partner.name.toUpperCase() == "YAMAHA"
);
});
if (sessionId.length != 0) user = userObj["username"];
}

var res = await GetDetailSparepart.GetYGPDetail(query.s||0);
if (res["STATUS"] === 1) {
detailygp = res["DATA"]["ygParts"];
}

console.log(detailygp);

return {
props: {
detailygp, backend, user,
}, // will be passed to the page component as props
};
}

+ 0
- 1
pages/yamaha/Shop/Cart.js Wyświetl plik

@@ -40,7 +40,6 @@ export async function getServerSideProps() {
cart_product = res["DATA"]["carts"];
}

console.log(cart_product);
return {
props: { cart_product, backend }, // will be passed to the page component as props
};

+ 2
- 2
public/css/style.css Wyświetl plik

@@ -7718,7 +7718,7 @@ Repair Services CSS
left: 0;
width: 100%;
height: 100%;
background: linear-gradient(135deg, #23bdb8 0%, #43e794 100%);
background: #024273;
z-index: -1;
opacity: 0;
visibility: hidden;
@@ -7736,7 +7736,7 @@ Repair Services CSS

.single-repair-services .icon {
display: inline-block;
color: #44ce6f;
color: #024273;
width: 85px;
height: 85px;
line-height: 85px;


+ 27
- 0
public/images/payment-image/BCA.svg Wyświetl plik

@@ -0,0 +1,27 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Creator: CorelDRAW 2019 (64-Bit) -->
<svg xmlns="http://www.w3.org/2000/svg" xml:space="preserve" width="3303px" height="1080px" version="1.1" style="shape-rendering:geometricPrecision; text-rendering:geometricPrecision; image-rendering:optimizeQuality; fill-rule:evenodd; clip-rule:evenodd"
viewBox="0 0 3303 1080.02"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:xodm="http://www.corel.com/coreldraw/odm/2003">
<defs>
<style type="text/css">
<![CDATA[
.fil0 {fill:#FEFEFE}
.fil2 {fill:#003399}
.fil1 {fill:#003399;fill-rule:nonzero}
]]>
</style>
</defs>
<g id="Layer_x0020_1">
<metadata id="CorelCorpID_0Corel-Layer"/>
<path class="fil0" d="M547.6 36.94c-1.08,0 -2.17,0 -3.26,0 -145.04,0 -284.66,33.69 -419.93,101.59 -54.87,130.39 -85.84,262.95 -87.47,398.22 -2.17,134.19 25.54,271.64 86.92,411.8 141.25,61.39 282.5,92.9 423.74,94.53 141.25,-1.63 282.5,-33.14 423.75,-94.53 61.38,-140.16 89.09,-277.61 86.92,-411.8 -1.63,-135.27 -32.6,-267.83 -87.47,-398.22 -135.27,-67.9 -274.89,-101.59 -419.94,-101.59 -1.08,0 -2.17,0 -3.26,0z"/>
<path class="fil1" d="M101.59 108.65l0 0c142.33,-72.79 290.1,-108.65 442.75,-108.65 1.09,0 2.18,0 3.26,0 1.09,0 2.18,0 3.26,0 152.66,0 300.42,35.86 442.76,108.65l0 0 8.69 9.24c58.13,136.9 91.27,276.53 92.9,418.32 0,2.71 0,4.89 0,7.6l0 9.78c-0.55,136.37 -29.88,275.44 -92.9,416.69l-9.78 9.24c-148.31,65.73 -296.62,98.87 -444.93,100.5 -148.3,-1.63 -296.62,-34.77 -444.92,-100.5l-9.78 -9.24c-63.02,-141.25 -92.36,-280.32 -92.9,-416.69l0 -9.78c0,-2.71 0,-4.89 0,-7.6 1.63,-141.79 34.77,-281.42 92.9,-418.32l8.69 -9.24zm446.01 -71.71c-1.08,0 -2.17,0 -3.26,0 -145.04,0 -284.66,33.69 -419.93,101.59 -54.87,130.39 -85.84,262.95 -87.47,398.22 -2.17,134.19 25.54,271.64 86.92,411.8 141.25,61.39 282.5,92.9 423.74,94.53 141.25,-1.63 282.5,-33.14 423.75,-94.53 61.38,-140.16 89.09,-277.61 86.92,-411.8 -1.63,-135.27 -32.6,-267.83 -87.47,-398.22 -135.27,-67.9 -274.89,-101.59 -419.94,-101.59 -1.08,0 -2.17,0 -3.26,0z"/>
<path class="fil2" d="M557.38 841.53c-7.6,-103.77 -2.71,-211.88 -33.68,-310.75 -28.79,-92.36 -137.99,-145.06 -140.16,-246.65 -2.17,-79.32 58.13,-171.13 171.13,-171.13 105.93,-0.54 171.67,76.6 179.27,162.44 9.24,99.42 -111.37,166.24 -142.88,260.77 -32.59,96.7 -23.36,203.73 -33.68,305.32z"/>
<path class="fil2" d="M599.21 816.54c-4.34,-90.18 -4.34,-176.56 20.65,-253.17 27.7,-86.92 85.29,-160.26 173.3,-184.17 60.3,-16.29 148.85,54.33 134.72,126.59 -11.95,58.13 -70.08,126.58 -163.52,134.19 -43.46,3.8 -61.93,38.57 -89.09,58.67 121.69,-11.95 200.46,-59.76 255.33,-109.74 8.15,42.37 13.58,113.54 -19.56,137.99 -65.19,46.17 -125.49,8.69 -202.09,30.42 -42.92,12.5 -69.54,39.66 -109.74,59.22z"/>
<path class="fil2" d="M516.09 816.54c4.89,-90.18 4.35,-176.56 -20.1,-253.17 -27.7,-86.92 -85.29,-160.26 -173.29,-184.17 -60.31,-16.29 -149.4,54.33 -134.73,126.59 11.95,58.13 70.08,126.58 163.52,134.19 42.92,3.8 61.93,38.57 89.09,58.67 -122.23,-11.95 -200.46,-59.76 -255.33,-109.74 -8.15,42.37 -13.58,113.54 19.56,137.99 65.19,46.17 125.49,8.69 202.09,30.42 42.92,12.5 68.99,39.66 109.19,59.22z"/>
<path class="fil2" d="M805.65 950.73l0 -14.67 10.87 -2.72 -10.87 -16.3 0 -27.16 48.89 67.91 -17.38 4.35 -11.95 -16.85 -19.56 5.44zm0 -60.85l0 0 0 27.16 -7.6 -10.86 -3.26 32.59 10.86 -2.71 0 14.67 -12.49 2.71 -2.18 20.1 -17.38 4.35 11.41 -88.56 17.38 -4.34 3.26 4.89zm-161.89 108.11l0 0 0 -14.12 3.8 0c5.98,-0.55 9.78,-1.09 11.41,-1.63 2.17,-0.55 4.35,-2.18 5.43,-3.81 1.63,-2.17 2.18,-4.34 2.18,-7.06 -0.55,-2.72 -1.09,-4.89 -2.72,-6.52 -1.09,-1.63 -3.26,-2.71 -5.43,-3.26 -2.18,-0.54 -7.06,-0.54 -14.67,0l0 -14.12c4.35,0 7.06,-0.55 8.15,-0.55 2.72,-0.54 4.89,-2.17 6.52,-3.8 1.63,-1.63 2.17,-3.8 1.63,-6.52 0,-2.72 -1.09,-4.89 -2.72,-5.98 -1.09,-1.62 -3.26,-2.71 -6.52,-2.71 -1.08,0 -3.26,0 -7.06,0.54l0 -14.12c5.98,-0.55 10.32,-0.55 13.04,0 3.26,0 6.52,1.08 9.23,2.71 2.72,1.09 4.89,3.26 7.07,5.98 1.63,2.72 2.71,5.98 3.26,9.78 0.54,3.8 -0.55,7.6 -2.18,10.86 -1.63,3.26 -4.34,5.98 -8.15,8.15 5.44,1.09 9.78,3.26 12.5,6.52 3.26,3.26 4.89,7.06 5.43,11.95 0,3.81 -0.54,7.61 -1.63,11.41 -1.63,3.81 -3.8,6.52 -6.52,9.24 -3.26,2.17 -6.52,3.8 -10.86,4.89 -2.72,0.54 -9.78,1.08 -20.1,2.17l-1.09 0zm102.68 -45.63l0 0 16.84 2.17c-1.09,9.24 -3.81,16.84 -8.7,22.27 -4.89,4.89 -11.95,8.7 -20.64,10.32 -10.86,1.63 -20.64,-0.54 -28.79,-6.51 -8.69,-6.52 -13.58,-15.76 -16.3,-28.8 -2.17,-13.58 -0.54,-24.99 5.43,-33.68 5.44,-8.69 14.13,-14.12 25.54,-16.3 10.32,-1.63 18.47,0 26.07,4.89 4.35,2.72 8.15,7.06 10.87,13.58l-15.76 6.52c-1.63,-3.8 -4.34,-7.06 -7.6,-8.69 -3.81,-2.17 -7.61,-2.72 -11.95,-2.17 -5.98,1.08 -10.33,4.34 -13.59,9.23 -3.25,5.43 -3.8,12.5 -2.17,22.28 2.17,10.32 5.43,17.38 9.78,21.18 4.35,3.81 9.78,5.44 15.75,4.35 4.35,-1.09 7.61,-3.26 10.33,-6.52 2.71,-3.26 4.34,-8.15 4.89,-14.12zm-102.68 -38.03l0 0 0 14.12c-2.17,0 -4.35,0.55 -7.06,0.55l-9.78 1.08 1.63 19.02 11.41 -1.09c1.08,0 2.71,0 3.8,-0.54l0 14.12c0,0 0,0 -0.54,0l-13.04 1.09 1.63 22.27 11.95 -1.08 0 14.12 -27.16 2.72 -7.61 -83.12 33.14 -2.72c0.54,-0.54 1.09,-0.54 1.63,-0.54zm-104.85 54.87l0 0 0 -14.13c3.8,0 5.98,-0.54 7.61,-1.09 2.17,-0.54 3.8,-2.17 5.43,-3.8 1.09,-2.17 1.63,-4.34 1.63,-6.52 0.54,-3.26 -0.54,-5.43 -2.17,-7.6 -1.63,-2.18 -3.81,-3.26 -6.52,-3.81 -1.63,0 -3.26,-0.54 -5.98,-0.54l0 -14.12c8.15,0 13.04,0.54 15.76,1.62 4.89,1.09 8.69,3.81 11.95,8.16 3.26,4.34 4.89,9.77 4.34,16.29 0,4.89 -1.08,9.24 -2.71,13.04 -2.18,3.26 -4.35,5.98 -7.06,8.15 -3.26,1.63 -5.98,2.72 -9.24,3.8 -3.26,0.55 -7.61,0.55 -13.04,0.55zm0 -51.61l0 0 0 14.12c-1.63,0 -3.8,0 -6.52,0l-8.15 -0.54 0 23.9 8.7 0c2.17,0 4.34,0 5.97,0l0 14.13c-1.08,0 -2.71,0 -4.34,0l-10.87 0 -0.54 31.51 -16.84 -0.55 1.63 -83.12 26.62 0.55c1.63,0 3.26,0 4.34,0zm-157 43.46l0 0 0 -25.53c4.89,1.08 8.15,1.08 9.78,1.08 2.17,-0.54 3.8,-1.08 5.43,-2.72 1.09,-1.63 2.17,-3.26 2.72,-5.97 0.54,-2.72 0,-4.89 -1.09,-7.07 -1.09,-2.17 -3.26,-3.25 -5.97,-4.34 -1.09,-0.54 -4.89,-1.09 -10.87,-2.17l0 -14.13 7.06 1.09c8.69,1.63 14.67,3.26 18.47,5.43 3.81,2.17 6.52,5.43 8.15,9.78 1.63,3.8 2.17,8.69 1.09,13.58 -1.09,5.98 -3.8,10.87 -8.15,14.13 -3.8,3.26 -9.78,4.89 -17.38,4.89 3.26,2.71 5.97,5.43 7.6,8.14 2.17,3.27 4.35,8.15 7.06,15.22l7.07 17.92 -19.56 -3.8 -8.69 -20.1c-1.09,-1.63 -1.63,-3.8 -2.72,-5.43zm47.81 -51.61l0 0 16.3 1.63 -3.81 45.09c-0.54,7.06 -0.54,11.95 -0.54,13.58 0.54,3.8 2.17,6.52 4.35,8.69 2.71,2.72 5.97,3.81 10.86,4.35 4.89,0.54 8.69,-0.54 10.87,-2.17 2.71,-1.63 4.34,-3.81 5.43,-6.52 0.54,-2.72 1.08,-7.61 1.63,-14.13l3.8 -46.18 16.84 1.63 -3.8 43.47c-0.55,10.32 -1.63,17.38 -3.26,21.18 -1.09,3.81 -3.26,7.61 -5.43,9.78 -2.72,2.72 -6.52,4.89 -10.87,5.98 -3.8,1.63 -9.23,1.63 -15.75,1.08 -8.15,-0.54 -14.13,-2.17 -17.93,-4.34 -3.8,-2.18 -7.06,-4.89 -9.24,-7.61 -2.17,-3.26 -3.26,-6.52 -3.8,-9.78 -0.54,-4.89 -0.54,-11.95 0,-21.19l4.35 -44.54zm-132.01 24.44l0 0 3.26 -13.58 35.31 9.24 -8.7 32.05c-4.34,2.72 -9.77,4.35 -17.38,4.89 -7.06,0.54 -13.58,0 -20.1,-1.63 -8.69,-2.17 -15.75,-5.97 -20.64,-10.87 -5.44,-5.43 -8.7,-11.95 -10.33,-19.01 -1.08,-7.6 -1.08,-15.21 1.09,-22.82 2.17,-8.14 5.98,-15.21 11.41,-21.18 4.89,-5.44 11.41,-8.7 19.01,-10.32 5.98,-1.63 13.04,-1.09 20.65,1.08 9.78,2.72 17.38,6.52 21.73,12.5 4.34,5.43 6.52,12.49 5.97,20.1l-16.84 -1.09c0,-4.35 -1.08,-8.15 -3.8,-11.41 -2.72,-2.72 -5.98,-5.43 -10.87,-6.52 -7.06,-1.63 -13.03,-1.08 -18.47,2.17 -5.43,3.26 -9.23,9.79 -11.95,18.48 -2.71,9.78 -2.17,17.38 0.55,23.36 3.26,5.97 8.14,9.78 14.66,11.41 3.81,1.08 7.07,1.08 10.87,1.08 3.8,-0.54 7.06,-1.63 10.32,-2.71l2.72 -10.33 -18.47 -4.89zm84.2 -33.68l0 0 -28.25 -4.89 -14.12 82.04 16.29 2.71 5.98 -34.22 3.8 0.54c3.81,0.54 6.52,1.63 8.15,2.17 1.63,1.09 2.72,2.72 4.35,4.35 0.54,1.63 2.17,4.34 3.8,8.15l0 -25.53c-1.63,0 -3.26,-0.55 -5.43,-0.55l-11.95 -2.17 3.26 -20.65 13.03 2.18c0.55,0 1.09,0 1.09,0l0 -14.13z"/>
<path class="fil2" d="M2971.07 798.61l0 -153.2 67.36 0 0 -269.47 -67.36 134.74 0 -336.29 264.57 0 67.36 774.71 -264.57 0 0 -150.49 -67.36 0zm0 -624.22l0 0 0 336.29 -67.36 134.73 67.36 0 0 153.2 -127.12 0 -52.15 142.34 -164.07 0 0 -177.11 183.08 -394.96 -37.48 0 104.3 -194.49 93.44 0zm-343.34 258.06l0 0 82.03 -194.5 -82.03 -45.63 0 240.13zm-652.45 -74.43l0 0c3.8,-22.28 3.8,-44.01 0,-64.65l0 64.65zm652.45 -165.7l0 0 0 240.13 -10.86 26.07c-161.89,-115.72 -400.93,-10.32 -414.51,111.91 -13.58,127.68 83.66,230.9 331.93,153.75l-85.29 228.18c-327.58,36.39 -454.7,-93.45 -473.72,-245.02l0 -85.84c4.89,-39.66 15.21,-78.23 29.34,-114.08 161.34,-400.94 423.2,-310.76 522.61,-318.36l14.67 -44.55 85.83 47.81zm0 571.52l0 0 -82.03 177.11 82.03 0 0 -177.11zm-946.89 172.22l0 0c175.47,-34.77 347.68,-245.56 174.93,-413.43 67.36,-35.86 109.19,-100.51 119.51,-164.61l0 -64.65c-11.95,-66.83 -63.56,-121.15 -160.8,-122.78l-133.64 -2.72 0 148.86 55.41 0c59.21,0 51.61,153.2 -22.27,153.2l-33.14 0 0 117.35c79.86,15.21 51.61,126.04 0,160.26l0 188.52zm294.44 -314.56l0 0 0 85.84c-3.26,-28.25 -3.26,-57.05 0,-85.84zm-525.87 -458.52l0 0 -108.11 209.7 48.35 -3.8 -130.38 572.07 373.22 0c16.29,0 32.05,-1.63 48.35,-4.89l0 -188.52c-9.24,6.52 -19.56,10.32 -29.88,10.32l-134.19 0 44.55 -172.21 100.5 0c7.07,0 13.58,0.54 19.02,1.63l0 -117.35 -93.44 0 37.48 -153.2 55.96 0 0 -148.86 -231.43 -4.89z"/>
</g>
</svg>

+ 22
- 0
public/images/payment-image/BNI.svg
Plik diff jest za duży
Wyświetl plik


+ 19
- 0
public/images/payment-image/BRI.svg
Plik diff jest za duży
Wyświetl plik


+ 44
- 0
public/images/payment-image/BSI.svg Wyświetl plik

@@ -0,0 +1,44 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Creator: CorelDRAW X5 -->
<svg xmlns="http://www.w3.org/2000/svg" xml:space="preserve" width="210mm" height="59.688mm" style="shape-rendering:geometricPrecision; text-rendering:geometricPrecision; image-rendering:optimizeQuality; fill-rule:evenodd; clip-rule:evenodd"
viewBox="0 0 21000 5969"
xmlns:xlink="http://www.w3.org/1999/xlink">
<defs>
<style type="text/css">
<![CDATA[
.fil1 {fill:#0CA49D;fill-rule:nonzero}
.fil0 {fill:#168F8C;fill-rule:nonzero}
.fil2 {fill:#F9AD3C;fill-rule:nonzero}
]]>
</style>
</defs>
<g id="Layer_x0020_1">
<metadata id="CorelCorpID_0Corel-Layer"/>
<path class="fil0" d="M6967 1716l-7 0 0 1c2,0 4,0 7,-1z"/>
<path class="fil1" d="M7014 1649l0 4288 1008 0 0 -3214c0,-240 -128,-965 -1008,-1074z"/>
<path class="fil1" d="M1654 5191c128,0 233,-16 314,-49 81,-33 145,-75 191,-126 46,-52 77,-110 95,-175 17,-65 26,-131 26,-198 0,-77 -10,-145 -30,-207 -20,-61 -55,-113 -103,-155 -49,-42 -113,-75 -194,-98 -80,-23 -182,-34 -304,-34l-678 0 0 1042 683 0zm-683 -2724l0 1033 505 0c107,0 204,-8 290,-23 86,-15 159,-42 220,-80 60,-38 106,-91 138,-158 32,-67 47,-151 47,-253 0,-100 -12,-182 -37,-248 -25,-66 -63,-119 -115,-159 -52,-40 -117,-69 -197,-86 -79,-17 -174,-26 -283,-26l-569 0zm569 -726c289,0 535,27 738,80 203,54 369,129 497,227 128,98 222,216 280,356 58,140 88,296 88,468 0,94 -13,184 -40,271 -27,87 -69,168 -126,244 -57,76 -131,145 -221,208 -90,63 -198,118 -324,164 276,67 480,175 612,324 132,149 198,343 198,580 0,178 -34,344 -103,497 -69,153 -170,287 -303,400 -133,114 -297,203 -492,267 -195,64 -418,96 -669,96l-1671 0 0 -4182 1539 0z"/>
<path class="fil1" d="M6157 2590c-29,46 -59,80 -90,103 -32,23 -72,34 -122,34 -44,0 -91,-14 -142,-42 -51,-28 -108,-59 -172,-93 -64,-34 -137,-66 -220,-93 -82,-28 -176,-42 -281,-42 -182,0 -317,39 -406,116 -89,77 -134,182 -134,314 0,84 27,154 80,210 54,56 124,103 211,144 87,40 187,77 299,111 112,34 226,71 343,112 117,41 231,89 343,145 112,56 212,126 299,212 87,86 157,191 211,314 54,123 80,272 80,446 0,193 -33,374 -100,542 -67,168 -164,315 -292,441 -127,125 -284,224 -471,296 -187,72 -399,108 -636,108 -130,0 -263,-13 -398,-40 -135,-27 -266,-65 -392,-113 -126,-49 -245,-107 -356,-174 -111,-67 -208,-142 -290,-224l287 -453c23,-33 53,-60 90,-82 37,-22 78,-33 122,-33 57,0 115,18 174,55 58,36 124,77 198,121 74,44 158,84 254,121 96,36 209,55 339,55 176,0 313,-39 411,-116 98,-78 146,-200 146,-369 0,-98 -27,-177 -80,-238 -54,-61 -124,-112 -211,-152 -87,-40 -186,-76 -297,-106 -111,-31 -225,-65 -342,-102 -117,-37 -231,-83 -342,-138 -111,-55 -210,-126 -297,-215 -87,-89 -158,-200 -211,-333 -54,-133 -80,-297 -80,-492 0,-157 32,-310 95,-459 63,-149 156,-282 279,-399 123,-117 273,-210 451,-280 178,-70 382,-105 612,-105 128,0 253,10 375,30 122,20 237,50 346,89 109,39 211,86 306,141 95,55 179,116 254,185l-241 451z"/>
<path class="fil2" d="M8133 104c-2,-35 -6,-70 -11,-104 226,233 548,369 897,347 167,-11 323,-57 462,-130 -108,188 -164,409 -149,642 18,288 142,544 330,734 -96,-19 -197,-27 -300,-20 -408,26 -753,262 -935,596 -72,-494 -455,-878 -935,-963 405,-198 672,-626 642,-1103z"/>
<path class="fil1" d="M9863 4226c46,0 86,-5 119,-16 33,-11 61,-25 82,-44 22,-19 38,-42 48,-69 10,-27 15,-56 15,-88 0,-62 -22,-111 -66,-146 -44,-36 -110,-54 -198,-54l-259 0 0 417 259 0zm-259 -941l0 408 214 0c46,0 85,-5 119,-15 34,-10 62,-24 84,-42 22,-18 39,-39 49,-64 11,-26 16,-53 16,-84 0,-71 -21,-122 -64,-155 -42,-33 -108,-49 -197,-49l-221 0zm221 -128c74,0 137,7 190,22 53,14 97,35 131,62 35,27 60,60 76,99 16,38 24,82 24,130 0,30 -5,58 -14,85 -9,27 -23,52 -41,75 -18,23 -42,45 -70,63 -28,18 -61,33 -99,45 88,17 154,48 198,94 45,46 67,106 67,180 0,51 -9,97 -28,139 -18,42 -46,78 -82,108 -36,30 -80,53 -132,70 -52,16 -112,24 -179,24l-423 0 0 -1197 382 0z"/>
<path class="fil1" d="M11142 3910l-188 -487c-6,-14 -11,-31 -18,-50 -6,-19 -12,-40 -18,-62 -12,45 -24,83 -36,113l-188 486 447 0zm337 444l-125 0c-15,0 -26,-4 -35,-11 -9,-7 -16,-16 -20,-28l-112 -289 -537 0 -112 289c-3,10 -10,19 -19,27 -9,8 -21,12 -35,12l-125 0 479 -1197 164 0 479 1197z"/>
<path class="fil1" d="M12606 3158l0 1197 -81 0c-13,0 -24,-2 -33,-7 -8,-4 -17,-12 -25,-23l-692 -902c1,14 2,28 3,41 1,13 1,26 1,38l0 853 -142 0 0 -1197 84 0c7,0 13,1 18,2 5,1 9,2 13,4 4,2 8,4 12,8 4,3 8,8 13,13l692 901c-1,-15 -2,-28 -3,-42 -1,-14 -1,-27 -1,-39l0 -848 142 0z"/>
<path class="fil1" d="M13074 3682l61 0c21,0 38,-3 51,-8 13,-6 25,-15 35,-28l398 -451c11,-15 23,-25 35,-30 12,-6 27,-8 45,-8l137 0 -456 515c-11,13 -22,25 -33,33 -10,8 -21,15 -33,21 15,5 29,12 41,23 12,9 24,22 36,38l476 567 -140 0c-11,0 -20,-1 -28,-2 -7,-2 -14,-4 -19,-7 -6,-3 -11,-7 -15,-11 -4,-4 -8,-9 -12,-15l-413 -475c-11,-14 -23,-24 -36,-29 -13,-6 -32,-9 -58,-9l-73 0 0 548 -161 0 0 -1197 161 0 0 525z"/>
<path class="fil1" d="M15058 3345c-5,8 -11,15 -17,19 -6,4 -13,6 -21,6 -9,0 -21,-5 -33,-14 -13,-9 -29,-20 -48,-31 -19,-12 -42,-22 -69,-32 -27,-10 -59,-14 -98,-14 -36,0 -68,5 -96,15 -27,9 -50,23 -69,39 -18,17 -32,36 -42,59 -9,22 -14,46 -14,73 0,33 8,61 24,84 17,22 38,40 65,56 27,16 58,29 92,41 35,11 70,23 105,35 36,12 71,26 105,42 35,15 65,34 92,58 27,23 49,52 65,86 17,34 25,76 25,125 0,52 -9,102 -27,148 -18,46 -44,85 -79,119 -34,34 -76,61 -126,80 -50,19 -106,29 -170,29 -78,0 -149,-14 -212,-42 -63,-28 -118,-67 -163,-114l47 -77c4,-6 10,-11 16,-15 7,-4 14,-7 22,-7 7,0 15,3 24,9 9,6 20,13 32,22 12,9 25,19 40,29 15,11 32,20 51,29 19,9 41,16 66,23 25,6 52,8 83,8 38,0 73,-5 103,-16 30,-11 55,-25 76,-44 21,-19 37,-43 48,-69 11,-27 17,-57 17,-89 0,-36 -8,-66 -25,-89 -16,-23 -38,-43 -64,-58 -27,-16 -57,-29 -92,-39 -35,-11 -70,-22 -105,-33 -36,-12 -71,-25 -105,-40 -35,-15 -65,-35 -92,-58 -27,-24 -48,-54 -65,-89 -16,-36 -24,-81 -24,-134 0,-42 8,-83 24,-123 17,-40 41,-75 72,-105 32,-31 70,-55 116,-74 46,-18 99,-28 159,-28 67,0 128,11 182,32 55,21 104,52 145,92l-39 77z"/>
<path class="fil1" d="M15778 3878l0 477 -162 0 0 -477 -439 -720 142 0c14,0 26,4 34,11 8,7 16,16 22,27l274 465c10,20 19,38 28,55 8,17 16,34 22,51 6,-17 13,-34 21,-51 8,-17 16,-36 26,-55l273 -465c5,-9 12,-18 21,-26 9,-8 20,-12 34,-12l143 0 -439 720z"/>
<path class="fil1" d="M16889 3910l-188 -487c-6,-14 -11,-31 -18,-50 -6,-19 -12,-40 -18,-62 -12,45 -24,83 -36,113l-188 486 447 0zm337 444l-125 0c-15,0 -26,-4 -35,-11 -9,-7 -16,-16 -20,-28l-112 -289 -537 0 -112 289c-3,10 -10,19 -19,27 -9,8 -21,12 -35,12l-125 0 479 -1197 164 0 479 1197z"/>
<path class="fil1" d="M17716 3737c47,0 88,-6 124,-17 36,-12 66,-28 90,-48 25,-21 43,-46 55,-75 12,-29 18,-61 18,-96 0,-71 -23,-125 -70,-161 -47,-36 -117,-54 -211,-54l-177 0 0 452 170 0zm553 617l-144 0c-30,0 -51,-11 -65,-34l-311 -428c-9,-13 -20,-23 -31,-28 -11,-6 -27,-9 -50,-9l-123 0 0 499 -161 0 0 -1197 338 0c76,0 141,8 196,23 55,15 101,37 136,66 36,29 63,64 80,105 17,41 26,86 26,137 0,42 -7,82 -20,119 -13,37 -33,70 -58,99 -25,29 -56,54 -93,74 -36,21 -77,36 -124,47 21,12 38,29 53,51l349 475z"/>
<polygon class="fil1" points="18594,4355 18431,4355 18431,3158 18594,3158 "/>
<path class="fil1" d="M19535 3910l-188 -487c-6,-14 -11,-31 -18,-50 -6,-19 -12,-40 -18,-62 -12,45 -24,83 -36,113l-188 486 447 0zm337 444l-125 0c-14,0 -26,-4 -35,-11 -9,-7 -16,-16 -20,-28l-112 -289 -537 0 -112 289c-3,10 -10,19 -19,27 -9,8 -21,12 -35,12l-125 0 479 -1197 164 0 479 1197z"/>
<polygon class="fil1" points="21000,3158 21000,4355 20838,4355 20838,3810 20192,3810 20192,4355 20030,4355 20030,3158 20192,3158 20192,3692 20838,3692 20838,3158 "/>
<polygon class="fil1" points="9604,5933 9442,5933 9442,4736 9604,4736 "/>
<path class="fil1" d="M10880 4736l0 1197 -81 0c-13,0 -24,-2 -33,-7 -8,-4 -17,-12 -25,-23l-692 -902c1,14 2,28 3,41 1,13 1,26 1,38l0 853 -142 0 0 -1197 84 0c7,0 13,1 18,2 5,1 9,2 13,4 4,2 8,4 12,8 4,3 8,8 13,13l692 901c-1,-14 -2,-28 -3,-42 -1,-14 -1,-27 -1,-39l0 -848 142 0z"/>
<path class="fil1" d="M12224 5335c0,90 -14,171 -43,245 -28,74 -69,136 -120,189 -52,52 -114,93 -187,122 -72,28 -153,43 -241,43l-447 0 0 -1197 447 0c88,0 168,14 241,43 73,28 135,69 187,122 52,52 92,115 120,189 28,74 43,155 43,245zm-166 0c0,-74 -10,-139 -30,-197 -20,-58 -48,-107 -85,-147 -37,-40 -81,-71 -134,-92 -52,-21 -111,-32 -175,-32l-285 0 0 935 285 0c65,0 123,-11 175,-32 52,-21 97,-52 134,-91 37,-40 65,-89 85,-147 20,-58 30,-124 30,-197z"/>
<path class="fil1" d="M13563 5335c0,90 -14,172 -43,247 -28,75 -68,139 -120,193 -52,54 -114,96 -187,126 -72,30 -153,44 -241,44 -88,0 -168,-15 -241,-44 -72,-30 -134,-72 -186,-126 -52,-54 -92,-118 -120,-193 -28,-75 -43,-158 -43,-247 0,-90 14,-172 43,-246 28,-75 68,-140 120,-194 52,-55 114,-97 186,-127 72,-30 153,-45 241,-45 88,0 168,15 241,45 73,30 135,72 187,127 52,54 92,119 120,194 28,75 43,157 43,246zm-166 0c0,-74 -10,-139 -30,-198 -20,-58 -48,-108 -85,-148 -37,-41 -81,-72 -134,-94 -52,-22 -111,-33 -175,-33 -64,0 -122,11 -175,33 -52,22 -97,53 -134,94 -37,40 -65,89 -85,148 -20,58 -30,124 -30,198 0,73 10,139 30,198 20,58 48,107 85,148 37,40 82,71 134,93 52,21 111,32 175,32 65,0 123,-11 175,-32 52,-22 97,-53 134,-93 37,-41 65,-90 85,-148 20,-58 30,-124 30,-198z"/>
<path class="fil1" d="M14765 4736l0 1197 -81 0c-13,0 -24,-2 -33,-7 -8,-4 -17,-12 -25,-23l-692 -902c1,14 2,28 3,41 1,13 1,26 1,38l0 853 -142 0 0 -1197 84 0c7,0 13,1 18,2 5,1 9,2 13,4 4,2 8,4 12,8 4,3 8,8 13,13l692 901c-1,-14 -2,-28 -3,-42 -1,-14 -1,-27 -1,-39l0 -848 142 0z"/>
<polygon class="fil1" points="15809,5801 15808,5933 15071,5933 15071,4736 15808,4736 15808,4868 15233,4868 15233,5265 15699,5265 15699,5392 15233,5392 15233,5801 "/>
<path class="fil1" d="M16647 4923c-5,8 -11,15 -17,19 -6,4 -13,6 -21,6 -9,0 -21,-5 -33,-14 -13,-9 -29,-20 -48,-31 -19,-12 -42,-22 -69,-32 -27,-9 -59,-14 -98,-14 -36,0 -68,5 -96,15 -27,9 -50,23 -69,39 -18,17 -32,36 -42,59 -9,22 -14,47 -14,73 0,33 8,61 24,84 17,22 38,40 65,56 27,16 58,29 92,41 35,11 70,23 105,35 36,12 71,26 105,42 35,15 65,34 92,58 27,23 49,52 65,86 17,34 25,76 25,125 0,52 -9,102 -27,148 -18,46 -44,85 -79,119 -34,34 -76,61 -126,80 -50,19 -106,29 -170,29 -78,0 -149,-14 -212,-42 -63,-28 -118,-67 -163,-114l47 -77c4,-6 10,-11 16,-15 7,-4 14,-7 22,-7 7,0 15,3 24,9 10,6 20,13 32,22 12,9 25,19 40,29 15,11 32,20 51,29 19,9 41,16 66,23 25,6 52,8 83,8 38,0 73,-5 103,-16 30,-11 55,-25 76,-44 21,-20 37,-43 48,-69 11,-27 17,-57 17,-89 0,-36 -8,-66 -25,-89 -16,-23 -38,-43 -64,-58 -27,-16 -57,-29 -92,-39 -35,-11 -70,-22 -105,-33 -36,-12 -71,-25 -105,-40 -35,-15 -65,-35 -92,-58 -27,-24 -48,-54 -65,-89 -16,-36 -24,-81 -24,-134 0,-42 8,-83 24,-123 17,-40 41,-75 72,-105 32,-31 70,-55 116,-74 46,-18 99,-28 159,-28 67,0 128,11 182,32 55,21 104,52 145,92l-39 77z"/>
<polygon class="fil1" points="17104,5933 16942,5933 16942,4736 17104,4736 "/>
<path class="fil1" d="M18046 5488l-188 -487c-6,-15 -11,-31 -18,-50 -6,-19 -12,-40 -18,-62 -12,45 -24,83 -36,113l-188 486 447 0zm337 444l-125 0c-15,0 -26,-4 -35,-11 -9,-7 -16,-16 -20,-28l-112 -289 -537 0 -112 289c-3,10 -10,19 -19,27 -9,8 -21,12 -35,12l-125 0 479 -1197 164 0 479 1197z"/>
</g>
</svg>

+ 32
- 0
public/images/payment-image/Indomaret.svg
Plik diff jest za duży
Wyświetl plik


+ 29
- 0
public/images/payment-image/Mandiri.svg Wyświetl plik

@@ -0,0 +1,29 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Creator: CorelDRAW 2019 (64-Bit) -->
<svg xmlns="http://www.w3.org/2000/svg" xml:space="preserve" width="3765px" height="1080px" version="1.1" style="shape-rendering:geometricPrecision; text-rendering:geometricPrecision; image-rendering:optimizeQuality; fill-rule:evenodd; clip-rule:evenodd"
viewBox="0 0 3765 1080.07"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:xodm="http://www.corel.com/coreldraw/odm/2003">
<defs>
<style type="text/css">
<![CDATA[
.fil0 {fill:#0061AE;fill-rule:nonzero}
.fil1 {fill:url(#id0)}
]]>
</style>
<linearGradient id="id0" gradientUnits="userSpaceOnUse" x1="1602.7" y1="664.67" x2="3619.31" y2="-169.92">
<stop offset="0" style="stop-opacity:1; stop-color:#F6AD02"/>
<stop offset="0.2" style="stop-opacity:1; stop-color:#FFF000"/>
<stop offset="0.411765" style="stop-opacity:1; stop-color:#F6AD02"/>
<stop offset="0.658824" style="stop-opacity:1; stop-color:#FFF000"/>
<stop offset="0.788235" style="stop-opacity:1; stop-color:#F6AD02"/>
<stop offset="1" style="stop-opacity:1; stop-color:#FFF000"/>
</linearGradient>
</defs>
<g id="Layer_x0020_1">
<metadata id="CorelCorpID_0Corel-Layer"/>
<path class="fil0" d="M2793.67 615.6l131.26 0 0 451.36 -131.26 0 0 -451.36zm-323.06 451.36l0 -311.24c0,-25.48 -0.45,-49.9 -1.35,-73.42 -0.89,-23.39 -2.09,-45.56 -3.9,-66.7l120.34 0 4.79 80.78c11.39,-27.72 29.67,-48.7 54.7,-62.94 24.87,-14.23 56.03,-21.27 93.2,-21.27l3.9 0 -0.45 118.53c-7.94,-0.61 -13.79,-1.05 -17.69,-1.35 -4.05,-0.31 -7.63,-0.46 -10.79,-0.46 -34.31,0 -61.13,8.39 -80.46,25.04 -19.49,16.63 -29.22,39.85 -29.22,69.37l0 243.66 -133.07 0zm-198.47 -451.36l131.27 0 0 451.36 -131.27 0 0 -451.36zm-212.71 451.36l-4.34 -64.43c-16.18,24.27 -35.66,42.56 -58.44,54.85 -22.77,12.28 -48.55,18.44 -77.33,18.44 -54.68,0 -99.04,-21.44 -133.21,-64.3 -34.02,-42.86 -51.09,-99.65 -51.09,-170.08 0,-70.88 16.63,-127.68 50.05,-170.24 33.41,-42.55 77.61,-63.83 132.61,-63.83 29.82,0 55.9,5.84 78.07,17.38 22.33,11.54 41.51,29.22 57.55,52.89l0 -258.19 130.37 0 0 556.71c0,22.78 0.3,41.35 1.04,55.44 0.75,14.23 1.95,26.08 3.3,35.36l-128.58 0zm-191.35 -224.78c0,46.61 8.09,82.73 24.12,108.35 16.04,25.63 38.67,38.36 67.59,38.36 29.51,0 53.05,-13.04 70.28,-39.26 17.23,-26.22 25.92,-62.04 25.92,-107.45 0,-45.55 -8.69,-81.66 -25.92,-107.89 -17.23,-26.37 -40.77,-39.56 -70.28,-39.56 -28.92,0 -51.55,12.88 -67.59,38.82 -16.03,25.92 -24.12,62.18 -24.12,108.63zm-620.36 224.78l0 -364.74c0,-12.88 -0.3,-26.37 -1.05,-40.46 -0.74,-14.08 -1.94,-29.51 -3.29,-46.16l124.97 0 2.7 67.74c16.93,-27.27 37.16,-47.21 60.4,-59.79 23.22,-12.58 51.69,-18.88 85.41,-18.88 49.74,0 86.6,14.09 110.73,42.41 24.13,28.16 36.27,71.32 36.27,129.31l0 290.57 -129.03 0 0 -272.57c0,-33.72 -5.84,-57.85 -17.38,-72.53 -11.53,-14.54 -30.27,-21.88 -56.34,-21.88 -25.17,0 -45.55,8.09 -60.84,24.42 -15.44,16.19 -23.08,37.77 -23.08,64.74l0 277.82 -129.47 0zm-1244.27 0l0 -364.74c0,-16.19 -0.31,-31.32 -0.9,-45.55 -0.61,-14.24 -1.5,-27.88 -2.55,-41.07l124.22 0 3.45 67.74c16.93,-27.27 37.01,-47.21 60.39,-59.79 23.23,-12.58 51.7,-18.88 85.27,-18.88 34.01,0 62.63,7.5 86.16,22.63 23.37,15.13 40.46,37 51.25,65.64 14.69,-30.43 33.86,-52.76 57.53,-66.99 23.69,-14.24 53.65,-21.28 90.07,-21.28 49.75,0 86.77,14.09 111.04,42.41 24.28,28.16 36.41,71.32 36.41,129.31l0 290.57 -130.37 0 0 -272.57c0,-33.72 -5.84,-57.85 -17.38,-72.53 -11.55,-14.54 -30.27,-21.88 -56.34,-21.88 -25.17,0 -45.4,8.09 -60.4,24.42 -15.13,16.19 -22.62,37.77 -22.62,64.74l0 277.82 -130.37 0 0 -272.57c0,-33.42 -5.69,-57.4 -17.09,-72.24 -11.38,-14.83 -29.81,-22.17 -55.29,-22.17 -25.17,0 -45.1,8.09 -59.93,24.13 -14.84,16.18 -22.19,37.76 -22.19,65.03l0 277.82 -130.36 0zm1055.06 -47.15c-26.28,22.98 -77.74,47.62 -113.1,55.56 -13.57,3.18 -28.36,4.7 -44.35,4.7 -37.93,0 -69.67,-13.38 -95.24,-39.98 -25.57,-26.75 -38.3,-60.8 -38.3,-102.17 0,-33.23 6.55,-60.24 19.51,-81.2 13.09,-21.09 31.51,-37.64 55.38,-49.76 23.62,-12 53.07,-20.69 88.1,-25.79 35.02,-5.1 71.36,-8.96 108.93,-11.3l0 -2.48c0,-107.94 -153.94,-94.5 -219.77,-48.37l-22.78 -85.03c51.44,-24.15 102.07,-36.42 164.99,-36.42 110.36,0 203.58,52.91 203.58,179.38l0 290.98 -106.95 0 0 -48.12zm-10.33 -88.05l0 -87.03c-19.88,1.92 -41.59,4.46 -64.84,7.66 -23.23,3.34 -40.88,7.17 -52.92,11.47 -14.7,5.25 -26.04,13.07 -33.74,23.1 -7.85,10.19 -11.77,23.42 -11.77,39.98 0,114.31 133.49,77.21 163.27,4.82z"/>
<path class="fil1" d="M1457 328.09c40.28,45 115.21,167.03 203.93,159.49 207.84,-17.66 326.21,-242.42 582.82,-226.38 105.41,6.59 155.05,183.4 259.58,198.63 164.76,24.01 322.61,-229.33 591.14,-214.79 110.39,5.97 156.01,191.45 266.05,202.16 102.59,9.98 263.26,-135.45 404.48,-210.84 -35.95,-60.56 -102.77,-155.13 -173.9,-159.91 -140.02,-9.42 -252.04,169.47 -375.2,138.24 -71.68,-18.17 -153.32,-215.08 -271.4,-214.69 -218.58,0.72 -369.43,217.14 -562.68,234.24 -109.66,9.7 -162.38,-234.21 -309.24,-211.79 -200.98,30.69 -406.37,196.29 -615.58,305.64z"/>
</g>
</svg>

public/images/payment-image/payment-img3.svg → public/images/payment-image/Mastercard.svg Wyświetl plik


public/images/payment-image/payment-img2.svg → public/images/payment-image/Visa.svg Wyświetl plik


+ 0
- 1
public/images/payment-image/payment-img1.svg Wyświetl plik

@@ -1 +0,0 @@
<svg xmlns="http://www.w3.org/2000/svg" role="img" viewBox="0 0 38 24" width="38" height="24" aria-labelledby="pi-amazon"><title id="pi-amazon">Amazon</title><path d="M35 0H3C1.3 0 0 1.3 0 3v18c0 1.7 1.4 3 3 3h32c1.7 0 3-1.3 3-3V3c0-1.7-1.4-3-3-3z" fill="#000" fill-rule="nonzero" opacity=".07"/><path d="M35 1c1.1 0 2 .9 2 2v18c0 1.1-.9 2-2 2H3c-1.1 0-2-.9-2-2V3c0-1.1.9-2 2-2h32" fill="#FFF" fill-rule="nonzero"/><path d="M25.26 16.23c-1.697 1.48-4.157 2.27-6.275 2.27-2.97 0-5.644-1.3-7.666-3.463-.16-.17-.018-.402.173-.27 2.183 1.504 4.882 2.408 7.67 2.408 1.88 0 3.95-.46 5.85-1.416.288-.145.53.222.248.47v.001zm.706-.957c-.216-.328-1.434-.155-1.98-.078-.167.024-.193-.148-.043-.27.97-.81 2.562-.576 2.748-.305.187.272-.047 2.16-.96 3.063-.14.138-.272.064-.21-.12.205-.604.664-1.96.446-2.29h-.001z" fill="#F90" fill-rule="nonzero"/><path d="M21.814 15.291c-.574-.498-.676-.73-.993-1.205-.947 1.012-1.618 1.315-2.85 1.315-1.453 0-2.587-.938-2.587-2.818 0-1.467.762-2.467 1.844-2.955.94-.433 2.25-.51 3.25-.628v-.235c0-.43.033-.94-.208-1.31-.212-.333-.616-.47-.97-.47-.66 0-1.25.353-1.392 1.085-.03.163-.144.323-.3.33l-1.677-.187c-.14-.033-.296-.153-.257-.38.386-2.125 2.223-2.766 3.867-2.766.84 0 1.94.234 2.604.9.842.82.762 1.918.762 3.11v2.818c0 .847.335 1.22.65 1.676.113.164.138.36-.003.482-.353.308-.98.88-1.326 1.2a.367.367 0 0 1-.414.038zm-1.659-2.533c.34-.626.323-1.214.323-1.918v-.392c-1.25 0-2.57.28-2.57 1.82 0 .782.386 1.31 1.05 1.31.487 0 .922-.312 1.197-.82z" fill="#221F1F"/></svg>

+ 0
- 1
public/images/payment-image/payment-img4.svg Wyświetl plik

@@ -1 +0,0 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 38 24" width="38" height="24" role="img" aria-labelledby="pi-paypal"><title id="pi-paypal">PayPal</title><path opacity=".07" d="M35 0H3C1.3 0 0 1.3 0 3v18c0 1.7 1.4 3 3 3h32c1.7 0 3-1.3 3-3V3c0-1.7-1.4-3-3-3z"/><path fill="#fff" d="M35 1c1.1 0 2 .9 2 2v18c0 1.1-.9 2-2 2H3c-1.1 0-2-.9-2-2V3c0-1.1.9-2 2-2h32"/><path fill="#003087" d="M23.9 8.3c.2-1 0-1.7-.6-2.3-.6-.7-1.7-1-3.1-1h-4.1c-.3 0-.5.2-.6.5L14 15.6c0 .2.1.4.3.4H17l.4-3.4 1.8-2.2 4.7-2.1z"/><path fill="#3086C8" d="M23.9 8.3l-.2.2c-.5 2.8-2.2 3.8-4.6 3.8H18c-.3 0-.5.2-.6.5l-.6 3.9-.2 1c0 .2.1.4.3.4H19c.3 0 .5-.2.5-.4v-.1l.4-2.4v-.1c0-.2.3-.4.5-.4h.3c2.1 0 3.7-.8 4.1-3.2.2-1 .1-1.8-.4-2.4-.1-.5-.3-.7-.5-.8z"/><path fill="#012169" d="M23.3 8.1c-.1-.1-.2-.1-.3-.1-.1 0-.2 0-.3-.1-.3-.1-.7-.1-1.1-.1h-3c-.1 0-.2 0-.2.1-.2.1-.3.2-.3.4l-.7 4.4v.1c0-.3.3-.5.6-.5h1.3c2.5 0 4.1-1 4.6-3.8v-.2c-.1-.1-.3-.2-.5-.2h-.1z"/></svg>

+ 0
- 1
public/images/payment-image/payment-img5.svg Wyświetl plik

@@ -1 +0,0 @@
<svg xmlns="http://www.w3.org/2000/svg" role="img" viewBox="0 0 38 24" width="38" height="24" aria-labelledby="pi-discover"><title id="pi-discover">Discover</title><path d="M35 0H3C1.3 0 0 1.3 0 3v18c0 1.7 1.4 3 3 3h32c1.7 0 3-1.3 3-3V3c0-1.7-1.4-3-3-3z" fill="#000" opacity=".07"/><path d="M35 1c1.1 0 2 .9 2 2v18c0 1.1-.9 2-2 2H3c-1.1 0-2-.9-2-2V3c0-1.1.9-2 2-2h32" fill="#FFF"/><path d="M37 16.95V21c0 1.1-.9 2-2 2H23.228c7.896-1.815 12.043-4.601 13.772-6.05z" fill="#EDA024"/><path fill="#494949" d="M9 11h20v2H9z"/><path d="M22 12c0 1.7-1.3 3-3 3s-3-1.4-3-3 1.4-3 3-3c1.7 0 3 1.3 3 3z" fill="#EDA024"/></svg>

+ 0
- 1
public/images/payment-image/payment-img6.svg Wyświetl plik

@@ -1 +0,0 @@
<svg xmlns="http://www.w3.org/2000/svg" version="1.1" role="img" x="0" y="0" width="38" height="24" viewBox="0 0 165.521 105.965" xml:space="preserve" aria-labelledby="pi-apple_pay"><title id="pi-apple_pay">Apple Pay</title><path fill="#000" d="M150.698 0H14.823c-.566 0-1.133 0-1.698.003-.477.004-.953.009-1.43.022-1.039.028-2.087.09-3.113.274a10.51 10.51 0 0 0-2.958.975 9.932 9.932 0 0 0-4.35 4.35 10.463 10.463 0 0 0-.975 2.96C.113 9.611.052 10.658.024 11.696a70.22 70.22 0 0 0-.022 1.43C0 13.69 0 14.256 0 14.823v76.318c0 .567 0 1.132.002 1.699.003.476.009.953.022 1.43.028 1.036.09 2.084.275 3.11a10.46 10.46 0 0 0 .974 2.96 9.897 9.897 0 0 0 1.83 2.52 9.874 9.874 0 0 0 2.52 1.83c.947.483 1.917.79 2.96.977 1.025.183 2.073.245 3.112.273.477.011.953.017 1.43.02.565.004 1.132.004 1.698.004h135.875c.565 0 1.132 0 1.697-.004.476-.002.952-.009 1.431-.02 1.037-.028 2.085-.09 3.113-.273a10.478 10.478 0 0 0 2.958-.977 9.955 9.955 0 0 0 4.35-4.35c.483-.947.789-1.917.974-2.96.186-1.026.246-2.074.274-3.11.013-.477.02-.954.022-1.43.004-.567.004-1.132.004-1.699V14.824c0-.567 0-1.133-.004-1.699a63.067 63.067 0 0 0-.022-1.429c-.028-1.038-.088-2.085-.274-3.112a10.4 10.4 0 0 0-.974-2.96 9.94 9.94 0 0 0-4.35-4.35A10.52 10.52 0 0 0 156.939.3c-1.028-.185-2.076-.246-3.113-.274a71.417 71.417 0 0 0-1.431-.022C151.83 0 151.263 0 150.698 0z"/><path fill="#FFF" d="M150.698 3.532l1.672.003c.452.003.905.008 1.36.02.793.022 1.719.065 2.583.22.75.135 1.38.34 1.984.648a6.392 6.392 0 0 1 2.804 2.807c.306.6.51 1.226.645 1.983.154.854.197 1.783.218 2.58.013.45.019.9.02 1.36.005.557.005 1.113.005 1.671v76.318c0 .558 0 1.114-.004 1.682-.002.45-.008.9-.02 1.35-.022.796-.065 1.725-.221 2.589a6.855 6.855 0 0 1-.645 1.975 6.397 6.397 0 0 1-2.808 2.807c-.6.306-1.228.511-1.971.645-.881.157-1.847.2-2.574.22-.457.01-.912.017-1.379.019-.555.004-1.113.004-1.669.004H14.801c-.55 0-1.1 0-1.66-.004a74.993 74.993 0 0 1-1.35-.018c-.744-.02-1.71-.064-2.584-.22a6.938 6.938 0 0 1-1.986-.65 6.337 6.337 0 0 1-1.622-1.18 6.355 6.355 0 0 1-1.178-1.623 6.935 6.935 0 0 1-.646-1.985c-.156-.863-.2-1.788-.22-2.578a66.088 66.088 0 0 1-.02-1.355l-.003-1.327V14.474l.002-1.325a66.7 66.7 0 0 1 .02-1.357c.022-.792.065-1.717.222-2.587a6.924 6.924 0 0 1 .646-1.981c.304-.598.7-1.144 1.18-1.623a6.386 6.386 0 0 1 1.624-1.18 6.96 6.96 0 0 1 1.98-.646c.865-.155 1.792-.198 2.586-.22.452-.012.905-.017 1.354-.02l1.677-.003h135.875"/><g><g><path fill="#000" d="M43.508 35.77c1.404-1.755 2.356-4.112 2.105-6.52-2.054.102-4.56 1.355-6.012 3.112-1.303 1.504-2.456 3.959-2.156 6.266 2.306.2 4.61-1.152 6.063-2.858"/><path fill="#000" d="M45.587 39.079c-3.35-.2-6.196 1.9-7.795 1.9-1.6 0-4.049-1.8-6.698-1.751-3.447.05-6.645 2-8.395 5.1-3.598 6.2-.95 15.4 2.55 20.45 1.699 2.5 3.747 5.25 6.445 5.151 2.55-.1 3.549-1.65 6.647-1.65 3.097 0 3.997 1.65 6.696 1.6 2.798-.05 4.548-2.5 6.247-5 1.95-2.85 2.747-5.6 2.797-5.75-.05-.05-5.396-2.101-5.446-8.251-.05-5.15 4.198-7.6 4.398-7.751-2.399-3.548-6.147-3.948-7.447-4.048"/></g><g><path fill="#000" d="M78.973 32.11c7.278 0 12.347 5.017 12.347 12.321 0 7.33-5.173 12.373-12.529 12.373h-8.058V69.62h-5.822V32.11h14.062zm-8.24 19.807h6.68c5.07 0 7.954-2.729 7.954-7.46 0-4.73-2.885-7.434-7.928-7.434h-6.706v14.894z"/><path fill="#000" d="M92.764 61.847c0-4.809 3.665-7.564 10.423-7.98l7.252-.442v-2.08c0-3.04-2.001-4.704-5.562-4.704-2.938 0-5.07 1.507-5.51 3.82h-5.252c.157-4.86 4.731-8.395 10.918-8.395 6.654 0 10.995 3.483 10.995 8.89v18.663h-5.38v-4.497h-.13c-1.534 2.937-4.914 4.782-8.579 4.782-5.406 0-9.175-3.222-9.175-8.057zm17.675-2.417v-2.106l-6.472.416c-3.64.234-5.536 1.585-5.536 3.95 0 2.288 1.975 3.77 5.068 3.77 3.95 0 6.94-2.522 6.94-6.03z"/><path fill="#000" d="M120.975 79.652v-4.496c.364.051 1.247.103 1.715.103 2.573 0 4.029-1.09 4.913-3.899l.52-1.663-9.852-27.293h6.082l6.863 22.146h.13l6.862-22.146h5.927l-10.216 28.67c-2.34 6.577-5.017 8.735-10.683 8.735-.442 0-1.872-.052-2.261-.157z"/></g></g></svg>

+ 0
- 1
public/images/payment-image/payment-img7.svg Wyświetl plik

@@ -1 +0,0 @@
<svg xmlns="http://www.w3.org/2000/svg" role="img" viewBox="0 0 38 24" width="38" height="24" aria-labelledby="pi-shopify_pay"><title id="pi-shopify_pay">Shopify Pay</title><path d="M35.712 24H2.288A2.279 2.279 0 0 1 0 21.731V2.269A2.279 2.279 0 0 1 2.289 0H35.71A2.279 2.279 0 0 1 38 2.269v19.462A2.279 2.279 0 0 1 35.712 24" fill="#5C6AC4"/><path d="M35.712 23.5H2.288A1.779 1.779 0 0 1 .5 21.731V2.269A1.78 1.78 0 0 1 2.289.5H35.71a1.78 1.78 0 0 1 1.789 1.769v19.462c0 .973-.797 1.769-1.788 1.769z" fill="none" stroke="#142688" stroke-opacity=".2"/><path d="M12.892 7.934l-.835-.063-.614-.61a.128.128 0 0 0-.052-.031l-.395 9.12 3.118-.678-1.132-7.654a.1.1 0 0 0-.09-.084zm-2.81-.35v-.108c0-.33-.045-.597-.12-.808.297.037.494.374.62.76-.148.047-.317.1-.5.156zm-.653 3.295s-.346-.185-.77-.185c-.622 0-.653.39-.653.488 0 .537 1.398.742 1.398 2 0 .988-.627 1.625-1.473 1.625-1.014 0-1.534-.632-1.534-.632l.272-.897s.534.457.984.457a.397.397 0 0 0 .413-.4c0-.7-1.148-.731-1.148-1.882 0-.967.695-1.904 2.098-1.904.54 0 .807.155.807.155l-.394 1.175zm-.23-4.52a.3.3 0 0 1 .171.057c-.428.202-.888.71-1.081 1.723l-.817.254c.227-.774.766-2.035 1.727-2.035zm.533 1.276v.058l-1.034.32c.199-.768.572-1.14.898-1.28.082.207.136.503.136.902zm1.487-.402l-.31.095c-.185-.532-.51-1.02-1.085-1.02-.016 0-.032 0-.048.002-.163-.216-.365-.31-.54-.31C7.899 6 7.261 7.671 7.06 8.52l-.935.29c-.29.092-.3.1-.337.374C5.759 9.39 5 15.258 5 15.258l5.855 1.097.395-9.13a.32.32 0 0 0-.031.008zm7.394 4.348c.143.022.286.044.506.044.97 0 1.498-.727 1.498-1.443 0-.65-.43-.914-1.024-.914-.242 0-.43.01-.55.044l-.43 2.269zm-.848-3.36c.462-.11 1.157-.176 1.796-.176.616 0 1.376.11 1.894.518.44.341.694.87.694 1.498a2.71 2.71 0 0 1-.991 2.126c-.573.462-1.4.672-2.225.672-.21 0-.408-.022-.551-.034l-.518 2.688h-1.487l1.388-7.292zm7.715 2.985a1.485 1.485 0 0 0-.385-.044c-.991 0-1.663 1.421-1.663 2.358 0 .517.165.87.573.87.451 0 .969-.562 1.2-1.785l.276-1.399zm-.473 4.308c.01-.309.044-.65.066-1.014h-.034c-.473.837-1.112 1.124-1.674 1.124-.914 0-1.498-.727-1.498-1.796 0-1.762 1.09-3.822 3.646-3.822a5.94 5.94 0 0 1 1.664.253l-.573 2.875c-.132.683-.232 1.73-.22 2.38h-1.377zm4.357-5.247l.242 2.284c.067.54.11.925.132 1.277h.023c.12-.363.231-.705.451-1.289l.926-2.272h1.586l-1.862 3.848c-.66 1.366-1.3 2.368-1.994 3.018-.54.507-1.178.76-1.487.826l-.418-1.289a3.28 3.28 0 0 0 .859-.43 2.6 2.6 0 0 0 .826-.914c.044-.077.055-.143.033-.253l-.843-4.806h1.526z" fill="#fff"/></svg>

Ładowanie…
Anuluj
Zapisz