sidelinks.tsx 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148
  1. import {
  2. IconBarrierBlock,
  3. IconBoxSeam,
  4. IconChartHistogram,
  5. IconChecklist,
  6. IconError404,
  7. IconExclamationCircle,
  8. IconHexagonNumber1,
  9. IconHexagonNumber2,
  10. IconHexagonNumber3,
  11. IconHexagonNumber4,
  12. IconLayoutDashboard,
  13. IconMessages,
  14. IconRouteAltLeft,
  15. IconServerOff,
  16. IconSettings,
  17. IconTruck,
  18. IconUserShield,
  19. IconUsers,
  20. } from '@tabler/icons-react'
  21. export interface NavLink {
  22. title: string
  23. label?: string
  24. href: string
  25. icon: JSX.Element
  26. }
  27. export interface SideLink extends NavLink {
  28. sub?: NavLink[]
  29. }
  30. export const sidelinks: SideLink[] = [
  31. {
  32. title: 'Dashboard',
  33. label: '',
  34. href: '/',
  35. icon: <IconLayoutDashboard size={18} />,
  36. },
  37. {
  38. title: 'Tasks',
  39. label: '3',
  40. href: '/tasks',
  41. icon: <IconChecklist size={18} />,
  42. },
  43. {
  44. title: 'Chats',
  45. label: '9',
  46. href: '/chats',
  47. icon: <IconMessages size={18} />,
  48. },
  49. {
  50. title: 'Authentication',
  51. label: '',
  52. href: '',
  53. icon: <IconUserShield size={18} />,
  54. sub: [
  55. {
  56. title: 'Sign In (email + password)',
  57. label: '',
  58. href: '/sign-in',
  59. icon: <IconHexagonNumber1 size={18} />,
  60. },
  61. {
  62. title: 'Sign In (Box)',
  63. label: '',
  64. href: '/sign-in-2',
  65. icon: <IconHexagonNumber2 size={18} />,
  66. },
  67. {
  68. title: 'Sign Up',
  69. label: '',
  70. href: '/sign-up',
  71. icon: <IconHexagonNumber3 size={18} />,
  72. },
  73. {
  74. title: 'Forgot Password',
  75. label: '',
  76. href: '/forgot-password',
  77. icon: <IconHexagonNumber4 size={18} />,
  78. },
  79. ],
  80. },
  81. {
  82. title: 'Users',
  83. label: '',
  84. href: '/users',
  85. icon: <IconUsers size={18} />,
  86. },
  87. {
  88. title: 'Requests',
  89. label: '10',
  90. href: '/requests',
  91. icon: <IconRouteAltLeft size={18} />,
  92. sub: [
  93. {
  94. title: 'Trucks',
  95. label: '9',
  96. href: '/trucks',
  97. icon: <IconTruck size={18} />,
  98. },
  99. {
  100. title: 'Cargos',
  101. label: '',
  102. href: '/cargos',
  103. icon: <IconBoxSeam size={18} />,
  104. },
  105. ],
  106. },
  107. {
  108. title: 'Analysis',
  109. label: '',
  110. href: '/analysis',
  111. icon: <IconChartHistogram size={18} />,
  112. },
  113. {
  114. title: 'Error Pages',
  115. label: '',
  116. href: '',
  117. icon: <IconExclamationCircle size={18} />,
  118. sub: [
  119. {
  120. title: 'Not Found',
  121. label: '',
  122. href: '/404',
  123. icon: <IconError404 size={18} />,
  124. },
  125. {
  126. title: 'Internal Server Error',
  127. label: '',
  128. href: '/500',
  129. icon: <IconServerOff size={18} />,
  130. },
  131. {
  132. title: 'Maintenance Error',
  133. label: '',
  134. href: '/503',
  135. icon: <IconBarrierBlock size={18} />,
  136. },
  137. ],
  138. },
  139. {
  140. title: 'Settings',
  141. label: '',
  142. href: '/settings',
  143. icon: <IconSettings size={18} />,
  144. },
  145. ]