yusmardianto 3 лет назад
Родитель
Сommit
8b054dab1f
22 измененных файлов: 590 добавлений и 469 удалений
  1. +106
    -145
      components/Home/Facilities.js
  2. +14
    -20
      components/Home/MainBanner.js
  3. +131
    -0
      components/Home/Nearby.js
  4. +0
    -127
      components/Home/Pricing.js
  5. +206
    -0
      components/LatestNews/LatestNews.js
  6. +7
    -7
      components/_App/NavbarHome.js
  7. +1
    -0
      package.json
  8. +1
    -1
      pages/Accomodation/Superior.js
  9. +59
    -0
      pages/LatestNews/LatestNewsDetail.js
  10. +58
    -0
      pages/LatestNews/index.js
  11. +0
    -41
      pages/api/auth/login.js
  12. +0
    -36
      pages/api/auth/logout.js
  13. +0
    -38
      pages/api/contact.js
  14. +0
    -7
      pages/api/register/create.js
  15. +0
    -7
      pages/api/transaction/AddToCart.js
  16. +0
    -7
      pages/api/transaction/AddToCheckout.js
  17. +0
    -7
      pages/api/transaction/create.js
  18. +0
    -7
      pages/api/transaction/createHino.js
  19. +0
    -8
      pages/api/transaction/createHonda.js
  20. +0
    -8
      pages/api/transaction/createSuzuki.js
  21. +2
    -3
      pages/index.js
  22. +5
    -0
      yarn.lock

+ 106
- 145
components/Home/Facilities.js Просмотреть файл

@@ -1,159 +1,120 @@
import React from 'react';
import Link from 'next/link';
import * as Icon from 'react-feather';

const OurServices = () => {
import SliderImage from 'react-zoom-slider';

import { AiFillStar } from "react-icons/ai";

const data = [
{
image: 'https://origin.pegipegi.com/jalan/images/pict1L/Y2/Y996372/Y996372001.jpg',
text: 'img1'
},
{
image: 'https://pix10.agoda.net/hotelImages/602/6025213/6025213_18111511050069716941.jpg?s=1024x768',
text: 'img2'
},
{
image: 'https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcSf-p3S-ls6H91EnKbEf3T9SO2Sz8Hh9BjpIA&usqp=CAU',
text: 'img3'
},
{
image: 'https://origin.pegipegi.com/jalan/images/pict1L/Y2/Y996372/Y996372001.jpg',
text: 'img4'
},
{
image: 'https://pix10.agoda.net/hotelImages/602/6025213/6025213_18111511050069716941.jpg?s=1024x768',
text: 'img5'
},
{
image: 'https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcSf-p3S-ls6H91EnKbEf3T9SO2Sz8Hh9BjpIA&usqp=CAU',
text: 'img6'
},
];

const ServicesArea = () => {
return (
<div className="agency-services-area pt-80 pb-50">
<div className="container">
<div className="section-title st-fs-28">
<h2>Catania Hotel Facilities</h2>
<div className="bar"></div>
</div>

<div className="row justify-content-center">
<div className="col-lg-4 col-sm-6 col-md-6">
<div className="agency-services-box">
<img src="/images/agency-image/agency-services-img1.jpg" alt="image" />

<div className="content">
<h3>
<Link href="/service-details">
<a>Room</a>
</Link>
</h3>

<Link href="/service-details">
<a className="read-more-btn">
Read More <Icon.PlusCircle />
</a>
</Link>
</div>
<>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css" />
<div className="services-area ptb-80">
<div className="container">
<div className="row h-100 justify-content-center align-items-center">
<div className="col-lg-6 col-md-12">
<img src="https://origin.pegipegi.com/jalan/images/pict1L/Y2/Y996372/Y996372001.jpg" width="800px" alt="image" />
</div>
</div>

<div className="col-lg-4 col-sm-6 col-md-6">
<div className="agency-services-box">
<img src="/images/agency-image/agency-services-img2.jpg" alt="image" />

<div className="content">
<h3>
<Link href="/service-details">
<a>Restaurant</a>
</Link>
</h3>

<Link href="/service-details">
<a className="read-more-btn">
Read More <Icon.PlusCircle />
</a>
</Link>
<div className="col-lg-6 col-md-12 services-content">
<div className="section-title">
<h2>Room Facilities</h2>
<div className="bar"></div>
</div>
</div>
</div>

<div className="col-lg-4 col-sm-6 col-md-6">
<div className="agency-services-box">
<img src="/images/agency-image/agency-services-img3.jpg" alt="image" />

<div className="content">
<h3>
<Link href="/service-details">
<a>Spa & Relax</a>
</Link>
</h3>

<Link href="/service-details">
<a className="read-more-btn">
Read More <Icon.PlusCircle />
</a>
</Link>
</div>
</div>
</div>
<div className="col-lg-4 col-sm-6 col-md-6">
<div className="agency-services-box">
<img src="/images/agency-image/agency-services-img4.jpg" alt="image" />

<div className="content">
<h3>
<Link href="/service-details">
<a>GYM & Sport Room</a>
</Link>
</h3>

<Link href="/service-details">
<a className="read-more-btn">
Read More <Icon.PlusCircle />
</a>
</Link>
</div>
</div>
</div>

<div className="col-lg-4 col-sm-6 col-md-6">
<div className="agency-services-box">
<img src="/images/agency-image/agency-services-img5.jpg" alt="image" />

<div className="content">
<h3>
<Link href="/service-details">
<a>Main Lobby</a>
</Link>
</h3>

<Link href="/service-details">
<a className="read-more-btn">
Read More <Icon.PlusCircle />
</a>
</Link>
</div>
</div>
</div>

<div className="col-lg-4 col-sm-6 col-md-6">
<div className="agency-services-box">
<img src="/images/agency-image/agency-services-img6.jpg" alt="image" />

<div className="content">
<h3>
<Link href="/service-details">
<a>Swimming Pool</a>
</Link>
</h3>

<Link href="/service-details">
<a className="read-more-btn">
Read More <Icon.PlusCircle />
</a>
</Link>
<div className="row">
<div className="col-lg-6 col-md-6">
<div className="box">
<AiFillStar style={{ marginTop: "7px" }} /><b>Free Wifi</b>
</div>
</div>

<div className="col-lg-6 col-md-6">
<div className="box">
<AiFillStar style={{ marginTop: "7px" }} /><b>Car Park [ on-site ]</b>
</div>
</div>

<div className="col-lg-6 col-md-6">
<div className="box">
<AiFillStar style={{ marginTop: "7px" }} /><b>Air conditioning</b>
</div>
</div>

<div className="col-lg-6 col-md-6">
<div className="box">
<AiFillStar style={{ marginTop: "7px" }} /><b>Closet</b>
</div>
</div>

<div className="col-lg-6 col-md-6">
<div className="box">
<AiFillStar style={{ marginTop: "7px" }} /><b>Desk</b>
</div>
</div>

<div className="col-lg-6 col-md-6">
<div className="box">
<AiFillStar style={{ marginTop: "7px" }} /><b>Free Bottle Water</b>
</div>
</div>

<div className="col-lg-6 col-md-6">
<div className="box">
<AiFillStar style={{ marginTop: "7px" }} /><b>Satellit/Cable Channel</b>
</div>
</div>

<div className="col-lg-6 col-md-6">
<div className="box">
<AiFillStar style={{ marginTop: "7px" }} /><b>Shower</b>
</div>
</div>

<div className="col-lg-6 col-md-6">
<div className="box">
<AiFillStar style={{ marginTop: "7px" }} /><b>Toilertries</b>
</div>
</div>

<div className="col-lg-6 col-md-6">
<div className="box">
<AiFillStar style={{ marginTop: "7px" }} /><b>Towels</b>
</div>
</div>
</div>
</div>
</div>
</div>
</div>

{/* Shape Images */}
<div className="shape2 rotateme">
<img src="/images/shape2.svg" alt="shape" />
</div>
<div className="shape3">
<img src="/images/shape3.svg" alt="shape" />
</div>
<div className="shape4">
<img src="/images/shape4.svg" alt="shape" />
</div>
<div className="shape6 rotateme">
<img src="/images/shape4.svg" alt="shape" />
</div>
<div className="shape7">
<img src="/images/shape4.svg" alt="shape" />
</div>
<div className="shape8 rotateme">
<img src="/images/shape2.svg" alt="shape" />
</div>
</div>
);
</>
)
}

export default OurServices;
export default ServicesArea;

+ 14
- 20
components/Home/MainBanner.js Просмотреть файл

@@ -1,5 +1,6 @@
import React from 'react';
import Link from 'next/link';
import * as Icon from 'react-feather';

const MainBanner = () => {
return (
@@ -11,7 +12,7 @@ const MainBanner = () => {
<div className="col-lg-5">
<div className="hero-content">
<h1 style={{ color: 'white' }}>Catania Hotel & Resort</h1>
<p style={{ color: 'white' }}>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Quis ipsum suspendisse ultrices gravida.</p>
<p style={{ color: 'white' }}>Catania Bangau is home to 5 guestrooms. All are tastefully furnished, and many even provide such comforts as towels, closet, internet access – wireless (complimentary), air conditioning, desk. The property's host of recreational offerings ensures you have plenty to do during your stay. Enjoy a great location and services to match at Catania Bangau.</p>

<Link href="/contact">
<a className="btn btn-primary">Get Started</a>
@@ -20,27 +21,20 @@ const MainBanner = () => {
</div>

<div className="col-lg-5 offset-lg-1">
<div className="pricing-table">
<div className="pricing-header">
<h3>Superior Room</h3>
</div>

<div className="price">
<span><sup>Rp.</sup>200.000,- <span>/Night</span></span>
</div>
<div className="agency-services-box">
<img src="/images/agency-image/agency-services-img1.jpg" alt="image" />

<div className="pricing-features">
<ul>
<li className="active">5 GB Bandwidth</li>
<li className="active">Highest Speed</li>
<li className="active">1 GB Storage</li>
<li className="active">Unlimited Website</li>
</ul>
</div>
<div className="content">
<h3>
<Link href="/service-details">
<a>Double Room<br/>Rp.180.000</a>
</Link>
</h3>

<div className="pricing-footer">
<Link href="#">
<a className="btn btn-primary">Book Now</a>
<Link href="/service-details">
<a className="read-more-btn">
Booking Now <Icon.PlusCircle />
</a>
</Link>
</div>
</div>


+ 131
- 0
components/Home/Nearby.js Просмотреть файл

@@ -0,0 +1,131 @@
import React from 'react';
import * as Icon from 'react-feather';
import Link from 'next/link';

const ServicesArea = () => {
return (
<>
<div className="services-area ptb-80">
<div className="container">
<div className="row h-100 justify-content-center align-items-center">
<div className="col-lg-6 col-md-12">
<iframe src="https://www.google.com/maps/embed?pb=!1m18!1m12!1m3!1d4877.20160768357!2d104.7667749109232!3d-2.9676806176934054!2m3!1f0!2f0!3f0!3m2!1i1024!2i768!4f13.1!3m3!1m2!1s0x2e3b772d29451467%3A0x283d2cd7399d18dd!2sCatania%20BANGAU!5e0!3m2!1sid!2sid!4v1637288512772!5m2!1sid!2sid" width="100%" height="600" allowFullScreen="" loading="lazy"></iframe>
</div>

<div className="col-lg-6 col-md-12 services-content">
<div className="section-title">
<h2>Hotel Location</h2><br />
<p>Jalan Bangau RT 029 , RW 008, Ilir Timur, Palembang, Indonesia, 30113</p>
<div className="bar"></div>
</div>

<div className="row">
<div className="col-lg-6 col-md-6">
<div className="box">
<Link href="/gallery">
<a target="_blank">
<Icon.MapPin style={{ marginTop: "12px" }} /> Dempo Car Area <br /> 1.5 km
</a>
</Link>
</div>
</div>

<div className="col-lg-6 col-md-6">
<div className="box">
<Link href="/gallery">
<a target="_blank">
<Icon.MapPin style={{ marginTop: "12px" }} /> Dempo Old Park <br /> 1.5 km
</a>
</Link>
</div>
</div>

<div className="col-lg-6 col-md-6">
<div className="box">
<Link href="/gallery">
<a target="_blank">
<Icon.MapPin style={{ marginTop: "12px" }} /> Lapangan Hatta <br /> 1.6 km
</a>
</Link>
</div>
</div>

<div className="col-lg-6 col-md-6">
<div className="box">
<Link href="/gallery">
<a target="_blank">
<Icon.MapPin style={{ marginTop: "12px" }} /> Great Mosque of Palembang <br /> 2.4 km
</a>
</Link>
</div>
</div>

<div className="col-lg-6 col-md-6">
<div className="box">
<Link href="/gallery">
<a target="_blank">
<Icon.MapPin style={{ marginTop: "12px" }} /> Monpera <br /> 2.6 km
</a>
</Link>
</div>
</div>

<div className="col-lg-6 col-md-6">
<div className="box">
<Link href="/gallery">
<a target="_blank">
<Icon.MapPin style={{ marginTop: "12px" }} /> Ampera Bridge <br /> 2.7 km
</a>
</Link>
</div>
</div>

<div className="col-lg-6 col-md-6">
<div className="box">
<Link href="/gallery">
<a target="_blank">
<Icon.MapPin style={{ marginTop: "12px" }} /> Kambang Iwak Besak Park <br /> 3.5 km
</a>
</Link>
</div>
</div>

<div className="col-lg-6 col-md-6">
<div className="box">
<Link href="/gallery">
<a target="_blank">
<Icon.MapPin style={{ marginTop: "12px" }} /> Benteng Kuto Besak <br /> 4.5 km
</a>
</Link>
</div>
</div>

<div className="col-lg-6 col-md-6">
<div className="box">
<Link href="/gallery">
<a target="_blank">
<Icon.MapPin style={{ marginTop: "12px" }} /> Kemaro Island <br /> 5.2 km
</a>
</Link>
</div>
</div>

<div className="col-lg-6 col-md-6">
<div className="box">
<Link href="/gallery">
<a target="_blank">
<Icon.MapPin style={{ marginTop: "12px" }} /> Jakabaring Sport Complex <br /> 6.3 km
</a>
</Link>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</>
)
}

export default ServicesArea;

+ 0
- 127
components/Home/Pricing.js Просмотреть файл

@@ -1,127 +0,0 @@
import React from 'react';
import Link from 'next/link'

const PricingStyleOne = () => {
return (
<div className="pricing-area pt-80 pb-50 bg-f9f6f6">
<div className="container">
<div className="section-title">
<h2>Catania Room Pricing</h2>
<div className="bar"></div><br />
</div>

<div className="row justify-content-center">
<div className="col-lg-4 col-md-6">
<div className="pricing-table">
<div className="pricing-header">
<h3>Superior Room</h3>
</div>

<div className="price">
<span><sup>Rp.</sup>200.000,- <span>/Night</span></span>
</div>

<div className="pricing-features">
<ul>
<li className="active">5 GB Bandwidth</li>
<li className="active">Highest Speed</li>
<li className="active">1 GB Storage</li>
<li className="active">Unlimited Website</li>
<li className="active">Unlimited Users</li>
<li className="active">24x7 Great Support</li>
<li>Data Security and Backups</li>
<li>Monthly Reports and Analytics</li>
</ul>
</div>

<div className="pricing-footer">
<Link href="#">
<a className="btn btn-primary">Select Plan</a>
</Link>
</div>
</div>
</div>

<div className="col-lg-4 col-md-6">
<div className="pricing-table">
<div className="pricing-header">
<h3>Deluxe Room</h3>
</div>

<div className="price">
<span><sup>Rp.</sup>400.000,- <span>/Night</span></span>
</div>

<div className="pricing-features">
<ul>
<li className="active">10 GB Bandwidth</li>
<li className="active">Highest Speed</li>
<li className="active">3 GB Storage</li>
<li className="active">Unlimited Website</li>
<li className="active">Unlimited Users</li>
<li className="active">24x7 Great Support</li>
<li className="active">Data Security and Backups</li>
<li>Monthly Reports and Analytics</li>
</ul>
</div>

<div className="pricing-footer">
<Link href="#">
<a className="btn btn-primary">Select Plan</a>
</Link>
</div>
</div>
</div>

<div className="col-lg-4 col-md-6">
<div className="pricing-table">
<div className="pricing-header">
<h3>Executive Room</h3>
</div>

<div className="price">
<span><sup>Rp.</sup>600.000,- <span>/Night</span></span>
</div>

<div className="pricing-features">
<ul>
<li className="active">Highest Speed</li>
<li className="active">5 GB Storage</li>
<li className="active">Unlimited Website</li>
<li className="active">Unlimited Users</li>
<li className="active">24x7 Great Support</li>
<li className="active">Data Security and Backups</li>
<li className="active">Monthly Reports and Analytics</li>
<li classname="active">15 GB Bandwith</li>
</ul>
</div>

<div className="pricing-footer">
<Link href="#">
<a className="btn btn-primary">Select Plan</a>
</Link>
</div>
</div>
</div>
</div>
</div>

{/* Shape Images */}
<div className="shape8 rotateme">
<img src="/images/shape2.svg" alt="shape" />
</div>
<div className="shape2 rotateme">
<img src="/images/shape2.svg" alt="shape" />
</div>
<div className="shape7">
<img src="/images/shape4.svg" alt="shape" />
</div>
<div className="shape4">
<img src="/images/shape4.svg" alt="shape" />
</div>
</div>
);

}

export default PricingStyleOne;

+ 206
- 0
components/LatestNews/LatestNews.js Просмотреть файл

@@ -0,0 +1,206 @@
import React from 'react';
import * as Icon from 'react-feather';
import Link from 'next/link';

const News = function ({ backend, news, othernews, ...props }) {

// const NewsList = news.map((data) => {
// return (
// <>
// <div className="col-lg-6 col-md-6">
// <div className="single-blog-post">
// <div className="blog-image">
// <Link href="/blog-details">
// <a>
// <img src={`${backend}${data.img[0]["url"]}`} />
// </a>
// </Link>

// <div className="date">
// <Icon.Calendar /> {data.published_at}
// </div>
// </div>

// <div className="blog-post-content">
// <h3>
// <Link href={"/yamaha/LatestNews/LatestNewsDetail?s=" + data.id}>
// <a>{data.title}</a>
// </Link>
// </h3>

// <span>By <a href="#">Admin</a></span>

// <Link href={"/yamaha/LatestNews/LatestNewsDetail?s=" + data.id}>
// <a className="read-more-btn">
// Read More <Icon.ArrowRight />
// </a>
// </Link>
// </div>
// </div>
// </div>
// </>
// )
// })

// const PopularNews = othernews.map((data) => {
// return (
// <article className="item">
// <Link href="/blog-details">
// <a className="thumb">
// <span className="fullimage cover bg1" role="img"></span>
// </a>
// </Link>

// <div className="info">
// <img src={`${backend}${data.img[0]["url"]}`} style={{ width: "100px" }} />
// <time>{data.published_at}</time>
// <h4 className="title usmall">
// <Link href="/blog-details">
// <a style={{ fontSize: "15px" }}>{data.title}</a>
// </Link>
// </h4>
// </div>

// <div className="clear"></div>
// </article>
// )
// })
return (
<div>
<div className="blog-area ptb-80">
<div className="container">
<div className="row">
<div className="col-lg-8 col-md-12">
<div className="row justify-content-center">

<div className="col-lg-6 col-md-6">
<div className="single-blog-post">
<div className="blog-image">
<Link href="/blog-details">
<a>
<img src="/images/blog-image/blog1.jpg" />
</a>
</Link>

<div className="date">
<Icon.Calendar /> March 15, 2021
</div>
</div>

<div className="blog-post-content">
<h3>
<Link href="/yamaha/LatestNews/LatestNewsDetail">
<a>The Security Risks of Changing Package Owners</a>
</Link>
</h3>

<span>By <a href="#">Admin</a></span>

<Link href="/yamaha/LatestNews/LatestNewsDetail">
<a className="read-more-btn">
Read More <Icon.ArrowRight />
</a>
</Link>
</div>
</div>
</div>

<div className="col-lg-6 col-md-6">
<div className="single-blog-post">
<div className="blog-image">
<Link href="/blog-details">
<a>
<img src="/images/blog-image/blog1.jpg" />
</a>
</Link>

<div className="date">
<Icon.Calendar /> March 15, 2021
</div>
</div>

<div className="blog-post-content">
<h3>
<Link href="/yamaha/LatestNews/LatestNewsDetail">
<a>The Security Risks of Changing Package Owners</a>
</Link>
</h3>

<span>By <a href="#">Admin</a></span>

<Link href="/yamaha/LatestNews/LatestNewsDetail">
<a className="read-more-btn">
Read More <Icon.ArrowRight />
</a>
</Link>
</div>
</div>
</div>

{/* Pagination */}
<div className="col-lg-12 col-md-12">
<div className="pagination-area">
<nav aria-label="Page navigation">
<ul className="pagination justify-content-center">
<li className="page-item"><a className="page-link" href="#">Prev</a></li>

<li className="page-item active"><a className="page-link" href="#">1</a></li>

<li className="page-item"><a className="page-link" href="#">2</a></li>

<li className="page-item"><a className="page-link" href="#">3</a></li>

<li className="page-item"><a className="page-link" href="#">Next</a></li>
</ul>
</nav>
</div>
</div>
</div>
</div>

<div className="col-lg-4 col-md-12">
<div className="widget-area" id="secondary">
<div className="widget widget_search">
<form className="search-form">
<label>
<input type="search" className="search-field" placeholder="Search..." />
</label>
<button type="submit">
<Icon.Search />
</button>
</form>
</div>

<div className="widget widget_categories">
<h3 className="widget-title">Categories</h3>

<ul>
<li><a href="#">Business</a></li>
<li><a href="#">Privacy</a></li>
<li><a href="#">Technology</a></li>
<li><a href="#">Tips</a></li>
<li><a href="#">Uncategorized</a></li>
</ul>
</div>

<div className="widget widget_tag_cloud">
<h3 className="widget-title">Tags</h3>

<div className="tagcloud">
<a href="#">Motor <span className="tag-link-count">(3)</span></a>
<a href="#">Services <span className="tag-link-count">(3)</span></a>
<a href="#">Sparepart <span className="tag-link-count">(2)</span></a>
<a href="#">Promo <span className="tag-link-count">(2)</span></a>
<a href="#">Event <span className="tag-link-count">(1)</span></a>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
)
}

export default News;

+ 7
- 7
components/_App/NavbarHome.js Просмотреть файл

@@ -59,10 +59,10 @@ const NavbarStyleTwo = () => {
</Link>
</li>

<li className="nav-item">
<Link href="/#">
{/* <li className="nav-item">
<Link href="/Accomodation/Superior">
<a onClick={toggleNavbar} className="nav-link">
Accomodation <Icon.ChevronDown />
Accomodation
</a>
</Link>

@@ -85,15 +85,15 @@ const NavbarStyleTwo = () => {
</Link>
</li>
</ul>
</li>
</li> */}

<li className="nav-item">
{/* <li className="nav-item">
<Link href="/fasilitas">
<a onClick={toggleNavbar} className="nav-link">
Facilities
</a>
</Link>
</li>
</li> */}

<li className="nav-item">
<Link href="/gallery" activeClassName="active">
@@ -104,7 +104,7 @@ const NavbarStyleTwo = () => {
</li>

<li className="nav-item">
<Link href="/#">
<Link href="/LatestNews">
<a onClick={toggleNavbar} className="nav-link">
Blog
</a>


+ 1
- 0
package.json Просмотреть файл

@@ -20,6 +20,7 @@
"react-dom": "^17.0.1",
"react-feather": "^2.0.9",
"react-hook-form": "^6.15.4",
"react-icons": "^4.3.1",
"react-masonry-component": "^6.2.1",
"react-owl-carousel3": "^2.2.5",
"react-redux": "^7.1.0",


+ 1
- 1
pages/Accomodation/Superior.js Просмотреть файл

@@ -10,7 +10,7 @@ const BlogDetails = () => {
<>
<Navbar />

<PageBanner pageTitle="Superior Room" />
<PageBanner pageTitle="Double Room" />

<SuperiorContent />



+ 59
- 0
pages/LatestNews/LatestNewsDetail.js Просмотреть файл

@@ -0,0 +1,59 @@
import React from 'react';
import Navbar from "@/components/_App/NavbarHome";
import Footer from "@/components/_App/Footer";
import PageBanner from '@/components/Common/PageBanner';
// import LatestNewsDetail from '@/components/LatestNews/LatestNewsDetail';

// import GetLatestNews from "api/latest_news/news.js"

// import Cookies from "cookies";

const NewsDetail = function ({ backend, news, othernews, user, ...props }) {
return (
<>
<Navbar username={user} />

{/* <LatestNewsDetail news={news} othernews={othernews} backend={backend} /> */}

<Footer />
</>
)
}

export default NewsDetail;

// export async function getServerSideProps(context) {
// var {query} = context;
// var news = [];
// var othernews = [];
// 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 GetLatestNews.GetDetailNews(query.s||0);
// if (res["STATUS"] === 1) {
// news = res["DATA"]["latestNews"];
// }

// var res = await GetLatestNews.GetOtherNewsYamaha();
// if (res["STATUS"] === 1) {
// othernews = res["DATA"]["latestNews"];
// }

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

+ 58
- 0
pages/LatestNews/index.js Просмотреть файл

@@ -0,0 +1,58 @@
import React from 'react';
import Navbar from "@/components/_App/NavbarHome";
import Footer from "@/components/_App/Footer";
import PageBanner from '@/components/Common/PageBanner';
import LatestNews from '@/components/LatestNews/LatestNews';

// import GetLatestNews from "api/latest_news/news.js"

const News = function ({ backend, news, othernews, user, ...props }) {
return (
<>
<Navbar username={user} />

<PageBanner pageTitle="Latest News" />

<LatestNews news={news} othernews={othernews} backend={backend} />

<Footer />
</>
)
}

export default News;

// export async function getServerSideProps(context) {
// var news = [];
// var othernews = [];
// 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 GetLatestNews.GetNewsYamaha();
// if (res["STATUS"] === 1) {
// news = res["DATA"]["latestNews"];
// }

// var res = await GetLatestNews.GetOtherNewsYamaha();
// if (res["STATUS"] === 1) {
// othernews = res["DATA"]["latestNews"];
// }

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

+ 0
- 41
pages/api/auth/login.js Просмотреть файл

@@ -1,41 +0,0 @@
import auth from "api/auth/auth";
import Cookies from "cookies";

export default async function handler(req, res) {
if (req.method == "POST") {
const cookies = new Cookies(req, res);
var email = req.body.email;
var pass = req.body.pass;
var partner = req.body.partner;
var resp = await auth.login(partner, email, pass);
var login = resp["res"];
// console.log(login["DATA"]);
if (login["STATUS"] == 0) {
return res
.status(400)
.send(login["DATA"] + ". Check user and password again.");
}
var userObj = resp["cookies"]["user"];
await cookies.set("myToken", resp["cookies"]["token"], {
httpOnly: true, // true by default
});
await cookies.set("user", JSON.stringify(userObj), {
httpOnly: true, // true by default
});
let sessionId = userObj["partners_login_states"].filter(
(i) =>
i.business_partner &&
i.business_partner.name.toUpperCase() == partner.toUpperCase()
);
if (sessionId.length == 0) return res.status(400).send("Login Failed");
return res.status(200).send("Success Login");
// res.status(200).json(login);
// res.writeHead(200, {
// Location: "../home",
// //add other headers here...
// });
// res.end();
} else {
return res.status(400).send("NOT FOUND");
}
}

+ 0
- 36
pages/api/auth/logout.js Просмотреть файл

@@ -1,36 +0,0 @@
import auth from "../../../api/auth/auth";
import Cookies from "cookies";

export default async function handler(req, res) {
if (req.method == "POST") {
const cookies = new Cookies(req, res);
const partner = req.body.p;
var user = await cookies.get("user");
var token = await cookies.get("myToken");
var userObj = user ? JSON.parse(user) : null;
let sessionId = userObj["partners_login_states"].filter(
(i) =>
i.business_partner &&
i.business_partner.name.toUpperCase() == partner.toUpperCase()
);
sessionId.forEach(async (i) => {
var resp = await auth.logout(i.id, token);
if (resp["STATUS"] == 0) {
return res.status(400).send(resp["DATA"]);
}
});
userObj["partners_login_states"] = userObj[
"partners_login_states"
].filter(
(i) =>
i.business_partner &&
i.business_partner.name.toUpperCase() != partner.toUpperCase()
);
await cookies.set("user", JSON.stringify(userObj), {
httpOnly: true, // true by default
});
return res.status(200).send("Success Logout");
} else {
return res.status(400).send("NOT FOUND");
}
}

+ 0
- 38
pages/api/contact.js Просмотреть файл

@@ -1,38 +0,0 @@
import nodemailer from 'nodemailer';
import sgTransport from 'nodemailer-sendgrid-transport';

const transporter = {
auth: {
// Use SendGrid API key
api_key: '##'
}
}

const mailer = nodemailer.createTransport(sgTransport(transporter));

export default async (req, res) => {
console.log(req.body)
const {name, email, number, subject, text} = req.body;

const data = {
to: 'example@gmail.com',
from: email,
subject: 'Hi there',
text: text,
html: `
<b>From:</b> ${name} <br />
<b>Number:</b> ${number} <br />
<b>Subject:</b> ${subject} <br />
<b>Message:</b> ${text}
`
};

try {
const response = await mailer.sendMail(data);
console.log(response)
res.status(200).send("Email send successfully")
} catch (error) {
console.log(error);
res.status(500).send("Error proccessing charge");
}
}

+ 0
- 7
pages/api/register/create.js Просмотреть файл

@@ -1,7 +0,0 @@
import Register from "api/auth/auth";

export default async function handler(req, resp) {
var input = req.body;
var res = await Register.register(input);
resp.status(200).json(res);
}

+ 0
- 7
pages/api/transaction/AddToCart.js Просмотреть файл

@@ -1,7 +0,0 @@
import Transaction from "../../../api/transaction/transaction";

export default async function handler(req, resp) {
var input = req.body;
var res = await Transaction.AddToCart(input);
resp.status(200).json(res);
}

+ 0
- 7
pages/api/transaction/AddToCheckout.js Просмотреть файл

@@ -1,7 +0,0 @@
import Transaction from "../../../api/transaction/transaction";

export default async function handler(req, resp) {
var input = req.body;
var res = await Transaction.AddToCheckout(input);
resp.status(200).json(res);
}

+ 0
- 7
pages/api/transaction/create.js Просмотреть файл

@@ -1,7 +0,0 @@
import Transaction from "api/transaction/transaction";

export default async function handler(req, resp) {
var input = req.body;
var res = await Transaction.newTransactionYamaha(input);
resp.status(200).json(res);
}

+ 0
- 7
pages/api/transaction/createHino.js Просмотреть файл

@@ -1,7 +0,0 @@
import Transaction from "api/transaction/transaction";

export default async function handler(req, resp) {
var input = req.body;
var res = await Transaction.newTransactionHino(input);
resp.status(200).json(res);
}

+ 0
- 8
pages/api/transaction/createHonda.js Просмотреть файл

@@ -1,8 +0,0 @@
import Transaction from "api/transaction/transaction";

export default async function handler(req, resp) {
var input = req.body;
var res = await Transaction.newTransactionHonda(input);
console.log(input);
resp.status(200).json(res);
}

+ 0
- 8
pages/api/transaction/createSuzuki.js Просмотреть файл

@@ -1,8 +0,0 @@
import Transaction from "api/transaction/transaction";

export default async function handler(req, resp) {
var input = req.body;
var res = await Transaction.newTransactionSuzuki(input);
console.log(input);
resp.status(200).json(res);
}

+ 2
- 3
pages/index.js Просмотреть файл

@@ -1,7 +1,7 @@
import React from 'react';
import Navbar from "@/components/_App/NavbarHome";
import MainBanner from "@/components/Home/MainBanner";
import Pricing from "@/components/Home/Pricing";
import Nearby from "@/components/Home/Nearby";
import Facilities from "@/components/Home/Facilities";
import PromoCarousel from "@/components/Home/PromoCarousel";
import Footer from "@/components/_App/Footer";
@@ -12,9 +12,8 @@ const Index = () => {
<Navbar />
{/* <PromoCarousel /> */}
<MainBanner />
<Pricing />
<Facilities />
<iframe src="https://www.google.com/maps/embed?pb=!1m18!1m12!1m3!1d4877.20160768357!2d104.7667749109232!3d-2.9676806176934054!2m3!1f0!2f0!3f0!3m2!1i1024!2i768!4f13.1!3m3!1m2!1s0x2e3b772d29451467%3A0x283d2cd7399d18dd!2sCatania%20BANGAU!5e0!3m2!1sid!2sid!4v1637288512772!5m2!1sid!2sid" width="100%" height="450" allowFullScreen="" loading="lazy"></iframe>
<Nearby />
<Footer />
</>
)


+ 5
- 0
yarn.lock Просмотреть файл

@@ -2682,6 +2682,11 @@ react-hook-form@^6.15.4:
resolved "https://registry.yarnpkg.com/react-hook-form/-/react-hook-form-6.15.8.tgz#725c139d308c431c4611e4b9d85a49f01cfc0e7a"
integrity sha512-prq82ofMbnRyj5wqDe8hsTRcdR25jQ+B8KtCS7BLCzjFHAwNuCjRwzPuP4eYLsEBjEIeYd6try+pdLdw0kPkpg==

react-icons@^4.3.1:
version "4.3.1"
resolved "https://registry.yarnpkg.com/react-icons/-/react-icons-4.3.1.tgz#2fa92aebbbc71f43d2db2ed1aed07361124e91ca"
integrity sha512-cB10MXLTs3gVuXimblAdI71jrJx8njrJZmNMEMC+sQu5B/BIOmlsAjskdqpn81y8UBVEGuHODd7/ci5DvoSzTQ==

react-is@16.13.1, react-is@^16.7.0, react-is@^16.8.1:
version "16.13.1"
resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4"


Загрузка…
Отмена
Сохранить