Вы не можете выбрать более 25 тем Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.

249 строки
14 KiB

  1. import React, { useState } from "react";
  2. import Link from '@/utils/ActiveLink';
  3. import * as Icon from 'react-feather';
  4. export default function NavbarYamaha({ username, ...props }) {
  5. const [menu, setMenu] = React.useState(true)
  6. const toggleNavbar = () => {
  7. setMenu(!menu)
  8. }
  9. React.useEffect(() => {
  10. let elementId = document.getElementById("header");
  11. document.addEventListener("scroll", () => {
  12. if (window.scrollY > 170) {
  13. elementId.classList.add("is-sticky");
  14. } else {
  15. elementId.classList.remove("is-sticky");
  16. }
  17. });
  18. window.scrollTo(0, 0);
  19. })
  20. const classOne = menu ? 'collapse navbar-collapse' : 'collapse navbar-collapse show';
  21. const classTwo = menu ? 'navbar-toggler navbar-toggler-right collapsed' : 'navbar-toggler navbar-toggler-right';
  22. return (
  23. <header id="header" className="headroom navbar-style-two">
  24. <div className="startp-nav">
  25. <div className="container">
  26. <nav className="navbar navbar-expand-md navbar-light">
  27. <Link href="/yamaha">
  28. <a onClick={toggleNavbar} className="navbar-brand">
  29. <img src="/images/Home/businees/ThamrinBrothers.png" width="200px" alt="logo" />
  30. </a>
  31. </Link>
  32. <button
  33. onClick={toggleNavbar}
  34. className={classTwo}
  35. type="button"
  36. data-toggle="collapse"
  37. data-target="#navbarSupportedContent" aria-controls="navbarSupportedContent"
  38. aria-expanded="false"
  39. aria-label="Toggle navigation"
  40. >
  41. <span className="icon-bar top-bar"></span>
  42. <span className="icon-bar middle-bar"></span>
  43. <span className="icon-bar bottom-bar"></span>
  44. </button>
  45. <div className={classOne} id="navbarSupportedContent">
  46. <ul className="navbar-nav ms-auto">
  47. <li className="nav-item">
  48. <Link href="/yamaha" activeClassName="active">
  49. <a onClick={toggleNavbar} className="nav-link">
  50. Home
  51. </a>
  52. </Link>
  53. </li>
  54. <li className="nav-item">
  55. <Link href="#">
  56. <a onClick={e => e.preventDefault()} className="nav-link">
  57. Product <Icon.ChevronDown />
  58. </a>
  59. </Link>
  60. <ul className="dropdown-menu">
  61. <li className="nav-item">
  62. <Link href="/yamaha/Product/Motor" activeClassName="active">
  63. <a onClick={toggleNavbar} className="nav-link">Motor Product</a>
  64. </Link>
  65. </li>
  66. <li className="nav-item">
  67. <Link href="/yamaha/Product/Sparepart" activeClassName="active">
  68. <a onClick={toggleNavbar} className="nav-link">Sparepart Product</a>
  69. </Link>
  70. </li>
  71. <li className="nav-item">
  72. <Link href="https://booking.thamrin.co.id/" activeClassName="active">
  73. <a target="_blank" onClick={toggleNavbar} className="nav-link">Service Product</a>
  74. </Link>
  75. </li>
  76. </ul>
  77. </li>
  78. <li className="nav-item">
  79. <Link href="/yamaha/LatestNews">
  80. <a onClick={toggleNavbar} className="nav-link">
  81. Latest News
  82. </a>
  83. </Link>
  84. </li>
  85. {/* <li className="nav-item">
  86. <Link href="/yamaha/Carrer" activeClassName="active">
  87. <a onClick={toggleNavbar} className="nav-link">
  88. Carrer
  89. </a>
  90. </Link>
  91. </li> */}
  92. <li className="nav-item">
  93. <Link href="/yamaha/AboutUs">
  94. <a onClick={toggleNavbar} className="nav-link">
  95. About Us
  96. </a>
  97. </Link>
  98. </li>
  99. <li className="nav-item">
  100. <Link href="/yamaha/ContactUs" activeClassName="active">
  101. <a onClick={toggleNavbar} className="nav-link">Contact</a>
  102. </Link>
  103. </li>
  104. </ul>
  105. </div>
  106. <div style={{display : 'none'}} className="others-option">
  107. <Link href="/yamaha/login">
  108. {!username || username == "" ? (
  109. <Link href="/yamaha/login">
  110. <a className="btn btn-primary">Login</a>
  111. </Link>
  112. ) : (
  113. <ul className="navbar-nav ms-auto">
  114. <li className="nav-item">
  115. <Link href="#">
  116. <a onClick={e => e.preventDefault()} className="nav-link" >
  117. {username} <Icon.ChevronDown />
  118. </a>
  119. </Link>
  120. <ul className="dropdown-menu">
  121. <li className="nav-item">
  122. <Link href="/yamaha/Profile" activeClassName="active">
  123. <a onClick={toggleNavbar} className="nav-link">Profile</a>
  124. </Link>
  125. </li>
  126. <li className="nav-item">
  127. <Link href="/yamaha/Shop/Cart">
  128. <a className="cart-wrapper-btn">
  129. <Icon.ShoppingCart />
  130. </a>
  131. </Link>
  132. </li>
  133. <li className="nav-item">
  134. <Link href="/yamaha/Shop/Checkout" activeClassName="active">
  135. <a onClick={toggleNavbar} className="nav-link">Checkout</a>
  136. </Link>
  137. </li>
  138. <li className="nav-item">
  139. <Link href="/yamaha/Product/Sparepart" activeClassName="active">
  140. <a onClick={toggleNavbar} className="nav-link">Pesanan Saya</a>
  141. </Link>
  142. </li>
  143. <li className="nav-item">
  144. <div
  145. onClick={async (e) => {
  146. e.preventDefault();
  147. fetch("/api/auth/logout", {
  148. method: "POST",
  149. headers: {
  150. "Content-Type": "application/json",
  151. },
  152. body: JSON.stringify({ p: "YAMAHA" }),
  153. }).then((res) => {
  154. //if (res.ok) {
  155. window.location.href = "../yamaha";
  156. // }
  157. // else{
  158. // }
  159. });
  160. }}
  161. >
  162. <Link href="https://booking.thamrin.co.id/" activeClassName="active">
  163. <a target="_blank" onClick={toggleNavbar} className="nav-link">Logout</a>
  164. </Link>
  165. </div>
  166. </li>
  167. </ul>
  168. </li>
  169. </ul>
  170. // <CustomDropdown
  171. // noLiPadding
  172. // navDropdown
  173. // buttonText={
  174. // username.length > 12 ? username.substring(0, 9) + ".." : username
  175. // }
  176. // buttonProps={{
  177. // className: classes.navLink,
  178. // color: "transparent",
  179. // }}
  180. // buttonIcon={Person}
  181. // dropdownList={[
  182. // <div
  183. // onClick={async (e) => {
  184. // e.preventDefault();
  185. // fetch("/api/auth/logout", {
  186. // method: "POST",
  187. // headers: {
  188. // "Content-Type": "application/json",
  189. // },
  190. // body: JSON.stringify({ p: "YAMAHA" }),
  191. // }).then((res) => {
  192. // //if (res.ok) {
  193. // window.location.href = "../yamaha/home";
  194. // /*}
  195. // else{
  196. // }*/
  197. // });
  198. // }}
  199. // >
  200. // <Link href="/yamaha/login">
  201. // <a className="btn btn-primary">Logout</a>
  202. // </Link>
  203. // </div>,
  204. // <div>
  205. // <Link href="/yamaha/login">
  206. // <a className="btn btn-primary">Profile</a>
  207. // </Link>
  208. // </div>,
  209. // <div>
  210. // <Link href="/yamaha/login">
  211. // <a className="btn btn-primary">Pesanan Saya</a>
  212. // </Link>
  213. // </div>
  214. // // <a href="/yamaha/profile/profile" className={classes.dropdownLink}>Profile</a>,
  215. // ]}
  216. // />
  217. )}
  218. </Link>
  219. </div>
  220. </nav>
  221. </div>
  222. </div>
  223. </header>
  224. );
  225. }