phx-react 1.3.1288 → 1.3.1290

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (325) hide show
  1. package/dist/cjs/components/MainWrapV4/MainWrapV4.d.ts +30 -0
  2. package/dist/cjs/components/MainWrapV4/MainWrapV4.js +879 -0
  3. package/dist/cjs/components/MainWrapV4/MainWrapV4.js.map +1 -0
  4. package/dist/cjs/components/MainWrapV4/appearance/appearance-styled.d.ts +8 -0
  5. package/dist/cjs/components/MainWrapV4/appearance/appearance-styled.js +42 -0
  6. package/dist/cjs/components/MainWrapV4/appearance/appearance-styled.js.map +1 -0
  7. package/dist/cjs/components/MainWrapV4/assets/Icon.d.ts +97 -0
  8. package/dist/cjs/components/MainWrapV4/assets/Icon.js +197 -0
  9. package/dist/cjs/components/MainWrapV4/assets/Icon.js.map +1 -0
  10. package/dist/cjs/components/MainWrapV4/assets/Icon.ts +201 -0
  11. package/dist/cjs/components/MainWrapV4/assets/icon/activity-history.svg +4 -0
  12. package/dist/cjs/components/MainWrapV4/assets/icon/arrow-right-submenu.svg +4 -0
  13. package/dist/cjs/components/MainWrapV4/assets/icon/arrow-submenu-hover.svg +3 -0
  14. package/dist/cjs/components/MainWrapV4/assets/icon/asset/Icon_asset.svg +3 -0
  15. package/dist/cjs/components/MainWrapV4/assets/icon/asset/outline-pined.svg +3 -0
  16. package/dist/cjs/components/MainWrapV4/assets/icon/asset/outline-sidebar.svg +3 -0
  17. package/dist/cjs/components/MainWrapV4/assets/icon/asset/outline.svg +3 -0
  18. package/dist/cjs/components/MainWrapV4/assets/icon/asset/solid.svg +3 -0
  19. package/dist/cjs/components/MainWrapV4/assets/icon/cham-tiet/outline-pined.svg +17 -0
  20. package/dist/cjs/components/MainWrapV4/assets/icon/cham-tiet/outline-sidebar.svg +17 -0
  21. package/dist/cjs/components/MainWrapV4/assets/icon/cham-tiet/outline.svg +17 -0
  22. package/dist/cjs/components/MainWrapV4/assets/icon/cham-tiet/solid.svg +15 -0
  23. package/dist/cjs/components/MainWrapV4/assets/icon/chat/outline-pined.svg +18 -0
  24. package/dist/cjs/components/MainWrapV4/assets/icon/chat/outline-sidebar.svg +18 -0
  25. package/dist/cjs/components/MainWrapV4/assets/icon/chat/outline.svg +18 -0
  26. package/dist/cjs/components/MainWrapV4/assets/icon/chat/solid.svg +16 -0
  27. package/dist/cjs/components/MainWrapV4/assets/icon/close-sidebar.svg +3 -0
  28. package/dist/cjs/components/MainWrapV4/assets/icon/dashboard/outline-sidebar.svg +3 -0
  29. package/dist/cjs/components/MainWrapV4/assets/icon/dashboard/outline.svg +3 -0
  30. package/dist/cjs/components/MainWrapV4/assets/icon/dashboard/solid.svg +3 -0
  31. package/dist/cjs/components/MainWrapV4/assets/icon/department/outline-pined.svg +3 -0
  32. package/dist/cjs/components/MainWrapV4/assets/icon/department/outline-sidebar.svg +3 -0
  33. package/dist/cjs/components/MainWrapV4/assets/icon/department/outline.svg +3 -0
  34. package/dist/cjs/components/MainWrapV4/assets/icon/department/solid.svg +3 -0
  35. package/dist/cjs/components/MainWrapV4/assets/icon/diem-van-minh/outline-pined.svg +15 -0
  36. package/dist/cjs/components/MainWrapV4/assets/icon/diem-van-minh/outline-sidebar.svg +15 -0
  37. package/dist/cjs/components/MainWrapV4/assets/icon/diem-van-minh/outline.svg +15 -0
  38. package/dist/cjs/components/MainWrapV4/assets/icon/diem-van-minh/solid.svg +15 -0
  39. package/dist/cjs/components/MainWrapV4/assets/icon/email-dashboard/outline-pined.svg +3 -0
  40. package/dist/cjs/components/MainWrapV4/assets/icon/email-dashboard/outline-sidebar.svg +3 -0
  41. package/dist/cjs/components/MainWrapV4/assets/icon/email-dashboard/outline.svg +3 -0
  42. package/dist/cjs/components/MainWrapV4/assets/icon/email-dashboard/solid.svg +3 -0
  43. package/dist/cjs/components/MainWrapV4/assets/icon/feedback/outline-pined.svg +3 -0
  44. package/dist/cjs/components/MainWrapV4/assets/icon/feedback/outline-sidebar.svg +3 -0
  45. package/dist/cjs/components/MainWrapV4/assets/icon/feedback/outline.svg +3 -0
  46. package/dist/cjs/components/MainWrapV4/assets/icon/feedback/solid.svg +3 -0
  47. package/dist/cjs/components/MainWrapV4/assets/icon/food/outline-pined.svg +3 -0
  48. package/dist/cjs/components/MainWrapV4/assets/icon/food/outline-sidebar.svg +3 -0
  49. package/dist/cjs/components/MainWrapV4/assets/icon/food/outline.svg +3 -0
  50. package/dist/cjs/components/MainWrapV4/assets/icon/food/solid.svg +3 -0
  51. package/dist/cjs/components/MainWrapV4/assets/icon/giao-vu/outline-pined.svg +17 -0
  52. package/dist/cjs/components/MainWrapV4/assets/icon/giao-vu/outline-sidebar.svg +17 -0
  53. package/dist/cjs/components/MainWrapV4/assets/icon/giao-vu/outline.svg +17 -0
  54. package/dist/cjs/components/MainWrapV4/assets/icon/giao-vu/solid.svg +16 -0
  55. package/dist/cjs/components/MainWrapV4/assets/icon/hrm/outline-pined.svg +20 -0
  56. package/dist/cjs/components/MainWrapV4/assets/icon/hrm/outline-sidebar.svg +20 -0
  57. package/dist/cjs/components/MainWrapV4/assets/icon/hrm/outline.svg +20 -0
  58. package/dist/cjs/components/MainWrapV4/assets/icon/hrm/solid.svg +15 -0
  59. package/dist/cjs/components/MainWrapV4/assets/icon/hrm-checkin/outline-pined.svg +3 -0
  60. package/dist/cjs/components/MainWrapV4/assets/icon/hrm-checkin/outline-sidebar.svg +3 -0
  61. package/dist/cjs/components/MainWrapV4/assets/icon/hrm-checkin/outline.svg +3 -0
  62. package/dist/cjs/components/MainWrapV4/assets/icon/hrm-checkin/solid.svg +3 -0
  63. package/dist/cjs/components/MainWrapV4/assets/icon/lms/outline-sidebar.svg +3 -0
  64. package/dist/cjs/components/MainWrapV4/assets/icon/lms/outline.svg +3 -0
  65. package/dist/cjs/components/MainWrapV4/assets/icon/lms/solid.svg +3 -0
  66. package/dist/cjs/components/MainWrapV4/assets/icon/medical/outline-pined.svg +3 -0
  67. package/dist/cjs/components/MainWrapV4/assets/icon/medical/outline-sidebar.svg +3 -0
  68. package/dist/cjs/components/MainWrapV4/assets/icon/medical/outline.svg +3 -0
  69. package/dist/cjs/components/MainWrapV4/assets/icon/medical/solid.svg +3 -0
  70. package/dist/cjs/components/MainWrapV4/assets/icon/noi-tru/outline-pined.svg +3 -0
  71. package/dist/cjs/components/MainWrapV4/assets/icon/noi-tru/outline-sidebar.svg +3 -0
  72. package/dist/cjs/components/MainWrapV4/assets/icon/noi-tru/outline.svg +3 -0
  73. package/dist/cjs/components/MainWrapV4/assets/icon/noi-tru/solid.svg +3 -0
  74. package/dist/cjs/components/MainWrapV4/assets/icon/other-menu.svg +3 -0
  75. package/dist/cjs/components/MainWrapV4/assets/icon/pin.svg +18 -0
  76. package/dist/cjs/components/MainWrapV4/assets/icon/robot-motion/outline-sidebar.svg +3 -0
  77. package/dist/cjs/components/MainWrapV4/assets/icon/robot-motion/outline.svg +3 -0
  78. package/dist/cjs/components/MainWrapV4/assets/icon/robot-motion/solid.svg +3 -0
  79. package/dist/cjs/components/MainWrapV4/assets/icon/search.svg +3 -0
  80. package/dist/cjs/components/MainWrapV4/assets/icon/setting-other-menu.svg +4 -0
  81. package/dist/cjs/components/MainWrapV4/assets/icon/setting.svg +16 -0
  82. package/dist/cjs/components/MainWrapV4/assets/icon/show-sidebar.svg +3 -0
  83. package/dist/cjs/components/MainWrapV4/assets/icon/store/outline-pined.svg +18 -0
  84. package/dist/cjs/components/MainWrapV4/assets/icon/store/outline-sidebar.svg +18 -0
  85. package/dist/cjs/components/MainWrapV4/assets/icon/store/outline.svg +18 -0
  86. package/dist/cjs/components/MainWrapV4/assets/icon/store/solid.svg +18 -0
  87. package/dist/cjs/components/MainWrapV4/assets/icon/student-affairs/outline-pined.svg +17 -0
  88. package/dist/cjs/components/MainWrapV4/assets/icon/student-affairs/outline-sidebar.svg +17 -0
  89. package/dist/cjs/components/MainWrapV4/assets/icon/student-affairs/outline.svg +17 -0
  90. package/dist/cjs/components/MainWrapV4/assets/icon/student-affairs/solid.svg +16 -0
  91. package/dist/cjs/components/MainWrapV4/assets/icon/team-building/outline-sidebar.svg +6 -0
  92. package/dist/cjs/components/MainWrapV4/assets/icon/team-building/outline.svg +6 -0
  93. package/dist/cjs/components/MainWrapV4/assets/icon/team-building/solid.svg +3 -0
  94. package/dist/cjs/components/MainWrapV4/assets/icon/thu-vien-tieu-hoc/outline-pined.svg +18 -0
  95. package/dist/cjs/components/MainWrapV4/assets/icon/thu-vien-tieu-hoc/outline-sidebar.svg +18 -0
  96. package/dist/cjs/components/MainWrapV4/assets/icon/thu-vien-tieu-hoc/outline.svg +18 -0
  97. package/dist/cjs/components/MainWrapV4/assets/icon/thu-vien-tieu-hoc/solid.svg +16 -0
  98. package/dist/cjs/components/MainWrapV4/assets/icon/thu-vien-trung-hoc/outline-pined.svg +18 -0
  99. package/dist/cjs/components/MainWrapV4/assets/icon/thu-vien-trung-hoc/outline-sidebar.svg +18 -0
  100. package/dist/cjs/components/MainWrapV4/assets/icon/thu-vien-trung-hoc/outline.svg +18 -0
  101. package/dist/cjs/components/MainWrapV4/assets/icon/thu-vien-trung-hoc/solid.svg +16 -0
  102. package/dist/cjs/components/MainWrapV4/assets/icon/truyen-thong/outline-pined.svg +3 -0
  103. package/dist/cjs/components/MainWrapV4/assets/icon/truyen-thong/outline-sidebar.svg +3 -0
  104. package/dist/cjs/components/MainWrapV4/assets/icon/truyen-thong/outline.svg +3 -0
  105. package/dist/cjs/components/MainWrapV4/assets/icon/truyen-thong/solid.svg +3 -0
  106. package/dist/cjs/components/MainWrapV4/assets/icon/tuition/outline-pined.svg +3 -0
  107. package/dist/cjs/components/MainWrapV4/assets/icon/tuition/outline-sidebar.svg +3 -0
  108. package/dist/cjs/components/MainWrapV4/assets/icon/tuition/outline.svg +3 -0
  109. package/dist/cjs/components/MainWrapV4/assets/icon/tuition/solid.svg +3 -0
  110. package/dist/cjs/components/MainWrapV4/assets/icon/tuyen-sinh/outline-sidebar.svg +3 -0
  111. package/dist/cjs/components/MainWrapV4/assets/icon/tuyen-sinh/outline.svg +3 -0
  112. package/dist/cjs/components/MainWrapV4/assets/icon/tuyen-sinh/solid.svg +3 -0
  113. package/dist/cjs/components/MainWrapV4/assets/icon/un-pin.svg +18 -0
  114. package/dist/cjs/components/MainWrapV4/assets/icon/user/outline-pined.svg +18 -0
  115. package/dist/cjs/components/MainWrapV4/assets/icon/user/outline-sidebar.svg +18 -0
  116. package/dist/cjs/components/MainWrapV4/assets/icon/user/outline.svg +18 -0
  117. package/dist/cjs/components/MainWrapV4/assets/icon/user/solid.svg +18 -0
  118. package/dist/cjs/components/MainWrapV4/assets/icon/user-segment/outline-pined.svg +3 -0
  119. package/dist/cjs/components/MainWrapV4/assets/icon/user-segment/outline-sidebar.svg +3 -0
  120. package/dist/cjs/components/MainWrapV4/assets/icon/user-segment/outline.svg +3 -0
  121. package/dist/cjs/components/MainWrapV4/assets/icon/user-segment/solid.svg +3 -0
  122. package/dist/cjs/components/MainWrapV4/assets/icon/van-hanh-xe-tuyen/outline-pined.svg +3 -0
  123. package/dist/cjs/components/MainWrapV4/assets/icon/van-hanh-xe-tuyen/outline-sidebar.svg +3 -0
  124. package/dist/cjs/components/MainWrapV4/assets/icon/van-hanh-xe-tuyen/outline.svg +3 -0
  125. package/dist/cjs/components/MainWrapV4/assets/icon/van-hanh-xe-tuyen/solid.svg +3 -0
  126. package/dist/cjs/components/MainWrapV4/assets/icon/xe-tuyen/outline-pined.svg +3 -0
  127. package/dist/cjs/components/MainWrapV4/assets/icon/xe-tuyen/outline-sidebar.svg +3 -0
  128. package/dist/cjs/components/MainWrapV4/assets/icon/xe-tuyen/outline.svg +3 -0
  129. package/dist/cjs/components/MainWrapV4/assets/icon/xe-tuyen/solid.svg +3 -0
  130. package/dist/cjs/components/MainWrapV4/components/nav-item.d.ts +11 -0
  131. package/dist/cjs/components/MainWrapV4/components/nav-item.js +30 -0
  132. package/dist/cjs/components/MainWrapV4/components/nav-item.js.map +1 -0
  133. package/dist/cjs/components/MainWrapV4/components/other-menu.d.ts +8 -0
  134. package/dist/cjs/components/MainWrapV4/components/other-menu.js +145 -0
  135. package/dist/cjs/components/MainWrapV4/components/other-menu.js.map +1 -0
  136. package/dist/cjs/components/MainWrapV4/components/side-bar.d.ts +13 -0
  137. package/dist/cjs/components/MainWrapV4/components/side-bar.js +123 -0
  138. package/dist/cjs/components/MainWrapV4/components/side-bar.js.map +1 -0
  139. package/dist/cjs/components/MainWrapV4/constant.d.ts +5 -0
  140. package/dist/cjs/components/MainWrapV4/constant.js +10 -0
  141. package/dist/cjs/components/MainWrapV4/constant.js.map +1 -0
  142. package/dist/cjs/components/MainWrapV4/index.d.ts +1 -0
  143. package/dist/cjs/components/MainWrapV4/index.js +5 -0
  144. package/dist/cjs/components/MainWrapV4/index.js.map +1 -0
  145. package/dist/cjs/components/MainWrapV4/navigator/nav-mobile-content.d.ts +2 -0
  146. package/dist/cjs/components/MainWrapV4/navigator/nav-mobile-content.js +118 -0
  147. package/dist/cjs/components/MainWrapV4/navigator/nav-mobile-content.js.map +1 -0
  148. package/dist/cjs/components/MainWrapV4/navigator/nav-mobile.d.ts +2 -0
  149. package/dist/cjs/components/MainWrapV4/navigator/nav-mobile.js +28 -0
  150. package/dist/cjs/components/MainWrapV4/navigator/nav-mobile.js.map +1 -0
  151. package/dist/cjs/components/MainWrapV4/svg.d.ts +5 -0
  152. package/dist/cjs/components/MainWrapV4/svg.js +2 -0
  153. package/dist/cjs/components/MainWrapV4/svg.js.map +1 -0
  154. package/dist/cjs/components/MainWrapV4/types/appearance.d.ts +19 -0
  155. package/dist/cjs/components/MainWrapV4/types/appearance.js +3 -0
  156. package/dist/cjs/components/MainWrapV4/types/appearance.js.map +1 -0
  157. package/dist/cjs/components/MainWrapV4/types/index.d.ts +9 -0
  158. package/dist/cjs/components/MainWrapV4/types/index.js +3 -0
  159. package/dist/cjs/components/MainWrapV4/types/index.js.map +1 -0
  160. package/dist/cjs/index.d.ts +2 -1
  161. package/dist/cjs/index.js +4 -2
  162. package/dist/cjs/index.js.map +1 -1
  163. package/dist/esm/components/MainWrapV4/MainWrapV4.d.ts +30 -0
  164. package/dist/esm/components/MainWrapV4/MainWrapV4.js +875 -0
  165. package/dist/esm/components/MainWrapV4/MainWrapV4.js.map +1 -0
  166. package/dist/esm/components/MainWrapV4/appearance/appearance-styled.d.ts +8 -0
  167. package/dist/esm/components/MainWrapV4/appearance/appearance-styled.js +39 -0
  168. package/dist/esm/components/MainWrapV4/appearance/appearance-styled.js.map +1 -0
  169. package/dist/esm/components/MainWrapV4/assets/Icon.d.ts +97 -0
  170. package/dist/esm/components/MainWrapV4/assets/Icon.js +193 -0
  171. package/dist/esm/components/MainWrapV4/assets/Icon.js.map +1 -0
  172. package/dist/esm/components/MainWrapV4/assets/Icon.ts +201 -0
  173. package/dist/esm/components/MainWrapV4/assets/icon/activity-history.svg +4 -0
  174. package/dist/esm/components/MainWrapV4/assets/icon/arrow-right-submenu.svg +4 -0
  175. package/dist/esm/components/MainWrapV4/assets/icon/arrow-submenu-hover.svg +3 -0
  176. package/dist/esm/components/MainWrapV4/assets/icon/asset/Icon_asset.svg +3 -0
  177. package/dist/esm/components/MainWrapV4/assets/icon/asset/outline-pined.svg +3 -0
  178. package/dist/esm/components/MainWrapV4/assets/icon/asset/outline-sidebar.svg +3 -0
  179. package/dist/esm/components/MainWrapV4/assets/icon/asset/outline.svg +3 -0
  180. package/dist/esm/components/MainWrapV4/assets/icon/asset/solid.svg +3 -0
  181. package/dist/esm/components/MainWrapV4/assets/icon/cham-tiet/outline-pined.svg +17 -0
  182. package/dist/esm/components/MainWrapV4/assets/icon/cham-tiet/outline-sidebar.svg +17 -0
  183. package/dist/esm/components/MainWrapV4/assets/icon/cham-tiet/outline.svg +17 -0
  184. package/dist/esm/components/MainWrapV4/assets/icon/cham-tiet/solid.svg +15 -0
  185. package/dist/esm/components/MainWrapV4/assets/icon/chat/outline-pined.svg +18 -0
  186. package/dist/esm/components/MainWrapV4/assets/icon/chat/outline-sidebar.svg +18 -0
  187. package/dist/esm/components/MainWrapV4/assets/icon/chat/outline.svg +18 -0
  188. package/dist/esm/components/MainWrapV4/assets/icon/chat/solid.svg +16 -0
  189. package/dist/esm/components/MainWrapV4/assets/icon/close-sidebar.svg +3 -0
  190. package/dist/esm/components/MainWrapV4/assets/icon/dashboard/outline-sidebar.svg +3 -0
  191. package/dist/esm/components/MainWrapV4/assets/icon/dashboard/outline.svg +3 -0
  192. package/dist/esm/components/MainWrapV4/assets/icon/dashboard/solid.svg +3 -0
  193. package/dist/esm/components/MainWrapV4/assets/icon/department/outline-pined.svg +3 -0
  194. package/dist/esm/components/MainWrapV4/assets/icon/department/outline-sidebar.svg +3 -0
  195. package/dist/esm/components/MainWrapV4/assets/icon/department/outline.svg +3 -0
  196. package/dist/esm/components/MainWrapV4/assets/icon/department/solid.svg +3 -0
  197. package/dist/esm/components/MainWrapV4/assets/icon/diem-van-minh/outline-pined.svg +15 -0
  198. package/dist/esm/components/MainWrapV4/assets/icon/diem-van-minh/outline-sidebar.svg +15 -0
  199. package/dist/esm/components/MainWrapV4/assets/icon/diem-van-minh/outline.svg +15 -0
  200. package/dist/esm/components/MainWrapV4/assets/icon/diem-van-minh/solid.svg +15 -0
  201. package/dist/esm/components/MainWrapV4/assets/icon/email-dashboard/outline-pined.svg +3 -0
  202. package/dist/esm/components/MainWrapV4/assets/icon/email-dashboard/outline-sidebar.svg +3 -0
  203. package/dist/esm/components/MainWrapV4/assets/icon/email-dashboard/outline.svg +3 -0
  204. package/dist/esm/components/MainWrapV4/assets/icon/email-dashboard/solid.svg +3 -0
  205. package/dist/esm/components/MainWrapV4/assets/icon/feedback/outline-pined.svg +3 -0
  206. package/dist/esm/components/MainWrapV4/assets/icon/feedback/outline-sidebar.svg +3 -0
  207. package/dist/esm/components/MainWrapV4/assets/icon/feedback/outline.svg +3 -0
  208. package/dist/esm/components/MainWrapV4/assets/icon/feedback/solid.svg +3 -0
  209. package/dist/esm/components/MainWrapV4/assets/icon/food/outline-pined.svg +3 -0
  210. package/dist/esm/components/MainWrapV4/assets/icon/food/outline-sidebar.svg +3 -0
  211. package/dist/esm/components/MainWrapV4/assets/icon/food/outline.svg +3 -0
  212. package/dist/esm/components/MainWrapV4/assets/icon/food/solid.svg +3 -0
  213. package/dist/esm/components/MainWrapV4/assets/icon/giao-vu/outline-pined.svg +17 -0
  214. package/dist/esm/components/MainWrapV4/assets/icon/giao-vu/outline-sidebar.svg +17 -0
  215. package/dist/esm/components/MainWrapV4/assets/icon/giao-vu/outline.svg +17 -0
  216. package/dist/esm/components/MainWrapV4/assets/icon/giao-vu/solid.svg +16 -0
  217. package/dist/esm/components/MainWrapV4/assets/icon/hrm/outline-pined.svg +20 -0
  218. package/dist/esm/components/MainWrapV4/assets/icon/hrm/outline-sidebar.svg +20 -0
  219. package/dist/esm/components/MainWrapV4/assets/icon/hrm/outline.svg +20 -0
  220. package/dist/esm/components/MainWrapV4/assets/icon/hrm/solid.svg +15 -0
  221. package/dist/esm/components/MainWrapV4/assets/icon/hrm-checkin/outline-pined.svg +3 -0
  222. package/dist/esm/components/MainWrapV4/assets/icon/hrm-checkin/outline-sidebar.svg +3 -0
  223. package/dist/esm/components/MainWrapV4/assets/icon/hrm-checkin/outline.svg +3 -0
  224. package/dist/esm/components/MainWrapV4/assets/icon/hrm-checkin/solid.svg +3 -0
  225. package/dist/esm/components/MainWrapV4/assets/icon/lms/outline-sidebar.svg +3 -0
  226. package/dist/esm/components/MainWrapV4/assets/icon/lms/outline.svg +3 -0
  227. package/dist/esm/components/MainWrapV4/assets/icon/lms/solid.svg +3 -0
  228. package/dist/esm/components/MainWrapV4/assets/icon/medical/outline-pined.svg +3 -0
  229. package/dist/esm/components/MainWrapV4/assets/icon/medical/outline-sidebar.svg +3 -0
  230. package/dist/esm/components/MainWrapV4/assets/icon/medical/outline.svg +3 -0
  231. package/dist/esm/components/MainWrapV4/assets/icon/medical/solid.svg +3 -0
  232. package/dist/esm/components/MainWrapV4/assets/icon/noi-tru/outline-pined.svg +3 -0
  233. package/dist/esm/components/MainWrapV4/assets/icon/noi-tru/outline-sidebar.svg +3 -0
  234. package/dist/esm/components/MainWrapV4/assets/icon/noi-tru/outline.svg +3 -0
  235. package/dist/esm/components/MainWrapV4/assets/icon/noi-tru/solid.svg +3 -0
  236. package/dist/esm/components/MainWrapV4/assets/icon/other-menu.svg +3 -0
  237. package/dist/esm/components/MainWrapV4/assets/icon/pin.svg +18 -0
  238. package/dist/esm/components/MainWrapV4/assets/icon/robot-motion/outline-sidebar.svg +3 -0
  239. package/dist/esm/components/MainWrapV4/assets/icon/robot-motion/outline.svg +3 -0
  240. package/dist/esm/components/MainWrapV4/assets/icon/robot-motion/solid.svg +3 -0
  241. package/dist/esm/components/MainWrapV4/assets/icon/search.svg +3 -0
  242. package/dist/esm/components/MainWrapV4/assets/icon/setting-other-menu.svg +4 -0
  243. package/dist/esm/components/MainWrapV4/assets/icon/setting.svg +16 -0
  244. package/dist/esm/components/MainWrapV4/assets/icon/show-sidebar.svg +3 -0
  245. package/dist/esm/components/MainWrapV4/assets/icon/store/outline-pined.svg +18 -0
  246. package/dist/esm/components/MainWrapV4/assets/icon/store/outline-sidebar.svg +18 -0
  247. package/dist/esm/components/MainWrapV4/assets/icon/store/outline.svg +18 -0
  248. package/dist/esm/components/MainWrapV4/assets/icon/store/solid.svg +18 -0
  249. package/dist/esm/components/MainWrapV4/assets/icon/student-affairs/outline-pined.svg +17 -0
  250. package/dist/esm/components/MainWrapV4/assets/icon/student-affairs/outline-sidebar.svg +17 -0
  251. package/dist/esm/components/MainWrapV4/assets/icon/student-affairs/outline.svg +17 -0
  252. package/dist/esm/components/MainWrapV4/assets/icon/student-affairs/solid.svg +16 -0
  253. package/dist/esm/components/MainWrapV4/assets/icon/team-building/outline-sidebar.svg +6 -0
  254. package/dist/esm/components/MainWrapV4/assets/icon/team-building/outline.svg +6 -0
  255. package/dist/esm/components/MainWrapV4/assets/icon/team-building/solid.svg +3 -0
  256. package/dist/esm/components/MainWrapV4/assets/icon/thu-vien-tieu-hoc/outline-pined.svg +18 -0
  257. package/dist/esm/components/MainWrapV4/assets/icon/thu-vien-tieu-hoc/outline-sidebar.svg +18 -0
  258. package/dist/esm/components/MainWrapV4/assets/icon/thu-vien-tieu-hoc/outline.svg +18 -0
  259. package/dist/esm/components/MainWrapV4/assets/icon/thu-vien-tieu-hoc/solid.svg +16 -0
  260. package/dist/esm/components/MainWrapV4/assets/icon/thu-vien-trung-hoc/outline-pined.svg +18 -0
  261. package/dist/esm/components/MainWrapV4/assets/icon/thu-vien-trung-hoc/outline-sidebar.svg +18 -0
  262. package/dist/esm/components/MainWrapV4/assets/icon/thu-vien-trung-hoc/outline.svg +18 -0
  263. package/dist/esm/components/MainWrapV4/assets/icon/thu-vien-trung-hoc/solid.svg +16 -0
  264. package/dist/esm/components/MainWrapV4/assets/icon/truyen-thong/outline-pined.svg +3 -0
  265. package/dist/esm/components/MainWrapV4/assets/icon/truyen-thong/outline-sidebar.svg +3 -0
  266. package/dist/esm/components/MainWrapV4/assets/icon/truyen-thong/outline.svg +3 -0
  267. package/dist/esm/components/MainWrapV4/assets/icon/truyen-thong/solid.svg +3 -0
  268. package/dist/esm/components/MainWrapV4/assets/icon/tuition/outline-pined.svg +3 -0
  269. package/dist/esm/components/MainWrapV4/assets/icon/tuition/outline-sidebar.svg +3 -0
  270. package/dist/esm/components/MainWrapV4/assets/icon/tuition/outline.svg +3 -0
  271. package/dist/esm/components/MainWrapV4/assets/icon/tuition/solid.svg +3 -0
  272. package/dist/esm/components/MainWrapV4/assets/icon/tuyen-sinh/outline-sidebar.svg +3 -0
  273. package/dist/esm/components/MainWrapV4/assets/icon/tuyen-sinh/outline.svg +3 -0
  274. package/dist/esm/components/MainWrapV4/assets/icon/tuyen-sinh/solid.svg +3 -0
  275. package/dist/esm/components/MainWrapV4/assets/icon/un-pin.svg +18 -0
  276. package/dist/esm/components/MainWrapV4/assets/icon/user/outline-pined.svg +18 -0
  277. package/dist/esm/components/MainWrapV4/assets/icon/user/outline-sidebar.svg +18 -0
  278. package/dist/esm/components/MainWrapV4/assets/icon/user/outline.svg +18 -0
  279. package/dist/esm/components/MainWrapV4/assets/icon/user/solid.svg +18 -0
  280. package/dist/esm/components/MainWrapV4/assets/icon/user-segment/outline-pined.svg +3 -0
  281. package/dist/esm/components/MainWrapV4/assets/icon/user-segment/outline-sidebar.svg +3 -0
  282. package/dist/esm/components/MainWrapV4/assets/icon/user-segment/outline.svg +3 -0
  283. package/dist/esm/components/MainWrapV4/assets/icon/user-segment/solid.svg +3 -0
  284. package/dist/esm/components/MainWrapV4/assets/icon/van-hanh-xe-tuyen/outline-pined.svg +3 -0
  285. package/dist/esm/components/MainWrapV4/assets/icon/van-hanh-xe-tuyen/outline-sidebar.svg +3 -0
  286. package/dist/esm/components/MainWrapV4/assets/icon/van-hanh-xe-tuyen/outline.svg +3 -0
  287. package/dist/esm/components/MainWrapV4/assets/icon/van-hanh-xe-tuyen/solid.svg +3 -0
  288. package/dist/esm/components/MainWrapV4/assets/icon/xe-tuyen/outline-pined.svg +3 -0
  289. package/dist/esm/components/MainWrapV4/assets/icon/xe-tuyen/outline-sidebar.svg +3 -0
  290. package/dist/esm/components/MainWrapV4/assets/icon/xe-tuyen/outline.svg +3 -0
  291. package/dist/esm/components/MainWrapV4/assets/icon/xe-tuyen/solid.svg +3 -0
  292. package/dist/esm/components/MainWrapV4/components/nav-item.d.ts +11 -0
  293. package/dist/esm/components/MainWrapV4/components/nav-item.js +26 -0
  294. package/dist/esm/components/MainWrapV4/components/nav-item.js.map +1 -0
  295. package/dist/esm/components/MainWrapV4/components/other-menu.d.ts +8 -0
  296. package/dist/esm/components/MainWrapV4/components/other-menu.js +141 -0
  297. package/dist/esm/components/MainWrapV4/components/other-menu.js.map +1 -0
  298. package/dist/esm/components/MainWrapV4/components/side-bar.d.ts +13 -0
  299. package/dist/esm/components/MainWrapV4/components/side-bar.js +120 -0
  300. package/dist/esm/components/MainWrapV4/components/side-bar.js.map +1 -0
  301. package/dist/esm/components/MainWrapV4/constant.d.ts +5 -0
  302. package/dist/esm/components/MainWrapV4/constant.js +7 -0
  303. package/dist/esm/components/MainWrapV4/constant.js.map +1 -0
  304. package/dist/esm/components/MainWrapV4/index.d.ts +1 -0
  305. package/dist/esm/components/MainWrapV4/index.js +2 -0
  306. package/dist/esm/components/MainWrapV4/index.js.map +1 -0
  307. package/dist/esm/components/MainWrapV4/navigator/nav-mobile-content.d.ts +2 -0
  308. package/dist/esm/components/MainWrapV4/navigator/nav-mobile-content.js +115 -0
  309. package/dist/esm/components/MainWrapV4/navigator/nav-mobile-content.js.map +1 -0
  310. package/dist/esm/components/MainWrapV4/navigator/nav-mobile.d.ts +2 -0
  311. package/dist/esm/components/MainWrapV4/navigator/nav-mobile.js +24 -0
  312. package/dist/esm/components/MainWrapV4/navigator/nav-mobile.js.map +1 -0
  313. package/dist/esm/components/MainWrapV4/svg.d.ts +5 -0
  314. package/dist/esm/components/MainWrapV4/svg.js +2 -0
  315. package/dist/esm/components/MainWrapV4/svg.js.map +1 -0
  316. package/dist/esm/components/MainWrapV4/types/appearance.d.ts +19 -0
  317. package/dist/esm/components/MainWrapV4/types/appearance.js +2 -0
  318. package/dist/esm/components/MainWrapV4/types/appearance.js.map +1 -0
  319. package/dist/esm/components/MainWrapV4/types/index.d.ts +9 -0
  320. package/dist/esm/components/MainWrapV4/types/index.js +2 -0
  321. package/dist/esm/components/MainWrapV4/types/index.js.map +1 -0
  322. package/dist/esm/index.d.ts +2 -1
  323. package/dist/esm/index.js +2 -1
  324. package/dist/esm/index.js.map +1 -1
  325. package/package.json +2 -2
@@ -0,0 +1,879 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PHXMainWrapV4 = void 0;
4
+ var tslib_1 = require("tslib");
5
+ var fontawesome_svg_core_1 = require("@fortawesome/fontawesome-svg-core");
6
+ var free_solid_svg_icons_1 = require("@fortawesome/free-solid-svg-icons");
7
+ var react_1 = require("@headlessui/react");
8
+ var solid_1 = require("@heroicons/react/20/solid");
9
+ var outline_1 = require("@heroicons/react/24/outline");
10
+ var solid_2 = require("@heroicons/react/24/solid");
11
+ var axios_1 = tslib_1.__importDefault(require("axios"));
12
+ var js_cookie_1 = tslib_1.__importDefault(require("js-cookie"));
13
+ var image_1 = tslib_1.__importDefault(require("next/image"));
14
+ var react_2 = tslib_1.__importStar(require("react"));
15
+ var clientQueryV3_1 = tslib_1.__importDefault(require("../Func/clientQueryV3"));
16
+ var getCookieSession_1 = tslib_1.__importDefault(require("../Func/getCookieSession"));
17
+ var getEnvPublic_1 = tslib_1.__importDefault(require("../Func/getEnvPublic"));
18
+ var sessionStore_1 = require("../Func/sessionStore");
19
+ var constants_1 = require("../../utils/constants");
20
+ var appearance_styled_1 = tslib_1.__importDefault(require("./appearance/appearance-styled"));
21
+ var Icon_1 = require("./assets/Icon");
22
+ var side_bar_1 = tslib_1.__importDefault(require("./components/side-bar"));
23
+ var nav_mobile_1 = tslib_1.__importDefault(require("./navigator/nav-mobile"));
24
+ var LoadingProvider_1 = require("../LoadingProvider");
25
+ var query_1 = require("../../query");
26
+ var saveCookiesClient_1 = tslib_1.__importDefault(require("../Func/saveCookiesClient"));
27
+ var page_tracker_1 = require("../../stores/page-tracker/page-tracker");
28
+ var helpers_1 = require("../../helpers/helpers");
29
+ var Skeleton_1 = require("../Skeleton");
30
+ var Modal_1 = require("../Modal");
31
+ var ToolTip_1 = tslib_1.__importDefault(require("../ToolTip/ToolTip"));
32
+ var Banner_1 = require("../Banner");
33
+ var types_1 = require("../types");
34
+ var Card_1 = require("../Card");
35
+ fontawesome_svg_core_1.library.add(free_solid_svg_icons_1.fas);
36
+ var PHXMainWrapV4 = function (_a) {
37
+ var _b, _c, _d;
38
+ var children = _a.children, getDataCookies = _a.getDataCookies, _e = _a.logoHeight, logoHeight = _e === void 0 ? '28px' : _e, _f = _a.multipleMenu, multipleMenu = _f === void 0 ? false : _f, params = _a.params, pathName = _a.pathName, router = _a.router;
39
+ var pid = (params ? params : {}).pid;
40
+ var _g = (0, react_2.useState)(false), modal = _g[0], setModal = _g[1];
41
+ var _h = (0, react_2.useState)(true), setOpenSubMenu = _h[1];
42
+ var _j = (0, react_2.useState)(''), campaignName = _j[0], setCampaignName = _j[1];
43
+ var _k = (0, react_2.useState)(false), sidebarOpen = _k[0], setSidebarOpen = _k[1];
44
+ var _l = (0, react_2.useState)([]), subNavigation = _l[0], setSubNavigation = _l[1];
45
+ var _m = (0, react_2.useState)([]), navigation = _m[0], setNavigation = _m[1];
46
+ var _o = (0, react_2.useState)(false), modalSignOut = _o[0], setModalSignOut = _o[1];
47
+ var _p = (0, react_2.useState)(true), showBanner = _p[0], setShowBanner = _p[1];
48
+ var _q = (0, react_2.useState)(true), isLoading = _q[0], setIsLoading = _q[1];
49
+ var sessionCookie = (0, react_2.useRef)((0, getCookieSession_1.default)());
50
+ var userSessionInfo = (_b = sessionCookie.current) === null || _b === void 0 ? void 0 : _b.user_info;
51
+ var schoolInfoId = userSessionInfo === null || userSessionInfo === void 0 ? void 0 : userSessionInfo.school_id;
52
+ var userId = userSessionInfo === null || userSessionInfo === void 0 ? void 0 : userSessionInfo.id;
53
+ var setGlobalLoading = (0, LoadingProvider_1.useLoading)().setLoading;
54
+ var _r = (0, react_2.useState)(true), showSubMenu = _r[0], setShowSubMenu = _r[1];
55
+ var _s = (0, react_2.useState)({
56
+ menuDefault: [],
57
+ loadingMenu: true,
58
+ loadingSchool: true,
59
+ listSchool: [],
60
+ logo: {
61
+ path: '',
62
+ height: logoHeight,
63
+ },
64
+ menu: [],
65
+ schoolId: null,
66
+ configLayout: undefined,
67
+ perCode: [],
68
+ roleCode: [],
69
+ isLoadingPermission: true,
70
+ sourceAvatar: ((_c = userSessionInfo === null || userSessionInfo === void 0 ? void 0 : userSessionInfo.user_avatar) === null || _c === void 0 ? void 0 : _c.size_small) || (userSessionInfo === null || userSessionInfo === void 0 ? void 0 : userSessionInfo.avatar) || constants_1.DEFAULT_AVATAR,
71
+ }), dataInitMain = _s[0], setDataInitMain = _s[1];
72
+ var locationPathname = typeof window !== 'undefined' ? window.location.pathname : '';
73
+ var locationArr = locationPathname.split('/').filter(Boolean);
74
+ var basePath = locationArr.slice(0, locationArr.length - pathName.split('/').filter(Boolean).length).join('/');
75
+ var pathNameWithBasePath = "".concat(basePath ? "".concat('/' + basePath) : '').concat(pathName);
76
+ function enablePer(code, arr) {
77
+ if (!code)
78
+ return true;
79
+ return arr === null || arr === void 0 ? void 0 : arr.some(function (item) { return item === code; });
80
+ }
81
+ // Lấy code phân quyền trong menu từ path hiện tại
82
+ function getCodesByPath(dataMenu, currentPath) {
83
+ var lastMatchingCode = null;
84
+ var normalizedPath = currentPath.replace(/\/$/, '');
85
+ function traverse(items, prefix) {
86
+ for (var _i = 0, items_1 = items; _i < items_1.length; _i++) {
87
+ var item = items_1[_i];
88
+ var fullPath = item.path.startsWith('/') ? prefix + item.path : item.path;
89
+ var normalizedFullPath = fullPath.replace(/\/$/, '');
90
+ if (normalizedPath === normalizedFullPath || normalizedPath.startsWith(normalizedFullPath + '/')) {
91
+ lastMatchingCode = item.code;
92
+ }
93
+ if (item.child) {
94
+ traverse(item.child, prefix);
95
+ }
96
+ }
97
+ }
98
+ for (var _i = 0, dataMenu_1 = dataMenu; _i < dataMenu_1.length; _i++) {
99
+ var rootItem = dataMenu_1[_i];
100
+ var rootPath = rootItem.path;
101
+ var prefix = rootPath.split('/').slice(0, 2).join('/');
102
+ traverse([rootItem], prefix);
103
+ }
104
+ return lastMatchingCode ? lastMatchingCode : null;
105
+ }
106
+ // code phân quyền path hiện tại
107
+ var currentCode = getCodesByPath(dataInitMain.menuDefault, locationPathname);
108
+ var currentMenuByPath = navigation === null || navigation === void 0 ? void 0 : navigation.find(function (nav) { var _a; return (_a = nav === null || nav === void 0 ? void 0 : nav.child) === null || _a === void 0 ? void 0 : _a.some(function (c) { var _a; return (c === null || c === void 0 ? void 0 : c.code) === currentCode || ((_a = c === null || c === void 0 ? void 0 : c.child) === null || _a === void 0 ? void 0 : _a.some(function (x) { return (x === null || x === void 0 ? void 0 : x.code) === currentCode; })); }); });
109
+ var requireLoginValidation = function () {
110
+ (0, sessionStore_1.clearSession)();
111
+ var currentURL = window.location.href;
112
+ var url = currentURL.split('/');
113
+ var loginPush = "".concat(url[0], "//").concat(url[2], "/login-sso");
114
+ window.location.replace(loginPush);
115
+ };
116
+ var checkIsQuitJob = function (_a) {
117
+ var profileStaff = _a.profileStaff, profileTeacher = _a.profileTeacher;
118
+ try {
119
+ // xóa cookies với những tài khoản giáo viên, nhân viên đã nghỉ việc
120
+ var staffIsQuitJob = profileStaff === null || profileStaff === void 0 ? void 0 : profileStaff.is_quit_job;
121
+ var teacherIsQuitJob = profileTeacher === null || profileTeacher === void 0 ? void 0 : profileTeacher.is_quit_job;
122
+ if (staffIsQuitJob || teacherIsQuitJob) {
123
+ console.log('Phiên đăng nhập đã hết hạn');
124
+ Object.keys(js_cookie_1.default.get()).forEach(function (cookieName) {
125
+ js_cookie_1.default.remove(cookieName);
126
+ });
127
+ requireLoginValidation();
128
+ }
129
+ }
130
+ catch (error) {
131
+ console.log(error);
132
+ }
133
+ };
134
+ var fetchDataPer = function () { return tslib_1.__awaiter(void 0, void 0, void 0, function () {
135
+ var res, userPermissions, rolePermissions, allPermissions, permissionCodes, routePermissions, actionPermissions, actionPermissionMap, uniqueRoutePermissions, error_1;
136
+ var _a, _b, _c, _d;
137
+ return tslib_1.__generator(this, function (_e) {
138
+ switch (_e.label) {
139
+ case 0:
140
+ _e.trys.push([0, 2, , 3]);
141
+ return [4 /*yield*/, (0, clientQueryV3_1.default)({
142
+ query: query_1.GET_PERMISSION_DETAIL_USER_V3,
143
+ variables: { id: userId, school_id: schoolInfoId },
144
+ })];
145
+ case 1:
146
+ res = _e.sent();
147
+ userPermissions = (_b = (_a = res.data) === null || _a === void 0 ? void 0 : _a.permission_user) !== null && _b !== void 0 ? _b : [];
148
+ rolePermissions = (_d = (_c = res.data) === null || _c === void 0 ? void 0 : _c.permission_role) !== null && _d !== void 0 ? _d : [];
149
+ allPermissions = tslib_1.__spreadArray(tslib_1.__spreadArray([], userPermissions, true), rolePermissions, true);
150
+ permissionCodes = allPermissions.map(function (p) { return p.permission; });
151
+ routePermissions = permissionCodes.filter(function (p) { return !p.is_action; }).map(function (p) { return p.code; });
152
+ actionPermissions = permissionCodes.filter(function (p) { return p.is_action; }).map(function (p) { return p.code; });
153
+ actionPermissionMap = Object.fromEntries(actionPermissions.map(function (code) { return [code, true]; }));
154
+ uniqueRoutePermissions = Array.from(new Set(routePermissions));
155
+ return [2 /*return*/, { uniqueRoutePermissions: uniqueRoutePermissions, actionPermissionMap: actionPermissionMap }];
156
+ case 2:
157
+ error_1 = _e.sent();
158
+ console.error('Error fetching school data:', error_1);
159
+ return [2 /*return*/, { uniqueRoutePermissions: null, actionPermissionMap: null }];
160
+ case 3: return [2 /*return*/];
161
+ }
162
+ });
163
+ }); };
164
+ var getProfileByUser = function () { return tslib_1.__awaiter(void 0, void 0, void 0, function () {
165
+ var response, profileUser, avatar, email, full_name, profile_staff, profile_teacher, user_avatar, user_roles, error_2;
166
+ return tslib_1.__generator(this, function (_a) {
167
+ switch (_a.label) {
168
+ case 0:
169
+ _a.trys.push([0, 2, , 3]);
170
+ return [4 /*yield*/, (0, clientQueryV3_1.default)({
171
+ query: query_1.QUERY_GET_PROFILE_USER,
172
+ variables: {
173
+ user_id: userId,
174
+ },
175
+ })];
176
+ case 1:
177
+ response = _a.sent();
178
+ profileUser = response.data.users_by_pk;
179
+ avatar = profileUser.avatar, email = profileUser.email, full_name = profileUser.full_name, profile_staff = profileUser.profile_staff, profile_teacher = profileUser.profile_teacher, user_avatar = profileUser.user_avatar, user_roles = profileUser.user_roles;
180
+ // check user is quit job
181
+ checkIsQuitJob({
182
+ profileStaff: profile_staff,
183
+ profileTeacher: profile_teacher,
184
+ });
185
+ // renew list role in cookie
186
+ return [2 /*return*/, {
187
+ avatar: avatar,
188
+ user_avatar: user_avatar,
189
+ full_name: full_name,
190
+ email: email,
191
+ user_code: (profile_staff === null || profile_staff === void 0 ? void 0 : profile_staff.user_code) || (profile_teacher === null || profile_teacher === void 0 ? void 0 : profile_teacher.user_code) || '',
192
+ user_roles: user_roles,
193
+ }];
194
+ case 2:
195
+ error_2 = _a.sent();
196
+ console.log(error_2);
197
+ return [2 /*return*/];
198
+ case 3: return [2 /*return*/];
199
+ }
200
+ });
201
+ }); };
202
+ var fetchDataSchool = function () { return tslib_1.__awaiter(void 0, void 0, void 0, function () {
203
+ var id, _a, group_id, school_name_id, school_id, settingSiteDb, res, dataSchool, settingFetchData, cleanedJsonString, error_3;
204
+ var _b, _c, _d, _e;
205
+ return tslib_1.__generator(this, function (_f) {
206
+ switch (_f.label) {
207
+ case 0:
208
+ if (!userSessionInfo)
209
+ return [2 /*return*/];
210
+ id = userSessionInfo.id, _a = userSessionInfo.school, group_id = _a.school_name.group_id, school_name_id = _a.school_name_id, school_id = userSessionInfo.school_id;
211
+ setIsLoading(true);
212
+ settingSiteDb = undefined;
213
+ _f.label = 1;
214
+ case 1:
215
+ _f.trys.push([1, 3, , 4]);
216
+ return [4 /*yield*/, (0, clientQueryV3_1.default)({
217
+ query: query_1.GET_SCHOOL_V3,
218
+ variables: { group_id: group_id, school_name_id: school_name_id, user_id: id },
219
+ isDelay: false,
220
+ })];
221
+ case 2:
222
+ res = _f.sent();
223
+ dataSchool = (_c = (_b = res === null || res === void 0 ? void 0 : res.data) === null || _b === void 0 ? void 0 : _b.school_name[0]) === null || _c === void 0 ? void 0 : _c.schools;
224
+ settingFetchData = (_e = (_d = res === null || res === void 0 ? void 0 : res.data) === null || _d === void 0 ? void 0 : _d.setting_site[0]) === null || _e === void 0 ? void 0 : _e.value_setting;
225
+ if (settingFetchData) {
226
+ cleanedJsonString = settingFetchData.replace(/^"(.*)"$/, '$1');
227
+ settingSiteDb = JSON.parse(cleanedJsonString);
228
+ }
229
+ setIsLoading(false);
230
+ return [2 /*return*/, {
231
+ settingSiteDb: settingSiteDb,
232
+ loadingSchool: dataSchool.length === 0,
233
+ listSchool: dataSchool,
234
+ schoolId: school_id,
235
+ }];
236
+ case 3:
237
+ error_3 = _f.sent();
238
+ setIsLoading(false);
239
+ console.error('Error fetching school data:', error_3);
240
+ return [2 /*return*/];
241
+ case 4: return [2 /*return*/];
242
+ }
243
+ });
244
+ }); };
245
+ var fetchDataMenu = function () { return tslib_1.__awaiter(void 0, void 0, void 0, function () {
246
+ var envPublic, menuUrl, logoMenuTop, data, menuJson;
247
+ return tslib_1.__generator(this, function (_a) {
248
+ switch (_a.label) {
249
+ case 0: return [4 /*yield*/, (0, getEnvPublic_1.default)()];
250
+ case 1:
251
+ envPublic = _a.sent();
252
+ menuUrl = envPublic === null || envPublic === void 0 ? void 0 : envPublic.SCHOOL_MENU_V2;
253
+ logoMenuTop = envPublic === null || envPublic === void 0 ? void 0 : envPublic.SCHOOL_TOP_MENU_LOGO;
254
+ if (!menuUrl || !logoMenuTop) {
255
+ console.error('menu or logo not found');
256
+ }
257
+ return [4 /*yield*/, fetch(menuUrl)];
258
+ case 2:
259
+ data = _a.sent();
260
+ return [4 /*yield*/, data.json()];
261
+ case 3:
262
+ menuJson = _a.sent();
263
+ return [2 /*return*/, {
264
+ loadingMenu: false,
265
+ logo: { path: logoMenuTop, height: logoHeight },
266
+ menu: menuJson,
267
+ }];
268
+ }
269
+ });
270
+ }); };
271
+ var detectEnvByDomain = function (domain, configEnv) {
272
+ for (var _i = 0, _a = Object.entries(configEnv); _i < _a.length; _i++) {
273
+ var _b = _a[_i], env = _b[0], pattern = _b[1];
274
+ if (env.startsWith('_comment'))
275
+ continue; // bỏ qua comment
276
+ var regex = new RegExp(pattern.replace(/\\\\/g, '\\'));
277
+ if (regex.test(domain))
278
+ return env;
279
+ }
280
+ return 'stg';
281
+ };
282
+ var getEnvByConfig = function (configEnv) {
283
+ var domain = window.location.hostname;
284
+ var env = detectEnvByDomain(domain, configEnv);
285
+ return "config_menu_".concat(env, ":disable");
286
+ };
287
+ var isConfigEnvValid = function (code, configDisable) {
288
+ return configDisable.length === 0 || !(configDisable === null || configDisable === void 0 ? void 0 : configDisable.includes(code));
289
+ };
290
+ var funcMenuByConfigEnv = function (menuJson, configDisable) {
291
+ var menuWithConfigEnv = [];
292
+ for (var _i = 0, menuJson_1 = menuJson; _i < menuJson_1.length; _i++) {
293
+ var item = menuJson_1[_i];
294
+ if (!isConfigEnvValid(item === null || item === void 0 ? void 0 : item.code, configDisable))
295
+ continue;
296
+ var menuItem = tslib_1.__assign(tslib_1.__assign({}, item), { child: [] });
297
+ var menuSecondLevel = (item === null || item === void 0 ? void 0 : item.child) || [];
298
+ for (var _a = 0, _b = menuSecondLevel || []; _a < _b.length; _a++) {
299
+ var childItem = _b[_a];
300
+ if (!isConfigEnvValid(childItem === null || childItem === void 0 ? void 0 : childItem.code, configDisable))
301
+ continue;
302
+ var childMenuItem = tslib_1.__assign(tslib_1.__assign({}, childItem), { child: [] });
303
+ var menuThirdLevel = (childItem === null || childItem === void 0 ? void 0 : childItem.child) || [];
304
+ for (var _c = 0, menuThirdLevel_1 = menuThirdLevel; _c < menuThirdLevel_1.length; _c++) {
305
+ var subChildItem = menuThirdLevel_1[_c];
306
+ if (!isConfigEnvValid(subChildItem === null || subChildItem === void 0 ? void 0 : subChildItem.code, configDisable))
307
+ continue;
308
+ childMenuItem.child.push(subChildItem);
309
+ }
310
+ menuItem.child.push(childMenuItem);
311
+ }
312
+ menuWithConfigEnv.push(menuItem);
313
+ }
314
+ return menuWithConfigEnv;
315
+ };
316
+ var fetchInitData = function () { return tslib_1.__awaiter(void 0, void 0, void 0, function () {
317
+ var _a, loadingMenu, logo, menu, profileNew, dataPer, dataSchool, actionPermissionMap, uniqueRoutePermissions, config_env, enviromentByDomainConfig, menuJson, configDisable, currentSession;
318
+ var _b;
319
+ return tslib_1.__generator(this, function (_c) {
320
+ switch (_c.label) {
321
+ case 0: return [4 /*yield*/, fetchDataMenu()];
322
+ case 1:
323
+ _a = _c.sent(), loadingMenu = _a.loadingMenu, logo = _a.logo, menu = _a.menu;
324
+ return [4 /*yield*/, getProfileByUser()];
325
+ case 2:
326
+ profileNew = _c.sent();
327
+ return [4 /*yield*/, fetchDataPer()];
328
+ case 3:
329
+ dataPer = _c.sent();
330
+ return [4 /*yield*/, fetchDataSchool()];
331
+ case 4:
332
+ dataSchool = _c.sent();
333
+ actionPermissionMap = dataPer.actionPermissionMap, uniqueRoutePermissions = dataPer.uniqueRoutePermissions;
334
+ config_env = menu.config_env;
335
+ enviromentByDomainConfig = getEnvByConfig(config_env);
336
+ menuJson = menu.menu;
337
+ configDisable = menu[enviromentByDomainConfig];
338
+ setDataInitMain({
339
+ menuDefault: menuJson,
340
+ logo: logo,
341
+ menu: funcMenuByConfigEnv(menuJson, configDisable),
342
+ loadingMenu: loadingMenu,
343
+ schoolId: (dataSchool === null || dataSchool === void 0 ? void 0 : dataSchool.schoolId) || null,
344
+ loadingSchool: !!(dataSchool === null || dataSchool === void 0 ? void 0 : dataSchool.loadingSchool),
345
+ listSchool: (dataSchool === null || dataSchool === void 0 ? void 0 : dataSchool.listSchool) || [],
346
+ isLoadingPermission: false,
347
+ perCode: uniqueRoutePermissions,
348
+ roleCode: (profileNew === null || profileNew === void 0 ? void 0 : profileNew.user_roles.map(function (userRole) { var _a; return (_a = userRole === null || userRole === void 0 ? void 0 : userRole.role) === null || _a === void 0 ? void 0 : _a.role_code; })) || [],
349
+ configLayout: (dataSchool === null || dataSchool === void 0 ? void 0 : dataSchool.settingSiteDb) || undefined,
350
+ sourceAvatar: ((_b = profileNew === null || profileNew === void 0 ? void 0 : profileNew.user_avatar) === null || _b === void 0 ? void 0 : _b.size_small) || (profileNew === null || profileNew === void 0 ? void 0 : profileNew.avatar) || constants_1.DEFAULT_AVATAR,
351
+ });
352
+ currentSession = (0, getCookieSession_1.default)();
353
+ (0, saveCookiesClient_1.default)({
354
+ value: tslib_1.__assign(tslib_1.__assign(tslib_1.__assign(tslib_1.__assign({}, currentSession), (actionPermissionMap && {
355
+ action_permission: actionPermissionMap || [],
356
+ })), { setting_site: (dataSchool === null || dataSchool === void 0 ? void 0 : dataSchool.settingSiteDb) || {} }), (profileNew && {
357
+ user_info: tslib_1.__assign(tslib_1.__assign({}, userSessionInfo), profileNew),
358
+ })),
359
+ });
360
+ return [2 /*return*/];
361
+ }
362
+ });
363
+ }); };
364
+ (0, react_2.useEffect)(function () {
365
+ if (!userSessionInfo) {
366
+ // Require login if production mode
367
+ requireLoginValidation();
368
+ return;
369
+ }
370
+ fetchInitData();
371
+ }, []);
372
+ var isEqualUrl = function (parentHref, pathNameCompare) {
373
+ if (!parentHref || !pathNameCompare) {
374
+ return false;
375
+ }
376
+ var pathNameSplit = pathNameCompare.split('/');
377
+ var hrefSplit = parentHref.split('/');
378
+ if (!pathNameSplit || !hrefSplit) {
379
+ return false;
380
+ }
381
+ var urlRouter;
382
+ var currentMenu;
383
+ if (multipleMenu) {
384
+ urlRouter = pathNameSplit[1] + pathNameSplit[2];
385
+ currentMenu = hrefSplit[1] + hrefSplit[2];
386
+ }
387
+ else {
388
+ urlRouter = pathNameSplit[1];
389
+ currentMenu = hrefSplit[1];
390
+ }
391
+ return urlRouter === currentMenu;
392
+ };
393
+ var isBelongParentWithMicroservice = function (parentSplit, pathNameSplit) {
394
+ if (parentSplit.length > 2) {
395
+ var compareLength = parentSplit.length;
396
+ for (var i = 1; i < compareLength; i++) {
397
+ if (parentSplit[i] !== pathNameSplit[i])
398
+ return false;
399
+ }
400
+ return true;
401
+ }
402
+ else {
403
+ return parentSplit[1] === pathNameSplit[3];
404
+ }
405
+ };
406
+ var isBelongParent = function (parentUrl, pathNameCompare, isMicroservice) {
407
+ var parentSplit = parentUrl.split('/');
408
+ var pathNameSplit = pathNameCompare.split('/');
409
+ if (isMicroservice) {
410
+ return isBelongParentWithMicroservice(parentSplit, pathNameSplit);
411
+ }
412
+ if (parentSplit.length > 2 && !parentSplit.includes('list')) {
413
+ return parentSplit[1] === pathNameSplit[2] && parentSplit[2] === pathNameSplit[3];
414
+ }
415
+ else {
416
+ return parentSplit[1] === pathNameSplit[2];
417
+ }
418
+ };
419
+ var checkAdmissions = function (path) {
420
+ var pathNameSplit = path.split('/');
421
+ return pathNameSplit[1] === 'admissions';
422
+ };
423
+ var loadParentNavigation = function (path) {
424
+ var mainNavigation = dataInitMain.menu;
425
+ var naviSize = mainNavigation.length;
426
+ for (var i = 0; i < naviSize; i++) {
427
+ var item = mainNavigation[i];
428
+ item.current = false;
429
+ if (item.path === path || isEqualUrl(item.path, path)) {
430
+ item.current = true;
431
+ // Find sub modules
432
+ var itemLength = item.child.length;
433
+ var listChildren = [];
434
+ for (var j = 0; j < itemLength; j++) {
435
+ var childItem = item.child[j];
436
+ // Active child item
437
+ childItem.current = isBelongParent(childItem.path, path, !!(childItem === null || childItem === void 0 ? void 0 : childItem.isMicroservice));
438
+ if (childItem.child) {
439
+ var childItemLength = childItem.child.length;
440
+ var count = 0;
441
+ for (var k = 0; k < childItemLength; k++) {
442
+ var subChild = childItem.child[k];
443
+ subChild.current = isBelongParent(subChild.path, path, !!(childItem === null || childItem === void 0 ? void 0 : childItem.isMicroservice));
444
+ if (isBelongParent(subChild.path, path, !!(childItem === null || childItem === void 0 ? void 0 : childItem.isMicroservice)) ||
445
+ isBelongParent(childItem.path, path, !!(childItem === null || childItem === void 0 ? void 0 : childItem.isMicroservice))) {
446
+ count++;
447
+ }
448
+ var isSameSubChildPath = (subChild === null || subChild === void 0 ? void 0 : subChild.isMicroservice)
449
+ ? subChild.path === (childItem === null || childItem === void 0 ? void 0 : childItem.path)
450
+ : subChild.path === (childItem === null || childItem === void 0 ? void 0 : childItem.pathInternal);
451
+ var isPathInternal = (childItem === null || childItem === void 0 ? void 0 : childItem.isMicroservice) ? isSameSubChildPath : subChild.path === childItem.path;
452
+ childItem.showChild = count > 0;
453
+ if (isPathInternal)
454
+ childItem.current = false;
455
+ }
456
+ }
457
+ listChildren.push(childItem);
458
+ }
459
+ setSubNavigation(listChildren);
460
+ }
461
+ }
462
+ setNavigation(mainNavigation);
463
+ };
464
+ var loadChildrenCampaign = function (path) {
465
+ var mainNavigation = dataInitMain.menu;
466
+ var naviSize = mainNavigation.length;
467
+ for (var i = 0; i < naviSize; i++) {
468
+ var item = mainNavigation[i];
469
+ item.current = false;
470
+ if (item.path === path || isEqualUrl(item.path, path)) {
471
+ item.current = true;
472
+ // Find sub modules
473
+ // const itemLength = item.child.length;
474
+ var campaign = item.child.filter(function (child) { return child.path === '/campaign/list'; });
475
+ var listCampaign = campaign[0];
476
+ var itemLength = listCampaign === null || listCampaign === void 0 ? void 0 : listCampaign.childrenByParentDetail.length;
477
+ var listChildren = [];
478
+ for (var j = 0; j < itemLength; j++) {
479
+ var childItem = listCampaign === null || listCampaign === void 0 ? void 0 : listCampaign.childrenByParentDetail[j];
480
+ // Active child item
481
+ childItem.current = isBelongParent(childItem.path, path, false);
482
+ if (childItem.child) {
483
+ var childItemLength = childItem.child.length;
484
+ for (var k = 0; k < childItemLength; k++) {
485
+ var subChild = childItem.child[k];
486
+ subChild.current = isBelongParent(subChild.path, path, false);
487
+ if (isBelongParent(subChild.path, path, false) || isBelongParent(childItem.path, path, false)) {
488
+ childItem.showChild = true;
489
+ }
490
+ childItem.current = subChild.path !== childItem.path;
491
+ }
492
+ }
493
+ listChildren.push(childItem);
494
+ }
495
+ setSubNavigation(listChildren);
496
+ }
497
+ }
498
+ setNavigation(mainNavigation);
499
+ };
500
+ var checkChildrenCampaign = function (path) {
501
+ var _a;
502
+ var campaignMenu = (_a = dataInitMain.menu) === null || _a === void 0 ? void 0 : _a.find(function (item) { return item.path === '/admissions/campaign/list'; });
503
+ var campaignChild = campaignMenu === null || campaignMenu === void 0 ? void 0 : campaignMenu.child;
504
+ var listChild = campaignChild === null || campaignChild === void 0 ? void 0 : campaignChild.find(function (item) { return item.path === '/campaign/list'; });
505
+ var isChild = listChild === null || listChild === void 0 ? void 0 : listChild.childrenByParentDetail.find(function (item) { return isBelongParent(item.path, path, false); });
506
+ return isChild !== undefined;
507
+ };
508
+ (0, react_2.useEffect)(function () {
509
+ var isAdmissions = checkAdmissions(pathNameWithBasePath);
510
+ if (isAdmissions && checkChildrenCampaign(pathNameWithBasePath)) {
511
+ if (pathNameWithBasePath.includes('/admissions/overview/list/') && pid) {
512
+ (0, clientQueryV3_1.default)({
513
+ query: query_1.getCampaignNameV3,
514
+ variables: { id: pid },
515
+ isDelay: false,
516
+ }).then(function (res) {
517
+ var data = res.data.admissions_campaigns_by_pk;
518
+ setCampaignName(data.campaign_name);
519
+ js_cookie_1.default.set('campaign_name', JSON.stringify(data.campaign_name));
520
+ });
521
+ loadChildrenCampaign(pathNameWithBasePath);
522
+ }
523
+ else if (pathNameWithBasePath === '/admissions/campaign/list') {
524
+ loadParentNavigation(pathNameWithBasePath);
525
+ }
526
+ else {
527
+ loadChildrenCampaign(pathNameWithBasePath);
528
+ }
529
+ }
530
+ else {
531
+ loadParentNavigation(pathNameWithBasePath);
532
+ }
533
+ // eslint-disable-next-line react-hooks/exhaustive-deps
534
+ }, [dataInitMain, pid, pathNameWithBasePath]);
535
+ (0, react_2.useEffect)(function () {
536
+ var isAdmissions = checkAdmissions(pathNameWithBasePath);
537
+ if (isAdmissions) {
538
+ if (pathNameWithBasePath === '/admissions/campaign/list' || !checkChildrenCampaign(pathNameWithBasePath)) {
539
+ setOpenSubMenu(true);
540
+ }
541
+ else {
542
+ setOpenSubMenu(true);
543
+ var campaign_name = js_cookie_1.default.get('campaign_name');
544
+ setCampaignName(campaign_name ? JSON.parse(campaign_name) : campaignName);
545
+ loadChildrenCampaign(pathNameWithBasePath);
546
+ }
547
+ }
548
+ else {
549
+ setOpenSubMenu(true);
550
+ }
551
+ }, [pathNameWithBasePath, dataInitMain]);
552
+ var loadSubNavigation = function (path, isChild, childPath) {
553
+ var subLength = subNavigation.length;
554
+ var newSub = [];
555
+ for (var i = 0; i < subLength; i++) {
556
+ var item = subNavigation[i];
557
+ item.current = item.path === path && !isChild;
558
+ if (item.child) {
559
+ item.showChild = item.path === path;
560
+ for (var j = 0; j < item.child.length; j++) {
561
+ var child = item.child[j];
562
+ child.current = child.path === childPath;
563
+ if (child.path === item.path) {
564
+ item.current = false;
565
+ child.current = childPath ? child.path === childPath : child.path === path;
566
+ }
567
+ }
568
+ }
569
+ newSub.push(item);
570
+ }
571
+ setSubNavigation(newSub);
572
+ };
573
+ var subNavigationTriggerClicked = function (item, parent) {
574
+ if (parent) {
575
+ loadSubNavigation(parent.path, true, item.path);
576
+ }
577
+ else {
578
+ loadSubNavigation(item.path, false);
579
+ }
580
+ var queryString = window.location.search;
581
+ var urlParams = new URLSearchParams(queryString);
582
+ var campaign = Number(urlParams.get('campaignId'));
583
+ setGlobalLoading(true);
584
+ // handle for admissions
585
+ if (campaign) {
586
+ router.push("".concat(item.path, "?campaignId=").concat(campaign));
587
+ }
588
+ else {
589
+ router.push(item.path);
590
+ }
591
+ };
592
+ var topMenuLogoFromEnv = dataInitMain.logo.path;
593
+ var handleModalSignOut = function () { return setModalSignOut(true); };
594
+ var handleRedirectRouter = function (path) {
595
+ var currentURL = window.location.href;
596
+ var url = currentURL.split('/');
597
+ var pushPath = "".concat(url[0], "//").concat(url[2], "/").concat(path);
598
+ window.location.replace(pushPath);
599
+ };
600
+ var callApiLogoutToken = function () { return tslib_1.__awaiter(void 0, void 0, void 0, function () {
601
+ var error_4;
602
+ return tslib_1.__generator(this, function (_a) {
603
+ switch (_a.label) {
604
+ case 0:
605
+ _a.trys.push([0, 2, , 3]);
606
+ return [4 /*yield*/, axios_1.default.post("/api/authenticate/logout", {}, {
607
+ withCredentials: true,
608
+ })];
609
+ case 1: return [2 /*return*/, _a.sent()];
610
+ case 2:
611
+ error_4 = _a.sent();
612
+ console.error(error_4);
613
+ return [2 /*return*/];
614
+ case 3: return [2 /*return*/];
615
+ }
616
+ });
617
+ }); };
618
+ var handleSignOut = function () { return tslib_1.__awaiter(void 0, void 0, void 0, function () {
619
+ return tslib_1.__generator(this, function (_a) {
620
+ switch (_a.label) {
621
+ case 0:
622
+ setModalSignOut(false);
623
+ Object.keys(js_cookie_1.default.get()).forEach(function (cookieName) {
624
+ js_cookie_1.default.remove(cookieName);
625
+ });
626
+ return [4 /*yield*/, callApiLogoutToken()];
627
+ case 1:
628
+ _a.sent();
629
+ console.log('Đăng xuất tài khoản');
630
+ handleRedirectRouter('login-sso');
631
+ return [2 /*return*/];
632
+ }
633
+ });
634
+ }); };
635
+ var handleProfilePage = function () {
636
+ handleRedirectRouter('profile');
637
+ };
638
+ var handleBackMenu = function () {
639
+ router.push('/campaign/list');
640
+ loadParentNavigation('/admissions/campaign/list');
641
+ };
642
+ var checkChildBefore = function (item, currentItem) {
643
+ var currentIndexActive = item.find(function (s) { return s.current; });
644
+ return currentIndexActive ? currentIndexActive.id > currentItem.id : false;
645
+ };
646
+ var _t = (0, react_2.useState)(null), selected = _t[0], setSelected = _t[1];
647
+ var handleOpenModal = function (id) {
648
+ setModal(id !== dataInitMain.schoolId);
649
+ setSelected(id);
650
+ };
651
+ var handlePrimaryModal = function () {
652
+ var currentSession = (0, getCookieSession_1.default)();
653
+ var userInfo = currentSession === null || currentSession === void 0 ? void 0 : currentSession.user_info;
654
+ if (userInfo) {
655
+ try {
656
+ var newSchoolId = selected;
657
+ var schoolIdCurrent = userInfo.school_id;
658
+ if (newSchoolId && newSchoolId !== schoolIdCurrent) {
659
+ var userInfoNew = tslib_1.__assign(tslib_1.__assign({}, userInfo), { school_id: newSchoolId });
660
+ (0, saveCookiesClient_1.default)({
661
+ value: tslib_1.__assign(tslib_1.__assign({}, currentSession), { user_info: userInfoNew }),
662
+ });
663
+ window.location.reload();
664
+ }
665
+ }
666
+ catch (error) {
667
+ console.error(error);
668
+ }
669
+ }
670
+ setModal(false);
671
+ };
672
+ // settings page
673
+ var isSettings = function () {
674
+ var pathNameSplit = pathNameWithBasePath.split('/');
675
+ return pathNameSplit[1] === 'setting';
676
+ };
677
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
678
+ // const checkLogoHeader = dataInitMain.configLayout?.logo_dashboard || topMenuLogoFromEnv || DEFAULT_LOGO_DASHBOARD
679
+ var isActivityHistory = function () {
680
+ var pathNameSplit = pathNameWithBasePath.split('/');
681
+ return pathNameSplit[1] === constants_1.PATH_ACTIVITY_HISTORY;
682
+ };
683
+ var _u = (0, react_2.useState)(constants_1.MENU_ACTIVITY_HISTORY_CHILD), activityHistoryChild = _u[0], setActivityHistoryChild = _u[1];
684
+ var handleClickActivityHistoryChild = function (clickedItem) {
685
+ var updated = activityHistoryChild.map(function (item) { return (tslib_1.__assign(tslib_1.__assign({}, item), { current: item.code === clickedItem.code })); });
686
+ setActivityHistoryChild(updated);
687
+ };
688
+ (0, react_2.useEffect)(function () {
689
+ if (basePath === constants_1.PATH_ACTIVITY_HISTORY) {
690
+ setActivityHistoryChild(function (prev) {
691
+ return prev.map(function (item) { return (tslib_1.__assign(tslib_1.__assign({}, item), { current: pathNameWithBasePath.endsWith(item.path) })); });
692
+ });
693
+ }
694
+ else {
695
+ setActivityHistoryChild([]);
696
+ }
697
+ }, [pathNameWithBasePath, basePath]);
698
+ return (react_2.default.createElement(react_2.default.Fragment, null,
699
+ react_2.default.createElement(page_tracker_1.PageTracker, null),
700
+ react_2.default.createElement("div", { className: 'flex min-h-full flex-col' },
701
+ react_2.default.createElement(appearance_styled_1.default, { configLayout: dataInitMain === null || dataInitMain === void 0 ? void 0 : dataInitMain.configLayout, settingSiteCookie: getDataCookies ? (_d = (0, helpers_1.decryptCookie)(getDataCookies)) === null || _d === void 0 ? void 0 : _d.setting_site : null }),
702
+ react_2.default.createElement("header", { className: 'fixed top-0 z-50 flex h-10 min-w-full items-center justify-between bg-gray-100 pl-1.5 pr-2 ' },
703
+ react_2.default.createElement("div", { className: 'flex items-center gap-x-3' },
704
+ react_2.default.createElement("a", { className: 'flex w-full items-center', href: '/' }, topMenuLogoFromEnv ? (react_2.default.createElement(react_2.default.Fragment, null, isLoading ? (react_2.default.createElement("div", { className: 'header-loading-logo ml-3 h-8 w-full animate-pulse' })) : (react_2.default.createElement("img", { alt: 'Logo', className: ' h-5 w-auto',
705
+ // src={checkLogoHeader}
706
+ src: 'https://sisv2-cdn.phx-smartschool.com/library/book-copy/11-17-2025/22cef182-c958-4e1c-b4a0-66eede72166a-logo.png', style: { maxWidth: '12rem' } })))) : (react_2.default.createElement(react_2.default.Fragment, null))),
707
+ react_2.default.createElement("div", { className: 'flex items-center lg:hidden' },
708
+ react_2.default.createElement("button", { className: 'bg-grey-100 mr-3 inline-flex items-center justify-center rounded-md p-1 text-gray-200 hover:bg-white hover:text-gray-600', onClick: function () { return setSidebarOpen(true); }, type: 'button' },
709
+ react_2.default.createElement("span", { className: 'sr-only' }, "Open sidebar"),
710
+ react_2.default.createElement(outline_1.Bars3Icon, { "aria-hidden": 'true', className: 'h-6 w-6' })))),
711
+ react_2.default.createElement("div", { className: 'flex items-center gap-x-8' },
712
+ react_2.default.createElement("div", { className: '-m-1.5 p-1.5' },
713
+ react_2.default.createElement(react_1.Menu, { as: 'div', className: 'relative ml-3' },
714
+ react_2.default.createElement("div", null,
715
+ react_2.default.createElement(react_1.Menu.Button, { className: 'flex max-w-xs items-center rounded-full bg-gray-800 text-sm focus:outline-none focus:ring-2 focus:ring-white focus:ring-offset-2 focus:ring-offset-gray-800' },
716
+ react_2.default.createElement("span", { className: 'sr-only' }, "Open user menu"),
717
+ isLoading ? (react_2.default.createElement("div", { className: 'flex animate-pulse' },
718
+ react_2.default.createElement("div", { className: 'header-loading-avatar h-6 w-6 rounded-full' }))) : (react_2.default.createElement("img", { alt: '', className: 'h-6 w-6 rounded-full', src: dataInitMain.sourceAvatar })))),
719
+ react_2.default.createElement(react_1.Transition, { as: react_2.Fragment, enter: 'transition ease-out duration-100', enterFrom: 'transform opacity-0 scale-95', enterTo: 'transform opacity-100 scale-100', leave: 'transition ease-in duration-75', leaveFrom: 'transform opacity-100 scale-100', leaveTo: 'transform opacity-0 scale-95' },
720
+ react_2.default.createElement(react_1.Menu.Items, { className: ' shadow-lg absolute right-0 z-10 mt-2 w-[340px] origin-top-right rounded-md bg-white px-2 ring-1 ring-black ring-opacity-5 focus:outline-none' },
721
+ react_2.default.createElement(react_1.Menu.Item, null,
722
+ react_2.default.createElement("div", { "aria-hidden": true, className: 'px-2 pb-2 pt-4 text-sm font-semibold text-gray-900 ' }, "Ch\u1ECDn tr\u01B0\u1EDDng")),
723
+ !dataInitMain.loadingSchool ? (react_2.default.createElement(react_2.default.Fragment, null, dataInitMain.listSchool
724
+ .filter(function (val) {
725
+ if (!enablePer(constants_1.switchSchool, dataInitMain.perCode)) {
726
+ return val.id === dataInitMain.schoolId;
727
+ }
728
+ else {
729
+ return true;
730
+ }
731
+ })
732
+ .map(function (item) { return (react_2.default.createElement(react_1.Menu.Item, { key: item.id },
733
+ react_2.default.createElement("div", { "aria-hidden": true, className: "".concat(item.id === dataInitMain.schoolId &&
734
+ dataInitMain.listSchool.length > 1 &&
735
+ !enablePer(constants_1.switchSchool, dataInitMain.perCode) === false
736
+ ? 'rounded-lg bg-zinc-200 font-semibold text-gray-900 '
737
+ : 'font-normal ', " \n ").concat(item.id !== dataInitMain.schoolId &&
738
+ (dataInitMain.listSchool.length === 1 ||
739
+ !enablePer(constants_1.switchSchool, dataInitMain.perCode)) === false
740
+ ? 'cursor-pointer hover:rounded-lg hover:bg-gray-100'
741
+ : '', "\n relative mb-1 flex items-center justify-between px-2 py-1.5 text-sm text-gray-900"), onClick: function () { return handleOpenModal(item.id); } },
742
+ react_2.default.createElement("p", { className: 'max-w-[95%] truncate' }, item.name),
743
+ item.id === dataInitMain.schoolId &&
744
+ dataInitMain.listSchool.length > 1 &&
745
+ !enablePer(constants_1.switchSchool, dataInitMain.perCode) === false && (react_2.default.createElement(solid_2.CheckIcon, { "aria-hidden": 'true', className: 'h-4 w-4' }))))); }))) : (react_2.default.createElement(Skeleton_1.PHXSkeleton, { className: 'flex-1 px-2 py-2', type: 'single' })),
746
+ react_2.default.createElement("div", { className: 'border-b pt-1.5' }),
747
+ react_2.default.createElement(react_1.Menu.Item, null,
748
+ react_2.default.createElement("div", { "aria-hidden": true, className: 'px-2 pb-2 pt-4 text-sm font-semibold text-gray-900' }, "T\u00F9y ch\u1ECDn")),
749
+ react_2.default.createElement(react_1.Menu.Item, null,
750
+ react_2.default.createElement("div", { "aria-hidden": true, className: 'cursor-pointer px-2 py-1.5 text-sm text-gray-900 hover:rounded-lg hover:bg-gray-100', onClick: handleProfilePage }, "Th\u00F4ng tin c\u00E1 nh\u00E2n")),
751
+ react_2.default.createElement(react_1.Menu.Item, null,
752
+ react_2.default.createElement("div", { "aria-hidden": true, className: 'mb-2.5 cursor-pointer px-2 py-1.5 text-sm text-[#8e1f0c] hover:rounded-lg hover:bg-gray-100', onClick: handleModalSignOut }, "\u0110\u0103ng xu\u1EA5t"))))))))),
753
+ react_2.default.createElement("div", null,
754
+ react_2.default.createElement(Modal_1.PHXModal, { dangerActionText: '\u0110\u0103ng xu\u1EA5t', onDangerClick: handleSignOut, onHide: function () { return setModalSignOut(false); }, primaryActionText: '', show: modalSignOut, title: '\u0110\u0103ng xu\u1EA5t' },
755
+ react_2.default.createElement("div", { className: 'text-sm text-gray-700' }, "Khi th\u1EF1c hi\u1EC7n thao t\u00E1c n\u00E0y b\u1EA1n s\u1EBD tho\u00E1t kh\u1ECFi trang qu\u1EA3n tr\u1ECB v\u00E0 tr\u1EDF v\u1EC1 trang \u0111\u0103ng nh\u1EADp"))),
756
+ react_2.default.createElement(Modal_1.PHXModal, { onHide: function () { return setModal(false); }, onPrimaryClick: handlePrimaryModal, primaryActionText: 'X\u00E1c nh\u1EADn', show: modal, title: 'X\u00E1c nh\u1EADn thay \u0111\u1ED5i tr\u01B0\u1EDDng' },
757
+ react_2.default.createElement(Banner_1.PHXBanner, { description: 'Khi thay \u0111\u1ED5i tr\u01B0\u1EDDng t\u1EA5t c\u1EA3 d\u1EEF li\u1EC7u s\u1EBD hi\u1EC3n th\u1ECB theo tr\u01B0\u1EDDng v\u1EEBa \u0111\u01B0\u1EE3c ch\u1ECDn', onClose: function () { return setShowBanner(false); }, show: showBanner, title: 'L\u01B0u \u00FD', type: 'warning' })),
758
+ react_2.default.createElement("div", { className: 'relative flex min-h-screen bg-gray-100' },
759
+ react_2.default.createElement(nav_mobile_1.default, { hiddenSideBar: function () { return setSidebarOpen(false); }, menu: dataInitMain.menu, path: pathNameWithBasePath, pathNameWithBasePath: pathNameWithBasePath, permission: dataInitMain.perCode, router: router, setSidebarOpen: setSidebarOpen, sidebarOpen: sidebarOpen }),
760
+ react_2.default.createElement(side_bar_1.default, { currentMenuCode: (currentMenuByPath === null || currentMenuByPath === void 0 ? void 0 : currentMenuByPath.code) || '', dataInitMain: dataInitMain, enablePer: enablePer, isActivityHistory: isActivityHistory(), isSettings: isSettings(), navigation: navigation, setShowSubMenu: setShowSubMenu, showSubMenu: showSubMenu }),
761
+ react_2.default.createElement(react_1.Transition, { as: react_2.Fragment, enter: 'transition ease-in-out duration-[350ms] transform', enterFrom: '-translate-x-[10rem] opacity-0', enterTo: 'translate-x-0', leave: 'transition ease-in-out duration-[350ms] transform', leaveFrom: 'translate-x-0', leaveTo: '-translate-x-[10rem] opacity-0', show: showSubMenu },
762
+ react_2.default.createElement("aside", { className: "fixed left-[4.35rem] top-10 z-10 hidden h-[calc(100vh-3.1rem)] border-gray-300 lg:block lg:flex-shrink-0 ".concat(showSubMenu && 'border-r') },
763
+ react_2.default.createElement("div", { className: 'relative flex h-full w-64 flex-col overflow-y-auto bg-gray-200/20' },
764
+ react_2.default.createElement("div", { className: 'mt-3 flex w-full items-center justify-between pl-5 pr-3' },
765
+ react_2.default.createElement("h1", { className: 'text-base font-semibold text-gray-900' }, currentMenuByPath === null || currentMenuByPath === void 0 ? void 0 : currentMenuByPath.name),
766
+ showSubMenu && (react_2.default.createElement("button", { className: 'inline-blockk flex h-7 w-7 items-center justify-center rounded-md hover:bg-white ', onClick: function () { return setShowSubMenu(false); }, type: 'button' },
767
+ react_2.default.createElement(ToolTip_1.default, { content: '\u0110\u00F3ng thanh b\u00EAn' },
768
+ react_2.default.createElement(image_1.default, { alt: 'icon', height: 18, quality: 100, src: Icon_1.IconV2.CLOSE_SIDEBAR, width: 18 }))))),
769
+ checkAdmissions(pathNameWithBasePath) &&
770
+ checkChildrenCampaign(pathNameWithBasePath) &&
771
+ pathNameWithBasePath !== '/admissions/campaign/list' && (react_2.default.createElement("div", { className: 'mx-1 flex items-center p-2 pb-0' },
772
+ react_2.default.createElement("button", { className: 'mr-1 inline-flex items-center rounded-lg border-gray-300 bg-transparent px-2 py-1 text-xs font-medium text-gray-700 hover:bg-gray-200 active:bg-gray-300 active:pb-[0.2rem] active:pt-[0.3rem] active:shadow-[0rem_0.125rem_0.1rem_0rem_#0004_inset]', onClick: function () { return handleBackMenu(); }, type: 'button' },
773
+ react_2.default.createElement(solid_1.ArrowLeftIcon, { className: 'h-5 w-5' })),
774
+ react_2.default.createElement("p", { className: 'text-sm font-medium text-slate-600' }, campaignName))),
775
+ react_2.default.createElement("div", { className: ' mt-2 overflow-y-auto' },
776
+ subNavigation.map(function (item, subNavIndex) {
777
+ var _a;
778
+ var activeChildIndex = item.child.findIndex(function (c) { return c.current; });
779
+ var isChildActive = activeChildIndex !== -1;
780
+ return (react_2.default.createElement("div", { key: subNavIndex }, ((_a = dataInitMain.roleCode) === null || _a === void 0 ? void 0 : _a.length) > 0 ? (react_2.default.createElement(react_2.default.Fragment, null, enablePer(item.code, dataInitMain.perCode) ? (react_2.default.createElement(react_2.default.Fragment, null,
781
+ (item === null || item === void 0 ? void 0 : item.isMicroservice) ? (react_2.default.createElement("a", { "aria-current": (item === null || item === void 0 ? void 0 : item.current) ? 'page' : undefined, "aria-hidden": true, className: (0, types_1.classNames)((item === null || item === void 0 ? void 0 : item.current)
782
+ ? 'rounded-lg bg-white' // màu background menu cha khi active
783
+ : 'hover:rounded-lg hover:bg-white hover:bg-opacity-50', // màu background khi hover vào menu cha
784
+ 'mx-3 flex cursor-pointer border-slate-200 p-2'), href: item.path }, !dataInitMain.loadingMenu ? (react_2.default.createElement("div", { className: 'ml-1 flex items-center text-[0.84rem]' },
785
+ react_2.default.createElement("div", { className: 'flex items-center gap-x-3' },
786
+ react_2.default.createElement("p", { className: (0, types_1.classNames)('leading-5', (item === null || item === void 0 ? void 0 : item.current) ? '' : 'font-normal text-[#353A44]') }, item === null || item === void 0 ? void 0 : item.name)),
787
+ react_2.default.createElement("p", { className: 'mt-1 text-slate-500' }, item === null || item === void 0 ? void 0 : item.description))) : (react_2.default.createElement(Skeleton_1.PHXSkeleton, { className: 'mr-3 flex-1', type: 'single' })))) : (react_2.default.createElement("div", { "aria-current": (item === null || item === void 0 ? void 0 : item.current) ? 'page' : undefined, "aria-hidden": true, className: (0, types_1.classNames)((item === null || item === void 0 ? void 0 : item.current)
788
+ ? 'rounded-lg bg-white' // màu background menu cha khi active
789
+ : 'hover:rounded-lg hover:bg-white hover:bg-opacity-50', // màu background khi hover vào menu cha
790
+ 'mx-3 flex cursor-pointer border-slate-200 p-2'), onClick: function () { return subNavigationTriggerClicked(item); } }, !dataInitMain.loadingMenu ? (react_2.default.createElement("div", { className: 'ml-1 flex items-center text-[0.84rem]' },
791
+ react_2.default.createElement("div", { className: 'flex items-center gap-x-2' },
792
+ react_2.default.createElement(image_1.default, { alt: 'icon', height: 16, quality: 100, src:
793
+ // @ts-ignore
794
+ Icon_1.IconV2["".concat(currentMenuByPath === null || currentMenuByPath === void 0 ? void 0 : currentMenuByPath.code, "_OUTLINE")], width: 16 }),
795
+ react_2.default.createElement("p", { className: (0, types_1.classNames)('font-[450] leading-5', isChildActive || item.current ? 'text-gray-900' : ' text-gray-500') }, item === null || item === void 0 ? void 0 : item.name)),
796
+ react_2.default.createElement("p", { className: 'mt-1 text-slate-500' }, item === null || item === void 0 ? void 0 : item.description))) : (react_2.default.createElement(Skeleton_1.PHXSkeleton, { className: 'mr-3 flex-1', type: 'single' })))),
797
+ item.showChild && item.child && (react_2.default.createElement(react_2.default.Fragment, null, item.child.map(function (
798
+ // eslint-disable-next-line @typescript-eslint/no-shadow
799
+ children, childIndex) { return (react_2.default.createElement("div", { key: childIndex, className: (0, types_1.classNames)('relative') },
800
+ childIndex <= activeChildIndex && (react_2.default.createElement("div", { className: "absolute left-8 z-10 w-[1px] bg-gray-400 ".concat((children === null || children === void 0 ? void 0 : children.current) ? 'h-3' : 'bottom-0', " ").concat(childIndex === 0 ? '-top-1' : ' top-0') })),
801
+ react_2.default.createElement("div", { className: "".concat(childIndex === activeChildIndex ? 'block' : 'hidden') },
802
+ react_2.default.createElement(image_1.default, { alt: 'icon', className: 'absolute left-8 top-0 h-6 w-3', height: 1,
803
+ // @ts-ignore
804
+ src: Icon_1.IconV2.ARROW_RIGHT_SUB_MENU, width: 1 }),
805
+ react_2.default.createElement("div", { className: 'absolute left-[33px] top-0 z-10 h-4 w-[1px] bg-white' })),
806
+ (children === null || children === void 0 ? void 0 : children.isMicroservice) ? (react_2.default.createElement("a", { "aria-hidden": true, className: (0, types_1.classNames)('mx-3 flex cursor-pointer border-slate-200 p-2 text-[0.84rem]', (children === null || children === void 0 ? void 0 : children.current)
807
+ ? 'rounded-lg bg-white text-[#353A44]' // màu chữ menu con khi active
808
+ : 'hover:rounded-lg hover:bg-white hover:bg-opacity-50 hover:text-[#353A44]'), href: children.path, onClick: enablePer(children.code, dataInitMain.perCode)
809
+ ? undefined
810
+ : function (e) { return e.preventDefault(); } },
811
+ react_2.default.createElement("div", { className: 'flex items-center gap-x-3' },
812
+ react_2.default.createElement("div", { className: 'w-3' }),
813
+ react_2.default.createElement("p", { className: (0, types_1.classNames)('my-[0.05rem] ml-3 leading-5', !enablePer(children.code, dataInitMain.perCode)
814
+ ? 'font-normal text-gray-300'
815
+ : (children === null || children === void 0 ? void 0 : children.current)
816
+ ? ''
817
+ : 'font-normal text-[#353A44]') }, children.name)))) : (react_2.default.createElement("button", { "aria-hidden": true, className: (0, types_1.classNames)('ml-4 w-[90%]', (children === null || children === void 0 ? void 0 : children.current)
818
+ ? 'rounded-lg bg-white text-[#353A44]'
819
+ : 'hover:rounded-lg hover:bg-white hover:bg-opacity-50 hover:text-[#353A44]'), onClick: enablePer(children.code, dataInitMain.perCode)
820
+ ? function () { return subNavigationTriggerClicked(children, item); }
821
+ : undefined, type: 'button' },
822
+ react_2.default.createElement("p", { className: (0, types_1.classNames)('px-6 py-2 pl-[2.2rem] text-left text-xs', !enablePer(children.code, dataInitMain.perCode)
823
+ ? 'font-normal text-gray-300'
824
+ : (children === null || children === void 0 ? void 0 : children.current)
825
+ ? 'font-semibold text-gray-900'
826
+ : 'font-normal text-gray-500') }, children.name))))); }))))) : (react_2.default.createElement("div", { "aria-current": (item === null || item === void 0 ? void 0 : item.current) ? 'page' : undefined, className: (0, types_1.classNames)((item === null || item === void 0 ? void 0 : item.current)
827
+ ? 'rounded-lg bg-white '
828
+ : 'hover:rounded-lg hover:bg-white hover:bg-opacity-50', // hover:bg-white
829
+ 'mx-3 flex cursor-pointer border-slate-200 p-2') }, !dataInitMain.loadingMenu ? (react_2.default.createElement("div", { className: 'ml-1 flex items-center text-[0.84rem]' },
830
+ react_2.default.createElement("div", { className: 'flex items-center gap-x-3 text-gray-700' },
831
+ react_2.default.createElement("p", { className: (0, types_1.classNames)('font-normal leading-5 text-gray-300') }, item === null || item === void 0 ? void 0 : item.name)),
832
+ react_2.default.createElement("p", { className: 'mt-1 text-slate-500' }, item === null || item === void 0 ? void 0 : item.description))) : (react_2.default.createElement(Skeleton_1.PHXSkeleton, { className: 'mr-3 flex-1', type: 'single' })))))) : (react_2.default.createElement(react_2.default.Fragment, null,
833
+ (item === null || item === void 0 ? void 0 : item.isMicroservice) ? (react_2.default.createElement("a", { "aria-current": (item === null || item === void 0 ? void 0 : item.current) ? 'page' : undefined, "aria-hidden": true, className: (0, types_1.classNames)((item === null || item === void 0 ? void 0 : item.current)
834
+ ? 'rounded-lg bg-white' // màu background menu cha khi active
835
+ : 'hover:rounded-lg hover:bg-white hover:bg-opacity-50', // màu background khi hover vào menu cha
836
+ 'mx-3 flex cursor-pointer border-slate-200 p-2'), href: item.path }, !dataInitMain.loadingMenu ? (react_2.default.createElement("div", { className: 'ml-1 flex items-center text-[0.84rem]' },
837
+ react_2.default.createElement("div", { className: 'flex items-center gap-x-3' },
838
+ react_2.default.createElement("p", { className: (0, types_1.classNames)('leading-5', (item === null || item === void 0 ? void 0 : item.current) ? '' : 'font-normal text-[#353A44]') }, item === null || item === void 0 ? void 0 : item.name)),
839
+ react_2.default.createElement("p", { className: 'mt-1 text-slate-500' }, item === null || item === void 0 ? void 0 : item.description))) : (react_2.default.createElement(Skeleton_1.PHXSkeleton, { className: 'mr-3 flex-1', type: 'single' })))) : (react_2.default.createElement("div", { "aria-current": (item === null || item === void 0 ? void 0 : item.current) ? 'page' : undefined, "aria-hidden": true, className: (0, types_1.classNames)((item === null || item === void 0 ? void 0 : item.current)
840
+ ? 'rounded-lg bg-white' // màu background menu cha khi active
841
+ : 'hover:rounded-lg hover:bg-white hover:bg-opacity-50', // màu background khi hover vào menu cha
842
+ 'mx-3 flex cursor-pointer border-slate-200 p-2'), onClick: function () { return subNavigationTriggerClicked(item); } }, !dataInitMain.loadingMenu ? (react_2.default.createElement("div", { className: 'ml-1 flex items-center text-[0.84rem]' },
843
+ react_2.default.createElement("div", { className: 'flex items-center gap-x-3' },
844
+ react_2.default.createElement("p", { className: (0, types_1.classNames)('leading-5', (item === null || item === void 0 ? void 0 : item.current) ? '' : 'font-normal text-[#353A44]') }, item === null || item === void 0 ? void 0 : item.name)),
845
+ react_2.default.createElement("p", { className: 'mt-1 text-slate-500' }, item === null || item === void 0 ? void 0 : item.description))) : (react_2.default.createElement(Skeleton_1.PHXSkeleton, { className: 'mr-3 flex-1', type: 'single' })))),
846
+ item.showChild && item.child && (react_2.default.createElement(react_2.default.Fragment, null, item.child.map(
847
+ // eslint-disable-next-line @typescript-eslint/no-shadow
848
+ function (children, index) { return (react_2.default.createElement("div", { key: index, className: (0, types_1.classNames)('relative', (children === null || children === void 0 ? void 0 : children.current) && 'child-menu-active', checkChildBefore(item.child, children) && 'child-menu-bef') }, (children === null || children === void 0 ? void 0 : children.isMicroservice) ? (react_2.default.createElement("a", { "aria-hidden": true, className: (0, types_1.classNames)('mx-1 flex cursor-pointer border-slate-200 p-2 text-[0.84rem]', (children === null || children === void 0 ? void 0 : children.current)
849
+ ? 'rounded-lg bg-white text-gray-900 '
850
+ : 'hover:rounded-lg hover:bg-white hover:bg-opacity-50 hover:text-gray-900'), href: item.path },
851
+ react_2.default.createElement("div", { className: 'flex items-center gap-x-3' },
852
+ react_2.default.createElement("div", { className: 'w-3' }),
853
+ react_2.default.createElement("p", { className: (0, types_1.classNames)('my-[0.05rem] ml-3 leading-5', (children === null || children === void 0 ? void 0 : children.current) ? 'font-semibold' : 'font-normal text-gray-600') }, children.name)))) : (react_2.default.createElement("div", { "aria-hidden": true, className: (0, types_1.classNames)('mx-1 flex cursor-pointer border-slate-200 p-2 text-[0.84rem]', (children === null || children === void 0 ? void 0 : children.current)
854
+ ? 'rounded-lg bg-white text-gray-900 '
855
+ : 'hover:rounded-lg hover:bg-white hover:bg-opacity-50 hover:text-gray-900'), onClick: function () { return subNavigationTriggerClicked(children, item); } },
856
+ react_2.default.createElement("div", { className: 'flex items-center gap-x-3' },
857
+ react_2.default.createElement("div", { className: 'w-3' }),
858
+ react_2.default.createElement("p", { className: (0, types_1.classNames)('my-[0.05rem] ml-3 leading-5', (children === null || children === void 0 ? void 0 : children.current) ? 'font-semibold' : 'font-normal text-gray-600') }, children.name)))))); })))))));
859
+ }),
860
+ activityHistoryChild.map(function (item, subNavIndex) { return (react_2.default.createElement("div", { key: subNavIndex },
861
+ react_2.default.createElement("div", { "aria-current": (item === null || item === void 0 ? void 0 : item.current) ? 'page' : undefined, "aria-hidden": true, className: (0, types_1.classNames)((item === null || item === void 0 ? void 0 : item.current) && !dataInitMain.loadingMenu
862
+ ? 'rounded-lg bg-white' // màu background menu cha khi active
863
+ : 'hover:rounded-lg hover:bg-white hover:bg-opacity-50', // màu background khi hover vào menu cha
864
+ 'mx-3 flex cursor-pointer border-slate-200 p-2'), onClick: function () {
865
+ handleClickActivityHistoryChild(item);
866
+ subNavigationTriggerClicked(item);
867
+ } }, !dataInitMain.loadingMenu ? (react_2.default.createElement("div", { className: 'ml-1 flex items-center text-[0.84rem]' },
868
+ react_2.default.createElement("div", { className: 'flex items-center gap-x-3' },
869
+ react_2.default.createElement("p", { className: (0, types_1.classNames)('leading-5', (item === null || item === void 0 ? void 0 : item.current) ? '' : 'font-normal text-[#353A44]') }, item === null || item === void 0 ? void 0 : item.name)),
870
+ react_2.default.createElement("p", { className: 'mt-1 text-slate-500' }, item === null || item === void 0 ? void 0 : item.description))) : ('')))); }))))),
871
+ react_2.default.createElement("main", { className: 'w-full pb-2.5 pt-10 lg:pl-[4.5rem] lg:pr-[0.5rem]' },
872
+ react_2.default.createElement("div", { className: 'h-full w-full border-gray-300 lg:overflow-y-auto lg:rounded-2xl lg:border-[0.75px]' }, dataInitMain.isLoadingPermission ? ('') : enablePer(currentCode, dataInitMain.perCode) ? (react_2.default.createElement("div", { className: "h-full bg-gray-50 ".concat(showSubMenu ? 'pl-4 lg:pl-[16.9rem]' : 'pl-4', " py-4 pr-4 transition-all duration-300") }, children)) : (react_2.default.createElement(Card_1.PHXCard, null,
873
+ react_2.default.createElement("div", { className: 'mb-10 mt-10 sm:mb-20 sm:mt-20 lg:mb-32 lg:mt-32' },
874
+ react_2.default.createElement("div", { className: 'flex items-center justify-center' },
875
+ react_2.default.createElement(outline_1.LockClosedIcon, { className: 'text-gray-400', height: 70, width: 70 })),
876
+ react_2.default.createElement("div", { className: 'mt-5 flex select-none items-center justify-center text-base font-bold text-gray-800' }, "B\u1EA1n kh\u00F4ng c\u00F3 quy\u1EC1n truy c\u1EADp")))))))));
877
+ };
878
+ exports.PHXMainWrapV4 = PHXMainWrapV4;
879
+ //# sourceMappingURL=MainWrapV4.js.map