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

244 строки
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={e => e.preventDefault()} 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. <li className="nav-item">
  105. <Link href="/yamaha/Shop/Cart">
  106. <a className="cart-wrapper-btn">
  107. <Icon.ShoppingCart />
  108. </a>
  109. </Link>
  110. </li>
  111. </ul>
  112. </div>
  113. <div className="others-option">
  114. <Link href="/yamaha/login">
  115. {!username || username == "" ? (
  116. <Link href="/yamaha/login">
  117. <a className="btn btn-primary">Login</a>
  118. </Link>
  119. ) : (
  120. <ul className="navbar-nav ms-auto">
  121. <li className="nav-item">
  122. <Link href="#">
  123. <a onClick={e => e.preventDefault()} className="nav-link" >
  124. {username} <Icon.ChevronDown />
  125. </a>
  126. </Link>
  127. <ul className="dropdown-menu">
  128. <li className="nav-item">
  129. <Link href="/yamaha/Product/Motor" activeClassName="active">
  130. <a onClick={toggleNavbar} className="nav-link">Profile</a>
  131. </Link>
  132. </li>
  133. <li className="nav-item">
  134. <Link href="/yamaha/Product/Sparepart" activeClassName="active">
  135. <a onClick={toggleNavbar} className="nav-link">Pesanan Saya</a>
  136. </Link>
  137. </li>
  138. <li className="nav-item">
  139. <div
  140. onClick={async (e) => {
  141. e.preventDefault();
  142. fetch("/api/auth/logout", {
  143. method: "POST",
  144. headers: {
  145. "Content-Type": "application/json",
  146. },
  147. body: JSON.stringify({ p: "YAMAHA" }),
  148. }).then((res) => {
  149. //if (res.ok) {
  150. window.location.href = "../yamaha";
  151. /*}
  152. else{
  153. }*/
  154. });
  155. }}
  156. >
  157. <Link href="https://booking.thamrin.co.id/" activeClassName="active">
  158. <a target="_blank" onClick={toggleNavbar} className="nav-link">Logout</a>
  159. </Link>
  160. </div>
  161. </li>
  162. </ul>
  163. </li>
  164. </ul>
  165. // <CustomDropdown
  166. // noLiPadding
  167. // navDropdown
  168. // buttonText={
  169. // username.length > 12 ? username.substring(0, 9) + ".." : username
  170. // }
  171. // buttonProps={{
  172. // className: classes.navLink,
  173. // color: "transparent",
  174. // }}
  175. // buttonIcon={Person}
  176. // dropdownList={[
  177. // <div
  178. // onClick={async (e) => {
  179. // e.preventDefault();
  180. // fetch("/api/auth/logout", {
  181. // method: "POST",
  182. // headers: {
  183. // "Content-Type": "application/json",
  184. // },
  185. // body: JSON.stringify({ p: "YAMAHA" }),
  186. // }).then((res) => {
  187. // //if (res.ok) {
  188. // window.location.href = "../yamaha/home";
  189. // /*}
  190. // else{
  191. // }*/
  192. // });
  193. // }}
  194. // >
  195. // <Link href="/yamaha/login">
  196. // <a className="btn btn-primary">Logout</a>
  197. // </Link>
  198. // </div>,
  199. // <div>
  200. // <Link href="/yamaha/login">
  201. // <a className="btn btn-primary">Profile</a>
  202. // </Link>
  203. // </div>,
  204. // <div>
  205. // <Link href="/yamaha/login">
  206. // <a className="btn btn-primary">Pesanan Saya</a>
  207. // </Link>
  208. // </div>
  209. // // <a href="/yamaha/profile/profile" className={classes.dropdownLink}>Profile</a>,
  210. // ]}
  211. // />
  212. )}
  213. </Link>
  214. </div>
  215. </nav>
  216. </div>
  217. </div>
  218. </header>
  219. );
  220. }