Advertisement
shadiff

2

Sep 5th, 2022
13
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.05 KB | None | 0 0
  1. import React, {useState} from 'react'
  2. import { Link } from "react-router-dom";
  3. import {SecItems} from "./NavLinks"
  4.  
  5. const MenuItems = () => {
  6. const [heading, setHeading] = useState("");
  7. const [subHeading, setSubHeading] = useState("");
  8. return (
  9. <>
  10. {SecItems.map((item) => (
  11. <div>
  12. <div>
  13. <h1
  14. onClick={() => {
  15. heading !== item.name ? setHeading(item.name) : setHeading("");
  16. setSubHeading("");
  17. }}
  18. >
  19. {item.name}
  20. <span>
  21. <ion-icon
  22. name={`${
  23. heading === item.name ? "chevron-up" : "chevron-down"
  24. }`}
  25. ></ion-icon>
  26. </span>
  27. <span>
  28. <ion-icon name="chevron-down"></ion-icon>
  29. </span>
  30. </h1>
  31. {SecItems.submenu && (
  32. <div>
  33. <div>
  34. <div>
  35. {SecItems.sublinks.map((mysublinks) => (
  36. <div>
  37. <h1>
  38. {mysublinks.Head}
  39. </h1>
  40. {mysublinks.sublink.map((slink) => (
  41. <li>
  42. <Link
  43. to={slink.link}
  44. >
  45. {slink.name}
  46. </Link>
  47. </li>
  48. ))}
  49. </div>
  50. ))}
  51. </div>
  52. </div>
  53. </div>
  54. )}
  55. </div>
  56. {/* Mobile menus */}
  57. <div
  58. className={`
  59. ${heading === item.name ? "md:hidden" : "hidden"}
  60. `}
  61. >
  62. {/* sublinks */}
  63. {item.sublinks.map((slinks) => (
  64. <div>
  65. <div>
  66. <h1
  67. onClick={() =>
  68. subHeading !== slinks.Head
  69. ? setSubHeading(slinks.Head)
  70. : setSubHeading("")
  71. }
  72. >
  73. {slinks.Head}
  74.  
  75. <span className="text-xl md:mt-1 md:ml-2 inline">
  76. <ion-icon
  77. name={`${
  78. subHeading === slinks.Head
  79. ? "chevron-up"
  80. : "chevron-down"
  81. }`}
  82. ></ion-icon>
  83. </span>
  84. </h1>
  85. <div
  86.  
  87. >
  88. {slinks.sublink.map((slink) => (
  89. <li>
  90. <Link to={slink.link}>{slink.name}</Link>
  91. </li>
  92. ))}
  93. </div>
  94. </div>
  95. </div>
  96. ))}
  97. </div>
  98. </div>
  99. ))}
  100. </>
  101. );
  102. };
  103.  
  104. export default MenuItems;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement