phx-uikit 1.0.249 → 1.0.250

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 (235) hide show
  1. package/dist/cjs/assets/drag-icon.svg +8 -0
  2. package/dist/cjs/assets/icon.d.ts +1 -0
  3. package/dist/cjs/assets/icon.js +9 -0
  4. package/dist/cjs/assets/icon.js.map +1 -0
  5. package/dist/cjs/assets/icon.ts +5 -0
  6. package/dist/cjs/axiosInstance.js +2 -0
  7. package/dist/cjs/axiosInstance.js.map +1 -1
  8. package/dist/cjs/components/Badge/Badge.js +2 -2
  9. package/dist/cjs/components/Badge/Badge.js.map +1 -1
  10. package/dist/cjs/components/ButtonGroup/ButtonGroup.d.ts +2 -1
  11. package/dist/cjs/components/ButtonGroup/ButtonGroup.js +8 -6
  12. package/dist/cjs/components/ButtonGroup/ButtonGroup.js.map +1 -1
  13. package/dist/cjs/components/Calendar/Calendar.d.ts +1 -0
  14. package/dist/cjs/components/Calendar/Calendar.js +25 -7
  15. package/dist/cjs/components/Calendar/Calendar.js.map +1 -1
  16. package/dist/cjs/components/ColSpan/ColSpan.js +24 -5
  17. package/dist/cjs/components/ColSpan/ColSpan.js.map +1 -1
  18. package/dist/cjs/components/DateRangePicker/DatePicker.d.ts +2 -1
  19. package/dist/cjs/components/DateRangePicker/DatePicker.js +4 -4
  20. package/dist/cjs/components/DateRangePicker/DatePicker.js.map +1 -1
  21. package/dist/cjs/components/Func/GRPC/clientMutationDataCenterV3.d.ts +5 -0
  22. package/dist/cjs/components/Func/GRPC/clientMutationDataCenterV3.js +47 -0
  23. package/dist/cjs/components/Func/GRPC/clientMutationDataCenterV3.js.map +1 -0
  24. package/dist/cjs/components/Func/GRPC/clientMutationV3.d.ts +6 -0
  25. package/dist/cjs/components/Func/GRPC/clientMutationV3.js +43 -0
  26. package/dist/cjs/components/Func/GRPC/clientMutationV3.js.map +1 -0
  27. package/dist/cjs/components/Func/GRPC/clientQueryDataCenterV3.d.ts +5 -0
  28. package/dist/cjs/components/Func/GRPC/clientQueryDataCenterV3.js +47 -0
  29. package/dist/cjs/components/Func/GRPC/clientQueryDataCenterV3.js.map +1 -0
  30. package/dist/cjs/components/Func/GRPC/clientQueryV3.d.ts +6 -0
  31. package/dist/cjs/components/Func/GRPC/clientQueryV3.js +43 -0
  32. package/dist/cjs/components/Func/GRPC/clientQueryV3.js.map +1 -0
  33. package/dist/cjs/components/Func/SchoolYearV3/getPrevCurrentNextSchoolYearV3.d.ts +3 -0
  34. package/dist/cjs/components/Func/SchoolYearV3/getPrevCurrentNextSchoolYearV3.js +44 -0
  35. package/dist/cjs/components/Func/SchoolYearV3/getPrevCurrentNextSchoolYearV3.js.map +1 -0
  36. package/dist/cjs/components/Func/clientMutationV3.d.ts +2 -1
  37. package/dist/cjs/components/Func/clientMutationV3.js +6 -7
  38. package/dist/cjs/components/Func/clientMutationV3.js.map +1 -1
  39. package/dist/cjs/components/Func/clientQueryV3.d.ts +2 -1
  40. package/dist/cjs/components/Func/clientQueryV3.js +6 -7
  41. package/dist/cjs/components/Func/clientQueryV3.js.map +1 -1
  42. package/dist/cjs/components/HeaderBar/HeaderBar.d.ts +7 -1
  43. package/dist/cjs/components/HeaderBar/HeaderBar.js +24 -1
  44. package/dist/cjs/components/HeaderBar/HeaderBar.js.map +1 -1
  45. package/dist/cjs/components/LoginSsoV3/login-sso-v3.d.ts +1 -0
  46. package/dist/cjs/components/LoginSsoV3/login-sso-v3.js +12 -9
  47. package/dist/cjs/components/LoginSsoV3/login-sso-v3.js.map +1 -1
  48. package/dist/cjs/components/MainWrapV3/MainWrapV3.js +284 -236
  49. package/dist/cjs/components/MainWrapV3/MainWrapV3.js.map +1 -1
  50. package/dist/cjs/components/MainWrapV3/assets/Icon.js +9 -1
  51. package/dist/cjs/components/MainWrapV3/assets/Icon.js.map +1 -1
  52. package/dist/cjs/components/MainWrapV3/assets/Icon.ts +8 -0
  53. package/dist/cjs/components/MainWrapV3/assets/icon/hrm_checkin.svg +3 -0
  54. package/dist/cjs/components/MainWrapV3/assets/icon/lms.svg +3 -0
  55. package/dist/cjs/components/MainWrapV3/assets/icon-solid/hrm_checkin_solid.svg +3 -0
  56. package/dist/cjs/components/MainWrapV3/assets/icon-solid/lms_solid.svg +3 -0
  57. package/dist/cjs/components/Modal/Modal.d.ts +3 -1
  58. package/dist/cjs/components/Modal/Modal.js +5 -4
  59. package/dist/cjs/components/Modal/Modal.js.map +1 -1
  60. package/dist/cjs/components/SearchResultListV3/SearchResultList.js +2 -10
  61. package/dist/cjs/components/SearchResultListV3/SearchResultList.js.map +1 -1
  62. package/dist/cjs/components/SortItem/SortItem.d.ts +12 -0
  63. package/dist/cjs/components/SortItem/SortItem.js +28 -0
  64. package/dist/cjs/components/SortItem/SortItem.js.map +1 -0
  65. package/dist/cjs/components/Sortable/Sortable.d.ts +22 -0
  66. package/dist/cjs/components/Sortable/Sortable.js +14 -0
  67. package/dist/cjs/components/Sortable/Sortable.js.map +1 -0
  68. package/dist/cjs/components/StoreProduct/StoreProduct.js +1 -0
  69. package/dist/cjs/components/StoreProduct/StoreProduct.js.map +1 -1
  70. package/dist/cjs/components/TableV3/HeaderTable.d.ts +1 -1
  71. package/dist/cjs/components/TableV3/HeaderTable.js +5 -4
  72. package/dist/cjs/components/TableV3/HeaderTable.js.map +1 -1
  73. package/dist/cjs/components/TableV3/Pagination.d.ts +1 -1
  74. package/dist/cjs/components/TableV3/Pagination.js +12 -2
  75. package/dist/cjs/components/TableV3/Pagination.js.map +1 -1
  76. package/dist/cjs/components/TableV3/RowTable.d.ts +1 -1
  77. package/dist/cjs/components/TableV3/RowTable.js +8 -5
  78. package/dist/cjs/components/TableV3/RowTable.js.map +1 -1
  79. package/dist/cjs/components/TableV3/TableV3.d.ts +9 -1
  80. package/dist/cjs/components/TableV3/TableV3.js +71 -45
  81. package/dist/cjs/components/TableV3/TableV3.js.map +1 -1
  82. package/dist/cjs/components/TableVertical/RowTable.d.ts +1 -1
  83. package/dist/cjs/components/TableVertical/RowTable.js +14 -10
  84. package/dist/cjs/components/TableVertical/RowTable.js.map +1 -1
  85. package/dist/cjs/components/TableVertical/TableVertical.d.ts +2 -1
  86. package/dist/cjs/components/TableVertical/TableVertical.js +2 -2
  87. package/dist/cjs/components/TableVertical/TableVertical.js.map +1 -1
  88. package/dist/cjs/components/Tabs/Tabs.d.ts +1 -0
  89. package/dist/cjs/components/Tabs/Tabs.js +14 -7
  90. package/dist/cjs/components/Tabs/Tabs.js.map +1 -1
  91. package/dist/cjs/components/TimePicker/TimePicker.d.ts +3 -1
  92. package/dist/cjs/components/TimePicker/TimePicker.js +15 -2
  93. package/dist/cjs/components/TimePicker/TimePicker.js.map +1 -1
  94. package/dist/cjs/components/TimePicker/component/Time.d.ts +3 -1
  95. package/dist/cjs/components/TimePicker/component/Time.js +6 -5
  96. package/dist/cjs/components/TimePicker/component/Time.js.map +1 -1
  97. package/dist/cjs/components/TimePicker/utils.d.ts +5 -0
  98. package/dist/cjs/components/TimePicker/utils.js +31 -1
  99. package/dist/cjs/components/TimePicker/utils.js.map +1 -1
  100. package/dist/cjs/components/UploadFile/FormUpload.js +5 -6
  101. package/dist/cjs/components/UploadFile/FormUpload.js.map +1 -1
  102. package/dist/cjs/helpers/helpers.d.ts +1 -0
  103. package/dist/cjs/helpers/helpers.js +12 -1
  104. package/dist/cjs/helpers/helpers.js.map +1 -1
  105. package/dist/cjs/index.d.ts +4 -1
  106. package/dist/cjs/index.js +7 -1
  107. package/dist/cjs/index.js.map +1 -1
  108. package/dist/cjs/query/index.d.ts +1 -1
  109. package/dist/cjs/query/index.js +1 -1
  110. package/dist/cjs/query/index.js.map +1 -1
  111. package/dist/cjs/query/school-year-v3/index.d.ts +2 -2
  112. package/dist/cjs/query/school-year-v3/index.js +2 -2
  113. package/dist/cjs/query/school-year-v3/index.js.map +1 -1
  114. package/dist/cjs/utils/constants.d.ts +10 -0
  115. package/dist/cjs/utils/constants.js +11 -1
  116. package/dist/cjs/utils/constants.js.map +1 -1
  117. package/dist/cjs/utils/types/types.d.ts +8 -1
  118. package/dist/esm/assets/drag-icon.svg +8 -0
  119. package/dist/esm/assets/icon.d.ts +1 -0
  120. package/dist/esm/assets/icon.js +5 -0
  121. package/dist/esm/assets/icon.js.map +1 -0
  122. package/dist/esm/assets/icon.ts +5 -0
  123. package/dist/esm/axiosInstance.js +3 -1
  124. package/dist/esm/axiosInstance.js.map +1 -1
  125. package/dist/esm/components/Badge/Badge.js +2 -2
  126. package/dist/esm/components/Badge/Badge.js.map +1 -1
  127. package/dist/esm/components/ButtonGroup/ButtonGroup.d.ts +2 -1
  128. package/dist/esm/components/ButtonGroup/ButtonGroup.js +8 -6
  129. package/dist/esm/components/ButtonGroup/ButtonGroup.js.map +1 -1
  130. package/dist/esm/components/Calendar/Calendar.d.ts +1 -0
  131. package/dist/esm/components/Calendar/Calendar.js +25 -7
  132. package/dist/esm/components/Calendar/Calendar.js.map +1 -1
  133. package/dist/esm/components/ColSpan/ColSpan.js +25 -6
  134. package/dist/esm/components/ColSpan/ColSpan.js.map +1 -1
  135. package/dist/esm/components/DateRangePicker/DatePicker.d.ts +2 -1
  136. package/dist/esm/components/DateRangePicker/DatePicker.js +4 -4
  137. package/dist/esm/components/DateRangePicker/DatePicker.js.map +1 -1
  138. package/dist/esm/components/Func/GRPC/clientMutationDataCenterV3.d.ts +5 -0
  139. package/dist/esm/components/Func/GRPC/clientMutationDataCenterV3.js +44 -0
  140. package/dist/esm/components/Func/GRPC/clientMutationDataCenterV3.js.map +1 -0
  141. package/dist/esm/components/Func/GRPC/clientMutationV3.d.ts +6 -0
  142. package/dist/esm/components/Func/GRPC/clientMutationV3.js +40 -0
  143. package/dist/esm/components/Func/GRPC/clientMutationV3.js.map +1 -0
  144. package/dist/esm/components/Func/GRPC/clientQueryDataCenterV3.d.ts +5 -0
  145. package/dist/esm/components/Func/GRPC/clientQueryDataCenterV3.js +44 -0
  146. package/dist/esm/components/Func/GRPC/clientQueryDataCenterV3.js.map +1 -0
  147. package/dist/esm/components/Func/GRPC/clientQueryV3.d.ts +6 -0
  148. package/dist/esm/components/Func/GRPC/clientQueryV3.js +40 -0
  149. package/dist/esm/components/Func/GRPC/clientQueryV3.js.map +1 -0
  150. package/dist/esm/components/Func/SchoolYearV3/getPrevCurrentNextSchoolYearV3.d.ts +3 -0
  151. package/dist/esm/components/Func/SchoolYearV3/getPrevCurrentNextSchoolYearV3.js +41 -0
  152. package/dist/esm/components/Func/SchoolYearV3/getPrevCurrentNextSchoolYearV3.js.map +1 -0
  153. package/dist/esm/components/Func/clientMutationV3.d.ts +2 -1
  154. package/dist/esm/components/Func/clientMutationV3.js +7 -8
  155. package/dist/esm/components/Func/clientMutationV3.js.map +1 -1
  156. package/dist/esm/components/Func/clientQueryV3.d.ts +2 -1
  157. package/dist/esm/components/Func/clientQueryV3.js +7 -8
  158. package/dist/esm/components/Func/clientQueryV3.js.map +1 -1
  159. package/dist/esm/components/HeaderBar/HeaderBar.d.ts +7 -1
  160. package/dist/esm/components/HeaderBar/HeaderBar.js +25 -1
  161. package/dist/esm/components/HeaderBar/HeaderBar.js.map +1 -1
  162. package/dist/esm/components/LoginSsoV3/login-sso-v3.d.ts +1 -0
  163. package/dist/esm/components/LoginSsoV3/login-sso-v3.js +13 -10
  164. package/dist/esm/components/LoginSsoV3/login-sso-v3.js.map +1 -1
  165. package/dist/esm/components/MainWrapV3/MainWrapV3.js +284 -236
  166. package/dist/esm/components/MainWrapV3/MainWrapV3.js.map +1 -1
  167. package/dist/esm/components/MainWrapV3/assets/Icon.js +9 -1
  168. package/dist/esm/components/MainWrapV3/assets/Icon.js.map +1 -1
  169. package/dist/esm/components/MainWrapV3/assets/Icon.ts +8 -0
  170. package/dist/esm/components/MainWrapV3/assets/icon/hrm_checkin.svg +3 -0
  171. package/dist/esm/components/MainWrapV3/assets/icon/lms.svg +3 -0
  172. package/dist/esm/components/MainWrapV3/assets/icon-solid/hrm_checkin_solid.svg +3 -0
  173. package/dist/esm/components/MainWrapV3/assets/icon-solid/lms_solid.svg +3 -0
  174. package/dist/esm/components/Modal/Modal.d.ts +3 -1
  175. package/dist/esm/components/Modal/Modal.js +5 -4
  176. package/dist/esm/components/Modal/Modal.js.map +1 -1
  177. package/dist/esm/components/SearchResultListV3/SearchResultList.js +1 -9
  178. package/dist/esm/components/SearchResultListV3/SearchResultList.js.map +1 -1
  179. package/dist/esm/components/SortItem/SortItem.d.ts +12 -0
  180. package/dist/esm/components/SortItem/SortItem.js +24 -0
  181. package/dist/esm/components/SortItem/SortItem.js.map +1 -0
  182. package/dist/esm/components/Sortable/Sortable.d.ts +22 -0
  183. package/dist/esm/components/Sortable/Sortable.js +10 -0
  184. package/dist/esm/components/Sortable/Sortable.js.map +1 -0
  185. package/dist/esm/components/StoreProduct/StoreProduct.js +1 -0
  186. package/dist/esm/components/StoreProduct/StoreProduct.js.map +1 -1
  187. package/dist/esm/components/TableV3/HeaderTable.d.ts +1 -1
  188. package/dist/esm/components/TableV3/HeaderTable.js +5 -4
  189. package/dist/esm/components/TableV3/HeaderTable.js.map +1 -1
  190. package/dist/esm/components/TableV3/Pagination.d.ts +1 -1
  191. package/dist/esm/components/TableV3/Pagination.js +12 -2
  192. package/dist/esm/components/TableV3/Pagination.js.map +1 -1
  193. package/dist/esm/components/TableV3/RowTable.d.ts +1 -1
  194. package/dist/esm/components/TableV3/RowTable.js +8 -5
  195. package/dist/esm/components/TableV3/RowTable.js.map +1 -1
  196. package/dist/esm/components/TableV3/TableV3.d.ts +9 -1
  197. package/dist/esm/components/TableV3/TableV3.js +71 -45
  198. package/dist/esm/components/TableV3/TableV3.js.map +1 -1
  199. package/dist/esm/components/TableVertical/RowTable.d.ts +1 -1
  200. package/dist/esm/components/TableVertical/RowTable.js +14 -10
  201. package/dist/esm/components/TableVertical/RowTable.js.map +1 -1
  202. package/dist/esm/components/TableVertical/TableVertical.d.ts +2 -1
  203. package/dist/esm/components/TableVertical/TableVertical.js +2 -2
  204. package/dist/esm/components/TableVertical/TableVertical.js.map +1 -1
  205. package/dist/esm/components/Tabs/Tabs.d.ts +1 -0
  206. package/dist/esm/components/Tabs/Tabs.js +14 -7
  207. package/dist/esm/components/Tabs/Tabs.js.map +1 -1
  208. package/dist/esm/components/TimePicker/TimePicker.d.ts +3 -1
  209. package/dist/esm/components/TimePicker/TimePicker.js +15 -2
  210. package/dist/esm/components/TimePicker/TimePicker.js.map +1 -1
  211. package/dist/esm/components/TimePicker/component/Time.d.ts +3 -1
  212. package/dist/esm/components/TimePicker/component/Time.js +7 -6
  213. package/dist/esm/components/TimePicker/component/Time.js.map +1 -1
  214. package/dist/esm/components/TimePicker/utils.d.ts +5 -0
  215. package/dist/esm/components/TimePicker/utils.js +28 -0
  216. package/dist/esm/components/TimePicker/utils.js.map +1 -1
  217. package/dist/esm/components/UploadFile/FormUpload.js +5 -6
  218. package/dist/esm/components/UploadFile/FormUpload.js.map +1 -1
  219. package/dist/esm/helpers/helpers.d.ts +1 -0
  220. package/dist/esm/helpers/helpers.js +10 -0
  221. package/dist/esm/helpers/helpers.js.map +1 -1
  222. package/dist/esm/index.d.ts +4 -1
  223. package/dist/esm/index.js +4 -1
  224. package/dist/esm/index.js.map +1 -1
  225. package/dist/esm/query/index.d.ts +1 -1
  226. package/dist/esm/query/index.js +1 -1
  227. package/dist/esm/query/index.js.map +1 -1
  228. package/dist/esm/query/school-year-v3/index.d.ts +2 -2
  229. package/dist/esm/query/school-year-v3/index.js +2 -2
  230. package/dist/esm/query/school-year-v3/index.js.map +1 -1
  231. package/dist/esm/utils/constants.d.ts +10 -0
  232. package/dist/esm/utils/constants.js +10 -0
  233. package/dist/esm/utils/constants.js.map +1 -1
  234. package/dist/esm/utils/types/types.d.ts +8 -1
  235. package/package.json +6 -4
@@ -17,7 +17,6 @@ import { GET_PERMISSION_DETAIL_USER_V3, GET_SCHOOL_V3, getCampaignNameV3, QUERY_
17
17
  import { PHXCard } from '../Card';
18
18
  import PHXGetEnvPublicV3 from '../Func/getEnvPublic';
19
19
  import saveCookiesClient from '../Func/saveCookiesClient';
20
- import { useLoading } from '../LoadingProvider';
21
20
  import StyledCustomLayoutProps from './appearance/appearance-styled';
22
21
  import NavMobile from './navigator/nav-mobile';
23
22
  import { styles } from './style/sub-menu-style';
@@ -35,60 +34,48 @@ function classNames() {
35
34
  return classes.filter(Boolean).join(' ');
36
35
  }
37
36
  export var PHXMainWrapV3 = function (_a) {
38
- var _b, _c, _d, _e;
39
- var children = _a.children, getDataCookies = _a.getDataCookies, _f = _a.hiddenLeftMenu, hiddenLeftMenu = _f === void 0 ? false : _f, _g = _a.logoHeight, logoHeight = _g === void 0 ? '28px' : _g, _h = _a.multipleMenu, multipleMenu = _h === void 0 ? false : _h, params = _a.params, pathName = _a.pathName, router = _a.router;
37
+ var _b, _c, _d, _e, _f;
38
+ var children = _a.children, getDataCookies = _a.getDataCookies, _g = _a.hiddenLeftMenu, hiddenLeftMenu = _g === void 0 ? false : _g, _h = _a.logoHeight, logoHeight = _h === void 0 ? '28px' : _h, _j = _a.multipleMenu, multipleMenu = _j === void 0 ? false : _j, params = _a.params, pathName = _a.pathName, router = _a.router;
40
39
  var pid = (params ? params : {}).pid;
41
- var _j = useState(false), modal = _j[0], setModal = _j[1];
42
- var _k = useState(true), openSubMenu = _k[0], setOpenSubMenu = _k[1];
43
- var _l = useState(''), campaignName = _l[0], setCampaignName = _l[1];
44
- var _m = useState(false), sidebarOpen = _m[0], setSidebarOpen = _m[1];
45
- var _o = useState([]), subNavigation = _o[0], setSubNavigation = _o[1];
46
- var _p = useState([]), navigation = _p[0], setNavigation = _p[1];
47
- var _q = useState([]), menu = _q[0], setMenu = _q[1];
48
- var _r = useState(true), loadingSchool = _r[0], setLoadingSchool = _r[1];
49
- var _s = useState(true), loadingMenu = _s[0], setLoadingMenu = _s[1];
50
- var _t = useState(false), modalSignOut = _t[0], setModalSignOut = _t[1];
51
- var _u = useState([]), listSchool = _u[0], setListSchool = _u[1];
52
- var _v = useState([]), roleCode = _v[0], setRoleCode = _v[1];
53
- var _w = useState([]), perCode = _w[0], setPerCode = _w[1];
54
- var _x = useState(null), schoolId = _x[0], setSchoolId = _x[1];
55
- var _y = useState(true), showBanner = _y[0], setShowBanner = _y[1];
56
- var _z = useState({}), configLayout = _z[0], setConfigLayout = _z[1];
57
- var _0 = useState(true), isLoading = _0[0], setIsLoading = _0[1];
58
- var _1 = useState(true), isLoadingPermission = _1[0], setIsLoadingPermission = _1[1];
40
+ var _k = useState(false), modal = _k[0], setModal = _k[1];
41
+ var _l = useState(true), openSubMenu = _l[0], setOpenSubMenu = _l[1];
42
+ var _m = useState(''), campaignName = _m[0], setCampaignName = _m[1];
43
+ var _o = useState(false), sidebarOpen = _o[0], setSidebarOpen = _o[1];
44
+ var _p = useState([]), subNavigation = _p[0], setSubNavigation = _p[1];
45
+ var _q = useState([]), navigation = _q[0], setNavigation = _q[1];
46
+ var _r = useState(false), modalSignOut = _r[0], setModalSignOut = _r[1];
47
+ var _s = useState(true), showBanner = _s[0], setShowBanner = _s[1];
48
+ var _t = useState(true), isLoading = _t[0], setIsLoading = _t[1];
49
+ var sessionCookie = useRef(PHXFuncGetCookieSession());
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 _u = useState({
54
+ loadingMenu: true,
55
+ loadingSchool: true,
56
+ listSchool: [],
57
+ logo: {
58
+ path: '',
59
+ height: logoHeight
60
+ },
61
+ menu: [],
62
+ schoolId: null,
63
+ configLayout: undefined,
64
+ perCode: [],
65
+ roleCode: [],
66
+ isLoadingPermission: true,
67
+ 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) || DEFAULT_AVATAR
68
+ }), dataInitMain = _u[0], setDataInitMain = _u[1];
59
69
  var locationPathname = typeof window !== 'undefined' ? window.location.pathname : '';
60
- var pathArr = locationPathname.split('/');
61
- var pathNameWithBasePath = "/".concat(pathArr[1]).concat(pathName);
62
- var setGlobalLoading = useLoading().setLoading;
70
+ var locationArr = locationPathname.split('/').filter(Boolean);
71
+ var basePath = locationArr.slice(0, locationArr.length - pathName.split('/').filter(Boolean).length).join('/');
72
+ var pathNameWithBasePath = "".concat(basePath ? "".concat('/' + basePath) : '').concat(pathName);
73
+ // const { setLoading: setGlobalLoading } = useLoading();
63
74
  function enablePer(code, arr) {
64
75
  if (!code)
65
76
  return true;
66
77
  return arr === null || arr === void 0 ? void 0 : arr.some(function (item) { return item === code; });
67
78
  }
68
- var _2 = useState({
69
- path: '',
70
- height: logoHeight
71
- }), logo = _2[0], setLogo = _2[1];
72
- var sessionCookie = useRef(PHXFuncGetCookieSession());
73
- var userSessionInfo = (_b = sessionCookie.current) === null || _b === void 0 ? void 0 : _b.user_info;
74
- var schoolInfoId = userSessionInfo === null || userSessionInfo === void 0 ? void 0 : userSessionInfo.school_id;
75
- var userId = userSessionInfo === null || userSessionInfo === void 0 ? void 0 : userSessionInfo.id;
76
- function compareObjects(settingQuery, settingCookies) {
77
- var keysSettingQuery = Object.keys(settingQuery);
78
- if (keysSettingQuery.length !== Object.keys(settingCookies).length) {
79
- return false;
80
- }
81
- for (var _i = 0, keysSettingQuery_1 = keysSettingQuery; _i < keysSettingQuery_1.length; _i++) {
82
- var key = keysSettingQuery_1[_i];
83
- if (!Object.prototype.hasOwnProperty.call(settingCookies, key)) {
84
- return false;
85
- }
86
- if (settingQuery[key] !== settingCookies[key]) {
87
- return false;
88
- }
89
- }
90
- return true;
91
- }
92
79
  // Lấy code phân quyền trong menu từ path hiện tại
93
80
  function getCodesByPath(dataMenu, currentPath) {
94
81
  var lastMatchingCode = null;
@@ -116,6 +103,12 @@ export var PHXMainWrapV3 = function (_a) {
116
103
  }
117
104
  // code phân quyền path hiện tại
118
105
  var currentCode = getCodesByPath(navigation, locationPathname);
106
+ var requireLoginValidation = function () {
107
+ var currentURL = window.location.href;
108
+ var url = currentURL.split('/');
109
+ var loginPush = "".concat(url[0], "//").concat(url[2], "/login-sso");
110
+ window.location.replace(loginPush);
111
+ };
119
112
  var checkIsQuitJob = function (_a) {
120
113
  var profileStaff = _a.profileStaff, profileTeacher = _a.profileTeacher;
121
114
  try {
@@ -140,7 +133,7 @@ export var PHXMainWrapV3 = function (_a) {
140
133
  return __generator(this, function (_e) {
141
134
  switch (_e.label) {
142
135
  case 0:
143
- _e.trys.push([0, 2, 3, 4]);
136
+ _e.trys.push([0, 2, , 3]);
144
137
  return [4 /*yield*/, PHXClientQueryV3({
145
138
  query: GET_PERMISSION_DETAIL_USER_V3,
146
139
  variables: { id: userId, school_id: schoolInfoId }
@@ -154,117 +147,98 @@ export var PHXMainWrapV3 = function (_a) {
154
147
  routePermissions = permissionCodes.filter(function (p) { return !p.is_action; }).map(function (p) { return p.code; });
155
148
  actionPermissions = permissionCodes.filter(function (p) { return p.is_action; }).map(function (p) { return p.code; });
156
149
  actionPermissionMap = Object.fromEntries(actionPermissions.map(function (code) { return [code, true]; }));
157
- // Mã hoá và lưu vào cookie
158
- saveCookiesClient({ value: __assign(__assign({}, sessionCookie.current), { action_permission: actionPermissionMap }) });
159
150
  uniqueRoutePermissions = Array.from(new Set(routePermissions));
160
- setPerCode(uniqueRoutePermissions);
161
- return [3 /*break*/, 4];
151
+ return [2 /*return*/, { uniqueRoutePermissions: uniqueRoutePermissions, actionPermissionMap: actionPermissionMap }];
162
152
  case 2:
163
153
  error_1 = _e.sent();
164
154
  console.error('Error fetching school data:', error_1);
165
- return [3 /*break*/, 4];
166
- case 3:
167
- setIsLoadingPermission(false);
168
- return [7 /*endfinally*/];
169
- case 4: return [2 /*return*/];
155
+ return [2 /*return*/, { uniqueRoutePermissions: null, actionPermissionMap: null }];
156
+ case 3: return [2 /*return*/];
170
157
  }
171
158
  });
172
159
  }); };
173
160
  var getProfileByUser = function () { return __awaiter(void 0, void 0, void 0, function () {
174
- var response, profileUser, profile_staff, profile_teacher, user_roles, allRoleCodes, userInfoNew, allRoleCodesLength, error_2;
161
+ var response, profileUser, avatar, email, full_name, profile_staff, profile_teacher, user_avatar, user_roles, error_2;
175
162
  return __generator(this, function (_a) {
176
163
  switch (_a.label) {
177
164
  case 0:
178
- if (!userSessionInfo)
179
- return [2 /*return*/];
180
- _a.label = 1;
181
- case 1:
182
- _a.trys.push([1, 3, , 4]);
165
+ _a.trys.push([0, 2, , 3]);
183
166
  return [4 /*yield*/, PHXClientQueryV3({
184
167
  query: QUERY_GET_PROFILE_USER,
185
168
  variables: {
186
169
  user_id: userId
187
170
  }
188
171
  })];
189
- case 2:
172
+ case 1:
190
173
  response = _a.sent();
191
174
  profileUser = response.data.users_by_pk;
192
- profile_staff = profileUser.profile_staff, profile_teacher = profileUser.profile_teacher, user_roles = profileUser.user_roles;
175
+ 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;
193
176
  // check user is quit job
194
- checkIsQuitJob({ profileStaff: profile_staff, profileTeacher: profile_teacher });
195
- allRoleCodes = 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; }) || [];
196
- userInfoNew = __assign(__assign({}, userSessionInfo), { user_roles: user_roles });
197
- saveCookiesClient({ value: __assign(__assign({}, sessionCookie.current), { user_info: userInfoNew }) });
198
- setRoleCode(allRoleCodes);
199
- allRoleCodesLength = allRoleCodes === null || allRoleCodes === void 0 ? void 0 : allRoleCodes.length;
200
- if (allRoleCodes && allRoleCodesLength > 0) {
201
- fetchDataPer()["catch"](console.error);
202
- }
203
- return [3 /*break*/, 4];
204
- case 3:
177
+ checkIsQuitJob({
178
+ profileStaff: profile_staff,
179
+ profileTeacher: profile_teacher
180
+ });
181
+ // renew list role in cookie
182
+ return [2 /*return*/, {
183
+ avatar: avatar,
184
+ user_avatar: user_avatar,
185
+ full_name: full_name,
186
+ email: email,
187
+ user_roles: user_roles
188
+ }];
189
+ case 2:
205
190
  error_2 = _a.sent();
206
191
  console.log(error_2);
207
- return [3 /*break*/, 4];
208
- case 4: return [2 /*return*/];
192
+ return [2 /*return*/];
193
+ case 3: return [2 /*return*/];
209
194
  }
210
195
  });
211
196
  }); };
212
- var fetchDataSchool = function () {
213
- if (!userSessionInfo)
214
- return;
215
- var 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;
216
- setSchoolId(school_id);
217
- var fetchData = function () { return __awaiter(void 0, void 0, void 0, function () {
218
- var res, listSchool_1, settingFetchData, cleanedJsonString, jsonObjectSetting, settingSiteCookie, error_3;
219
- var _a, _b, _c, _d, _e;
220
- return __generator(this, function (_f) {
221
- switch (_f.label) {
222
- case 0:
223
- setIsLoading(true);
224
- _f.label = 1;
225
- case 1:
226
- _f.trys.push([1, 3, , 4]);
227
- return [4 /*yield*/, PHXClientQueryV3({
228
- query: GET_SCHOOL_V3,
229
- variables: { group_id: group_id, school_name_id: school_name_id, user_id: id },
230
- isDelay: false
231
- })];
232
- case 2:
233
- res = _f.sent();
234
- listSchool_1 = (_b = (_a = res === null || res === void 0 ? void 0 : res.data) === null || _a === void 0 ? void 0 : _a.school_name[0]) === null || _b === void 0 ? void 0 : _b.schools;
235
- if ((listSchool_1 === null || listSchool_1 === void 0 ? void 0 : listSchool_1.length) > 0) {
236
- setLoadingSchool(false);
237
- setListSchool(listSchool_1);
238
- }
239
- setIsLoading(false);
240
- settingFetchData = (_d = (_c = res === null || res === void 0 ? void 0 : res.data) === null || _c === void 0 ? void 0 : _c.setting_site[0]) === null || _d === void 0 ? void 0 : _d.value_setting;
241
- if (settingFetchData) {
242
- cleanedJsonString = settingFetchData.replace(/^"(.*)"$/, '$1');
243
- jsonObjectSetting = JSON.parse(cleanedJsonString);
244
- setConfigLayout(jsonObjectSetting);
245
- settingSiteCookie = (_e = sessionCookie.current) === null || _e === void 0 ? void 0 : _e.setting_site;
246
- // Nếu chưa có trong cookie hoặc data trong cookie và db khác nhau
247
- if (!settingSiteCookie || !compareObjects(jsonObjectSetting, settingSiteCookie)) {
248
- saveCookiesClient({ value: __assign(__assign({}, sessionCookie.current), { setting_site: jsonObjectSetting }) });
249
- }
250
- }
197
+ var fetchDataSchool = function () { return __awaiter(void 0, void 0, void 0, function () {
198
+ var id, _a, group_id, school_name_id, school_id, settingSiteDb, res, dataSchool, settingFetchData, cleanedJsonString, error_3;
199
+ var _b, _c, _d, _e;
200
+ return __generator(this, function (_f) {
201
+ switch (_f.label) {
202
+ case 0:
203
+ if (!userSessionInfo)
251
204
  return [2 /*return*/];
252
- case 3:
253
- error_3 = _f.sent();
254
- setIsLoading(false);
255
- console.error('Error fetching school data:', error_3);
256
- return [3 /*break*/, 4];
257
- case 4: return [2 /*return*/];
258
- }
259
- });
260
- }); };
261
- fetchData()["catch"](function (err) {
262
- console.log(err);
263
- setIsLoading(false);
205
+ 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;
206
+ setIsLoading(true);
207
+ settingSiteDb = undefined;
208
+ _f.label = 1;
209
+ case 1:
210
+ _f.trys.push([1, 3, , 4]);
211
+ return [4 /*yield*/, PHXClientQueryV3({
212
+ query: GET_SCHOOL_V3,
213
+ variables: { group_id: group_id, school_name_id: school_name_id, user_id: id },
214
+ isDelay: false
215
+ })];
216
+ case 2:
217
+ res = _f.sent();
218
+ 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;
219
+ 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;
220
+ if (settingFetchData) {
221
+ cleanedJsonString = settingFetchData.replace(/^"(.*)"$/, '$1');
222
+ settingSiteDb = JSON.parse(cleanedJsonString);
223
+ }
224
+ setIsLoading(false);
225
+ return [2 /*return*/, {
226
+ settingSiteDb: settingSiteDb,
227
+ loadingSchool: dataSchool.length === 0,
228
+ listSchool: dataSchool,
229
+ schoolId: school_id
230
+ }];
231
+ case 3:
232
+ error_3 = _f.sent();
233
+ setIsLoading(false);
234
+ console.error('Error fetching school data:', error_3);
235
+ return [2 /*return*/];
236
+ case 4: return [2 /*return*/];
237
+ }
264
238
  });
265
- };
239
+ }); };
266
240
  var fetchDataMenu = function () { return __awaiter(void 0, void 0, void 0, function () {
267
- var envPublic, menuUrl, logoMenuTop, data, json;
241
+ var envPublic, menuUrl, logoMenuTop, data, menuJson;
268
242
  return __generator(this, function (_a) {
269
243
  switch (_a.label) {
270
244
  case 0: return [4 /*yield*/, PHXGetEnvPublicV3()];
@@ -281,10 +255,53 @@ export var PHXMainWrapV3 = function (_a) {
281
255
  data = _a.sent();
282
256
  return [4 /*yield*/, data.json()];
283
257
  case 3:
284
- json = _a.sent();
285
- setMenu(json);
286
- setLogo({ path: logoMenuTop, height: logoHeight });
287
- setLoadingMenu(false);
258
+ menuJson = _a.sent();
259
+ return [2 /*return*/, {
260
+ loadingMenu: false,
261
+ logo: { path: logoMenuTop, height: logoHeight },
262
+ menu: menuJson
263
+ }];
264
+ }
265
+ });
266
+ }); };
267
+ var fetchInitData = function () { return __awaiter(void 0, void 0, void 0, function () {
268
+ var _a, loadingMenu, logo, menu, profileNew, dataPer, dataSchool, actionPermissionMap, uniqueRoutePermissions;
269
+ var _b;
270
+ return __generator(this, function (_c) {
271
+ switch (_c.label) {
272
+ case 0: return [4 /*yield*/, fetchDataMenu()];
273
+ case 1:
274
+ _a = _c.sent(), loadingMenu = _a.loadingMenu, logo = _a.logo, menu = _a.menu;
275
+ return [4 /*yield*/, getProfileByUser()];
276
+ case 2:
277
+ profileNew = _c.sent();
278
+ return [4 /*yield*/, fetchDataPer()];
279
+ case 3:
280
+ dataPer = _c.sent();
281
+ return [4 /*yield*/, fetchDataSchool()];
282
+ case 4:
283
+ dataSchool = _c.sent();
284
+ actionPermissionMap = dataPer.actionPermissionMap, uniqueRoutePermissions = dataPer.uniqueRoutePermissions;
285
+ setDataInitMain({
286
+ logo: logo,
287
+ menu: menu,
288
+ loadingMenu: loadingMenu,
289
+ schoolId: (dataSchool === null || dataSchool === void 0 ? void 0 : dataSchool.schoolId) || null,
290
+ loadingSchool: !!(dataSchool === null || dataSchool === void 0 ? void 0 : dataSchool.loadingSchool),
291
+ listSchool: (dataSchool === null || dataSchool === void 0 ? void 0 : dataSchool.listSchool) || [],
292
+ isLoadingPermission: false,
293
+ perCode: uniqueRoutePermissions,
294
+ 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; })) || [],
295
+ configLayout: (dataSchool === null || dataSchool === void 0 ? void 0 : dataSchool.settingSiteDb) || undefined,
296
+ 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) || DEFAULT_AVATAR
297
+ });
298
+ saveCookiesClient({
299
+ value: __assign(__assign(__assign(__assign({}, sessionCookie.current), (actionPermissionMap && {
300
+ action_permission: actionPermissionMap || []
301
+ })), { setting_site: (dataSchool === null || dataSchool === void 0 ? void 0 : dataSchool.settingSiteDb) || {} }), (profileNew && {
302
+ user_info: __assign(__assign({}, userSessionInfo), profileNew)
303
+ }))
304
+ });
288
305
  return [2 /*return*/];
289
306
  }
290
307
  });
@@ -295,21 +312,13 @@ export var PHXMainWrapV3 = function (_a) {
295
312
  requireLoginValidation();
296
313
  return;
297
314
  }
298
- fetchDataMenu()["catch"](console.error);
299
- getProfileByUser();
300
- fetchDataSchool();
315
+ fetchInitData();
301
316
  }, []);
302
- var requireLoginValidation = function () {
303
- var currentURL = window.location.href;
304
- var url = currentURL.split('/');
305
- var loginPush = "".concat(url[0], "//").concat(url[2], "/login-sso");
306
- window.location.replace(loginPush);
307
- };
308
- var isEqualUrl = function (parentHref, pathName) {
309
- if (!parentHref || !pathName) {
317
+ var isEqualUrl = function (parentHref, pathNameCompare) {
318
+ if (!parentHref || !pathNameCompare) {
310
319
  return false;
311
320
  }
312
- var pathNameSplit = pathName.split('/');
321
+ var pathNameSplit = pathNameCompare.split('/');
313
322
  var hrefSplit = parentHref.split('/');
314
323
  if (!pathNameSplit || !hrefSplit) {
315
324
  return false;
@@ -326,9 +335,25 @@ export var PHXMainWrapV3 = function (_a) {
326
335
  }
327
336
  return urlRouter === currentMenu;
328
337
  };
329
- var isBelongParent = function (parentUrl, pathName) {
338
+ var isBelongParentWithMicroservice = function (parentSplit, pathNameSplit) {
339
+ if (parentSplit.length > 2) {
340
+ var compareLength = parentSplit.length;
341
+ for (var i = 1; i < compareLength; i++) {
342
+ if (parentSplit[i] !== pathNameSplit[i])
343
+ return false;
344
+ }
345
+ return true;
346
+ }
347
+ else {
348
+ return parentSplit[1] === pathNameSplit[3];
349
+ }
350
+ };
351
+ var isBelongParent = function (parentUrl, pathNameCompare, isMicroservice) {
330
352
  var parentSplit = parentUrl.split('/');
331
- var pathNameSplit = pathName.split('/');
353
+ var pathNameSplit = pathNameCompare.split('/');
354
+ if (isMicroservice) {
355
+ return isBelongParentWithMicroservice(parentSplit, pathNameSplit);
356
+ }
332
357
  if (parentSplit.length > 2 && !parentSplit.includes('list')) {
333
358
  return parentSplit[1] === pathNameSplit[2] && parentSplit[2] === pathNameSplit[3];
334
359
  }
@@ -341,7 +366,7 @@ export var PHXMainWrapV3 = function (_a) {
341
366
  return pathNameSplit[1] === 'admissions';
342
367
  };
343
368
  var loadParentNavigation = function (path) {
344
- var mainNavigation = menu;
369
+ var mainNavigation = dataInitMain.menu;
345
370
  var naviSize = mainNavigation.length;
346
371
  for (var i = 0; i < naviSize; i++) {
347
372
  var item = mainNavigation[i];
@@ -354,18 +379,22 @@ export var PHXMainWrapV3 = function (_a) {
354
379
  for (var j = 0; j < itemLength; j++) {
355
380
  var childItem = item.child[j];
356
381
  // Active child item
357
- childItem.current = isBelongParent(childItem.path, path);
382
+ childItem.current = isBelongParent(childItem.path, path, !!(childItem === null || childItem === void 0 ? void 0 : childItem.isMicroservice));
358
383
  if (childItem.child) {
359
384
  var childItemLength = childItem.child.length;
360
385
  var count = 0;
361
386
  for (var k = 0; k < childItemLength; k++) {
362
387
  var subChild = childItem.child[k];
363
- subChild.current = isBelongParent(subChild.path, path);
364
- if (isBelongParent(subChild.path, path) || isBelongParent(childItem.path, path)) {
388
+ subChild.current = isBelongParent(subChild.path, path, !!(childItem === null || childItem === void 0 ? void 0 : childItem.isMicroservice));
389
+ if (isBelongParent(subChild.path, path, !!(childItem === null || childItem === void 0 ? void 0 : childItem.isMicroservice)) ||
390
+ isBelongParent(childItem.path, path, !!(childItem === null || childItem === void 0 ? void 0 : childItem.isMicroservice))) {
365
391
  count++;
366
392
  }
393
+ var isPathInternal = (childItem === null || childItem === void 0 ? void 0 : childItem.isMicroservice)
394
+ ? subChild.path === (childItem === null || childItem === void 0 ? void 0 : childItem.pathInternal)
395
+ : subChild.path === childItem.path;
367
396
  count > 0 ? (childItem.showChild = true) : (childItem.showChild = false);
368
- subChild.path === childItem.path ? (childItem.current = false) : null;
397
+ isPathInternal ? (childItem.current = false) : null;
369
398
  }
370
399
  }
371
400
  listChildren.push(childItem);
@@ -376,7 +405,7 @@ export var PHXMainWrapV3 = function (_a) {
376
405
  setNavigation(mainNavigation);
377
406
  };
378
407
  var loadChildrenCampaign = function (path) {
379
- var mainNavigation = menu;
408
+ var mainNavigation = dataInitMain.menu;
380
409
  var naviSize = mainNavigation.length;
381
410
  for (var i = 0; i < naviSize; i++) {
382
411
  var item = mainNavigation[i];
@@ -392,13 +421,13 @@ export var PHXMainWrapV3 = function (_a) {
392
421
  for (var j = 0; j < itemLength; j++) {
393
422
  var childItem = listCampaign === null || listCampaign === void 0 ? void 0 : listCampaign.childrenByParentDetail[j];
394
423
  // Active child item
395
- childItem.current = isBelongParent(childItem.path, path);
424
+ childItem.current = isBelongParent(childItem.path, path, false);
396
425
  if (childItem.child) {
397
426
  var childItemLength = childItem.child.length;
398
427
  for (var k = 0; k < childItemLength; k++) {
399
428
  var subChild = childItem.child[k];
400
- subChild.current = isBelongParent(subChild.path, path);
401
- if (isBelongParent(subChild.path, path) || isBelongParent(childItem.path, path)) {
429
+ subChild.current = isBelongParent(subChild.path, path, false);
430
+ if (isBelongParent(subChild.path, path, false) || isBelongParent(childItem.path, path, false)) {
402
431
  childItem.showChild = true;
403
432
  }
404
433
  subChild.path === childItem.path ? (childItem.current = false) : null;
@@ -412,10 +441,11 @@ export var PHXMainWrapV3 = function (_a) {
412
441
  setNavigation(mainNavigation);
413
442
  };
414
443
  var checkChildrenCampaign = function (path) {
415
- var campaignMenu = menu === null || menu === void 0 ? void 0 : menu.find(function (item) { return item.path === '/admissions/campaign/list'; });
444
+ var _a;
445
+ var campaignMenu = (_a = dataInitMain.menu) === null || _a === void 0 ? void 0 : _a.find(function (item) { return item.path === '/admissions/campaign/list'; });
416
446
  var campaignChild = campaignMenu === null || campaignMenu === void 0 ? void 0 : campaignMenu.child;
417
447
  var listChild = campaignChild === null || campaignChild === void 0 ? void 0 : campaignChild.find(function (item) { return item.path === '/campaign/list'; });
418
- var isChild = listChild === null || listChild === void 0 ? void 0 : listChild.childrenByParentDetail.find(function (item) { return isBelongParent(item.path, path); });
448
+ var isChild = listChild === null || listChild === void 0 ? void 0 : listChild.childrenByParentDetail.find(function (item) { return isBelongParent(item.path, path, false); });
419
449
  return isChild !== undefined;
420
450
  };
421
451
  useEffect(function () {
@@ -444,7 +474,7 @@ export var PHXMainWrapV3 = function (_a) {
444
474
  loadParentNavigation(pathNameWithBasePath);
445
475
  }
446
476
  // eslint-disable-next-line react-hooks/exhaustive-deps
447
- }, [menu, pid, pathNameWithBasePath]);
477
+ }, [dataInitMain, pid, pathNameWithBasePath]);
448
478
  useEffect(function () {
449
479
  var isAdmissions = checkAdmissions(pathNameWithBasePath);
450
480
  if (isAdmissions) {
@@ -461,7 +491,7 @@ export var PHXMainWrapV3 = function (_a) {
461
491
  else {
462
492
  setOpenSubMenu(true);
463
493
  }
464
- }, [pathNameWithBasePath, menu]);
494
+ }, [pathNameWithBasePath, dataInitMain]);
465
495
  var loadSubNavigation = function (path, isChild, childPath) {
466
496
  var subLength = subNavigation.length;
467
497
  var newSub = [];
@@ -494,7 +524,7 @@ export var PHXMainWrapV3 = function (_a) {
494
524
  var queryString = window.location.search;
495
525
  var urlParams = new URLSearchParams(queryString);
496
526
  var campaign = Number(urlParams.get('campaignId'));
497
- setGlobalLoading(true);
527
+ // setGlobalLoading(true);
498
528
  // handle for admissions
499
529
  if (campaign) {
500
530
  router.push("".concat(item.path, "?campaignId=").concat(campaign));
@@ -503,7 +533,7 @@ export var PHXMainWrapV3 = function (_a) {
503
533
  router.push(item.path);
504
534
  }
505
535
  };
506
- var height = logo.height, topMenuLogoFromEnv = logo.path;
536
+ var _v = dataInitMain.logo, height = _v.height, topMenuLogoFromEnv = _v.path;
507
537
  var handleModalSignOut = function () { return setModalSignOut(true); };
508
538
  var handleRedirectRouter = function (path) {
509
539
  var currentURL = window.location.href;
@@ -557,11 +587,11 @@ export var PHXMainWrapV3 = function (_a) {
557
587
  var currentIndexActive = item.find(function (s) { return s.current; });
558
588
  return currentIndexActive ? currentIndexActive.id > currentItem.id : false;
559
589
  };
560
- var _3 = useState(false), openNavName = _3[0], setOpenNavName = _3[1];
561
- var _4 = useState(false), showSearchBar = _4[0], setShowSearchBar = _4[1];
562
- var _5 = useState(null), selected = _5[0], setSelected = _5[1];
590
+ var _w = useState(false), openNavName = _w[0], setOpenNavName = _w[1];
591
+ var _x = useState(false), showSearchBar = _x[0], setShowSearchBar = _x[1];
592
+ var _y = useState(null), selected = _y[0], setSelected = _y[1];
563
593
  var handleOpenModal = function (id) {
564
- setModal(id !== schoolId);
594
+ setModal(id !== dataInitMain.schoolId);
565
595
  setSelected(id);
566
596
  };
567
597
  var handlePrimaryModal = function () {
@@ -571,7 +601,9 @@ export var PHXMainWrapV3 = function (_a) {
571
601
  var schoolIdCurrent = userSessionInfo.school_id;
572
602
  if (newSchoolId && newSchoolId !== schoolIdCurrent) {
573
603
  var userInfoNew = __assign(__assign({}, userSessionInfo), { school_id: newSchoolId });
574
- saveCookiesClient({ value: __assign(__assign({}, sessionCookie.current), { user_info: userInfoNew }) });
604
+ saveCookiesClient({
605
+ value: __assign(__assign({}, sessionCookie.current), { user_info: userInfoNew })
606
+ });
575
607
  window.location.replace(ROUTE_DASHBOARD);
576
608
  }
577
609
  }
@@ -581,16 +613,15 @@ export var PHXMainWrapV3 = function (_a) {
581
613
  }
582
614
  setModal(false);
583
615
  };
584
- var 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) || DEFAULT_AVATAR;
585
616
  // settings page
586
617
  var isSettings = function () {
587
618
  var pathNameSplit = pathNameWithBasePath.split('/');
588
619
  return pathNameSplit[1] === 'setting';
589
620
  };
590
- var checkLogoHeader = (configLayout === null || configLayout === void 0 ? void 0 : configLayout.logo_dashboard) || topMenuLogoFromEnv || DEFAULT_LOGO_DASHBOARD;
621
+ var checkLogoHeader = ((_d = dataInitMain.configLayout) === null || _d === void 0 ? void 0 : _d.logo_dashboard) || topMenuLogoFromEnv || DEFAULT_LOGO_DASHBOARD;
591
622
  return (React.createElement(React.Fragment, null,
592
623
  React.createElement("div", { className: 'flex min-h-full flex-col' },
593
- React.createElement(StyledCustomLayoutProps, { configLayout: configLayout, settingSiteCookie: getDataCookies ? (_d = decryptCookie(getDataCookies)) === null || _d === void 0 ? void 0 : _d.setting_site : null }),
624
+ React.createElement(StyledCustomLayoutProps, { configLayout: dataInitMain === null || dataInitMain === void 0 ? void 0 : dataInitMain.configLayout, settingSiteCookie: getDataCookies ? (_e = decryptCookie(getDataCookies)) === null || _e === void 0 ? void 0 : _e.setting_site : null }),
594
625
  React.createElement("header", { className: 'header-color-styled fixed top-0 z-50 min-w-full border-gray-200 bg-white' },
595
626
  React.createElement("div", { className: 'header-styled mx-auto flex h-14 items-center justify-between bg-[#1a1a1a] pr-4' },
596
627
  React.createElement("div", { className: 'flex items-center gap-x-3 lg:w-32' },
@@ -607,33 +638,34 @@ export var PHXMainWrapV3 = function (_a) {
607
638
  React.createElement(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' },
608
639
  React.createElement("span", { className: 'sr-only' }, "Open user menu"),
609
640
  isLoading ? (React.createElement("div", { className: 'flex animate-pulse' },
610
- React.createElement("div", { className: 'header-loading-avatar h-8 w-8 rounded-full' }))) : (React.createElement("img", { alt: '', className: 'h-8 w-8 rounded-full', src: sourceAvatar })))),
641
+ React.createElement("div", { className: 'header-loading-avatar h-8 w-8 rounded-full' }))) : (React.createElement("img", { alt: '', className: 'h-8 w-8 rounded-full', src: dataInitMain.sourceAvatar })))),
611
642
  React.createElement(Transition, { as: 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' },
612
643
  React.createElement(Menu.Items, { className: ' absolute right-0 z-10 mt-2 w-[340px] origin-top-right rounded-md bg-white px-2 shadow-lg ring-1 ring-black ring-opacity-5 focus:outline-none' },
613
644
  React.createElement(Menu.Item, null,
614
645
  React.createElement("div", { "aria-hidden": true, className: 'px-2 pb-2 pt-4 text-sm font-semibold text-gray-900 ' }, "Ch\u1ECDn tr\u01B0\u1EDDng")),
615
- !loadingSchool ? (React.createElement(React.Fragment, null, listSchool
646
+ !dataInitMain.loadingSchool ? (React.createElement(React.Fragment, null, dataInitMain.listSchool
616
647
  .filter(function (val) {
617
- if (!enablePer(switchSchool, perCode)) {
618
- return val.id === schoolId;
648
+ if (!enablePer(switchSchool, dataInitMain.perCode)) {
649
+ return val.id === dataInitMain.schoolId;
619
650
  }
620
651
  else {
621
652
  return true;
622
653
  }
623
654
  })
624
655
  .map(function (item) { return (React.createElement(Menu.Item, { key: item.id },
625
- React.createElement("div", { "aria-hidden": true, className: "".concat(item.id === schoolId &&
626
- listSchool.length > 1 &&
627
- !enablePer(switchSchool, perCode) === false
656
+ React.createElement("div", { "aria-hidden": true, className: "".concat(item.id === dataInitMain.schoolId &&
657
+ dataInitMain.listSchool.length > 1 &&
658
+ !enablePer(switchSchool, dataInitMain.perCode) === false
628
659
  ? 'rounded-lg bg-zinc-200 font-semibold text-gray-900 '
629
- : 'font-normal ', " \n ").concat(item.id !== schoolId &&
630
- (listSchool.length === 1 || !enablePer(switchSchool, perCode)) === false
660
+ : 'font-normal ', " \n ").concat(item.id !== dataInitMain.schoolId &&
661
+ (dataInitMain.listSchool.length === 1 ||
662
+ !enablePer(switchSchool, dataInitMain.perCode)) === false
631
663
  ? 'cursor-pointer hover:rounded-lg hover:bg-gray-100'
632
664
  : '', "\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); } },
633
665
  React.createElement("p", { className: 'max-w-[95%] truncate' }, item.name),
634
- item.id === schoolId &&
635
- listSchool.length > 1 &&
636
- !enablePer(switchSchool, perCode) === false && (React.createElement(CheckIcon, { "aria-hidden": 'true', className: 'h-4 w-4' }))))); }))) : (React.createElement(PHXSkeleton, { className: 'flex-1 px-2 py-2', type: 'single' })),
666
+ item.id === dataInitMain.schoolId &&
667
+ dataInitMain.listSchool.length > 1 &&
668
+ !enablePer(switchSchool, dataInitMain.perCode) === false && (React.createElement(CheckIcon, { "aria-hidden": 'true', className: 'h-4 w-4' }))))); }))) : (React.createElement(PHXSkeleton, { className: 'flex-1 px-2 py-2', type: 'single' })),
637
669
  React.createElement("div", { className: 'border-b pt-1.5' }),
638
670
  React.createElement(Menu.Item, null,
639
671
  React.createElement("div", { "aria-hidden": true, className: 'px-2 pb-2 pt-4 text-sm font-semibold text-gray-900' }, "T\u00F9y ch\u1ECDn")),
@@ -660,7 +692,7 @@ export var PHXMainWrapV3 = function (_a) {
660
692
  React.createElement("span", { className: 'sr-only' }, "Close sidebar"),
661
693
  React.createElement(XMarkIcon, { "aria-hidden": 'true', className: 'h-6 w-6 text-white' })))),
662
694
  React.createElement("div", { className: 'mt-8 h-0 flex-1 overflow-y-auto pb-4 pt-5' },
663
- React.createElement(NavMobile, { menu: menu, path: pathNameWithBasePath, permission: perCode, router: router, setSideBarOpen: function () { return setSidebarOpen(false); } })))),
695
+ React.createElement(NavMobile, { menu: dataInitMain.menu, path: pathNameWithBasePath, permission: dataInitMain.perCode, router: router, setSideBarOpen: function () { return setSidebarOpen(false); } })))),
664
696
  React.createElement("div", { "aria-hidden": 'true', className: 'w-14 flex-shrink-0' })))),
665
697
  React.createElement("div", { className: 'hidden lg:flex lg:flex-shrink-0' },
666
698
  React.createElement("div", { className: 'flex' },
@@ -668,7 +700,7 @@ export var PHXMainWrapV3 = function (_a) {
668
700
  React.createElement("div", { "aria-hidden": true, className: "".concat(openNavName ? 'w-64' : 'w-14', " menu-styled z-10 flex h-full flex-col justify-between border-r !bg-gray-200 transition-all duration-300 lg:fixed"), onMouseOut: function () { return setOpenNavName(false); }, onMouseOver: function () { return setOpenNavName(true); } },
669
701
  React.createElement("div", { className: classNames('flex flex-1 flex-col', openNavName ? 'overflow-y-auto' : 'overflow-y-hidden') },
670
702
  React.createElement("div", { className: 'relative flex-1' },
671
- React.createElement("div", { "aria-label": 'Sidebar', className: 'hidden overflow-x-hidden md:block md:flex-shrink-0 md:overflow-y-auto' }, !hiddenLeftMenu && (React.createElement("div", { className: "space-y- flex ".concat(openNavName ? 'w-64' : 'w-12', " flex-col overflow-hidden p-3") }, navigation.map(function (item, index) { return (React.createElement("div", { key: index, className: 'w-full' }, enablePer(item.code, perCode) && (React.createElement("a", { className: "".concat(classNames(item.current && !openNavName
703
+ React.createElement("div", { "aria-label": 'Sidebar', className: 'hidden overflow-x-hidden md:block md:flex-shrink-0 md:overflow-y-auto' }, !hiddenLeftMenu && (React.createElement("div", { className: "space-y- flex ".concat(openNavName ? 'w-64' : 'w-12', " flex-col overflow-hidden p-3") }, navigation.map(function (item, index) { return (React.createElement("div", { key: index, className: 'w-full' }, enablePer(item.code, dataInitMain.perCode) && (React.createElement("a", { className: "".concat(classNames(item.current && !openNavName
672
704
  ? 'menu-bg-color-icon-active-styled font-semibold' // màu background của icon đang active của menu
673
705
  : 'menu-icon-color-styled', // màu icon của menu
674
706
  !openNavName
@@ -690,7 +722,7 @@ export var PHXMainWrapV3 = function (_a) {
690
722
  React.createElement(Image, { alt: 'icon', className: classNames('h-[1.125rem] w-[1.125rem] text-gray-950', openNavName && 'mt-[0.2rem]'), height: 0, src: item.current ? Icons["".concat(item.code, "_SOLID")] : Icons[item.code], width: 0 })),
691
723
  openNavName && (React.createElement("div", { className: 'h-6' },
692
724
  React.createElement("p", { className: "mt-0.5 h-full text-[0.86rem] text-[#353A44] transition-all duration-300 ".concat(openNavName ? 'opacity-100' : 'opacity-0') }, item.name)))))))); })))))),
693
- React.createElement("div", { className: classNames('border-t', navigation.length > 0 && ((_e = navigation[0]) === null || _e === void 0 ? void 0 : _e.isSchoolink) ? 'border-[#1c222b]' : 'border-indigo-100') },
725
+ React.createElement("div", { className: classNames('border-t', navigation.length > 0 && ((_f = navigation[0]) === null || _f === void 0 ? void 0 : _f.isSchoolink) ? 'border-[#1c222b]' : 'border-indigo-100') },
694
726
  React.createElement("div", { className: "mb-14 flex ".concat(openNavName ? 'w-64' : 'w-12', " overflow-hidden p-3") },
695
727
  React.createElement("a", { className: classNames('z-0', !openNavName
696
728
  ? 'inline-flex h-8 w-8 flex-shrink-0 items-center justify-center rounded-lg'
@@ -718,62 +750,78 @@ export var PHXMainWrapV3 = function (_a) {
718
750
  React.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' },
719
751
  React.createElement(ArrowLeftIcon, { className: 'h-5 w-5' })),
720
752
  React.createElement("p", { className: 'text-sm font-medium text-slate-600' }, campaignName))),
721
- React.createElement("div", { className: 'flex-1 overflow-y-auto pt-3' }, subNavigation.map(function (item, subNavIndex) { return (React.createElement("div", { key: subNavIndex }, (roleCode === null || roleCode === void 0 ? void 0 : roleCode.length) > 0 ? (React.createElement(React.Fragment, null, enablePer(item.code, perCode) ? (React.createElement(React.Fragment, null,
722
- React.createElement("div", { "aria-current": (item === null || item === void 0 ? void 0 : item.current) ? 'page' : undefined, "aria-hidden": true, className: classNames((item === null || item === void 0 ? void 0 : item.current)
723
- ? 'rounded-lg bg-white' // màu background menu cha khi active
724
- : 'hover:rounded-lg hover:bg-white hover:bg-opacity-50', // màu background khi hover vào menu cha
725
- 'mx-3 flex cursor-pointer border-slate-200 p-2'), onClick: function () { return subNavigationTriggerClicked(item); } }, !loadingMenu ? (React.createElement("div", { className: 'ml-1 flex items-center text-[0.84rem]' },
726
- React.createElement("div", { className: 'flex items-center gap-x-3' },
727
- React.createElement("p", { className: 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)),
728
- React.createElement("p", { className: 'mt-1 text-slate-500' }, item === null || item === void 0 ? void 0 : item.description))) : (React.createElement(PHXSkeleton, { className: 'mr-3 flex-1', type: 'single' }))),
729
- item.showChild && item.child && (React.createElement(React.Fragment, null, item.child.map(function (children, childIndex) { return (React.createElement("div", { key: childIndex, className: classNames('relative') },
730
- React.createElement("div", { style: (children === null || children === void 0 ? void 0 : children.current)
731
- ? styles.childMenuActiveBefore
732
- : checkChildBefore(item.child, children)
733
- ? styles.childMenuBefBefore
734
- : {} }),
735
- React.createElement("div", { "aria-hidden": true, className: classNames('mx-3 flex cursor-pointer border-slate-200 p-2 text-[0.84rem]', (children === null || children === void 0 ? void 0 : children.current)
736
- ? 'rounded-lg bg-white text-[#353A44]' // màu chữ menu con khi active
737
- : 'hover:rounded-lg hover:bg-white hover:bg-opacity-50 hover:text-[#353A44]'), onClick: enablePer(children.code, perCode)
738
- ? function () { return subNavigationTriggerClicked(children, item); }
739
- : undefined },
753
+ React.createElement("div", { className: 'flex-1 overflow-y-auto pt-3' }, subNavigation.map(function (item, subNavIndex) {
754
+ var _a;
755
+ return (React.createElement("div", { key: subNavIndex }, ((_a = dataInitMain.roleCode) === null || _a === void 0 ? void 0 : _a.length) > 0 ? (React.createElement(React.Fragment, null, enablePer(item.code, dataInitMain.perCode) ? (React.createElement(React.Fragment, null,
756
+ (item === null || item === void 0 ? void 0 : item.isMicroservice) ? (React.createElement("a", { "aria-current": (item === null || item === void 0 ? void 0 : item.current) ? 'page' : undefined, "aria-hidden": true, className: classNames((item === null || item === void 0 ? void 0 : item.current)
757
+ ? 'rounded-lg bg-white' // màu background menu cha khi active
758
+ : 'hover:rounded-lg hover:bg-white hover:bg-opacity-50', // màu background khi hover vào menu cha
759
+ 'mx-3 flex cursor-pointer border-slate-200 p-2'), href: item.path }, !dataInitMain.loadingMenu ? (React.createElement("div", { className: 'ml-1 flex items-center text-[0.84rem]' },
740
760
  React.createElement("div", { className: 'flex items-center gap-x-3' },
741
- React.createElement("div", { className: 'w-3' }),
742
- React.createElement("p", { className: classNames('my-[0.05rem] ml-3 leading-5', !enablePer(children.code, perCode)
743
- ? 'font-normal text-gray-300'
744
- : (children === null || children === void 0 ? void 0 : children.current)
745
- ? ''
746
- : 'font-normal text-[#353A44]') }, children.name))),
747
- React.createElement("div", { style: (children === null || children === void 0 ? void 0 : children.current)
748
- ? styles.childMenuActiveAfter
749
- : checkChildBefore(item.child, children)
750
- ? styles.childMenuBefAfter
751
- : {} }))); }))))) : (React.createElement("div", { "aria-current": (item === null || item === void 0 ? void 0 : item.current) ? 'page' : undefined, className: classNames((item === null || item === void 0 ? void 0 : item.current)
752
- ? 'rounded-lg bg-white '
753
- : 'hover:rounded-lg hover:bg-white hover:bg-opacity-50', // hover:bg-white
754
- 'mx-3 flex cursor-pointer border-slate-200 p-2') }, !loadingMenu ? (React.createElement("div", { className: 'ml-1 flex items-center text-[0.84rem]' },
755
- React.createElement("div", { className: 'flex items-center gap-x-3 text-gray-700' },
756
- React.createElement("p", { className: classNames('font-normal leading-5 text-gray-300') }, item === null || item === void 0 ? void 0 : item.name)),
757
- React.createElement("p", { className: 'mt-1 text-slate-500' }, item === null || item === void 0 ? void 0 : item.description))) : (React.createElement(PHXSkeleton, { className: 'mr-3 flex-1', type: 'single' })))))) : (React.createElement(React.Fragment, null,
758
- React.createElement("div", { "aria-current": (item === null || item === void 0 ? void 0 : item.current) ? 'page' : undefined, "aria-hidden": true, className: classNames((item === null || item === void 0 ? void 0 : item.current)
759
- ? 'rounded-lg bg-white'
760
- : 'hover:rounded-lg hover:bg-white hover:bg-opacity-50', 'mx-1 flex cursor-pointer border-slate-200 p-2'), onClick: function () { return subNavigationTriggerClicked(item); } }, !loadingMenu ? (React.createElement("div", { className: 'ml-3 flex items-center text-[0.84rem]' },
761
+ React.createElement("p", { className: 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)),
762
+ React.createElement("p", { className: 'mt-1 text-slate-500' }, item === null || item === void 0 ? void 0 : item.description))) : (React.createElement(PHXSkeleton, { className: 'mr-3 flex-1', type: 'single' })))) : (React.createElement("div", { "aria-current": (item === null || item === void 0 ? void 0 : item.current) ? 'page' : undefined, "aria-hidden": true, className: classNames((item === null || item === void 0 ? void 0 : item.current)
763
+ ? 'rounded-lg bg-white' // màu background menu cha khi active
764
+ : 'hover:rounded-lg hover:bg-white hover:bg-opacity-50', // màu background khi hover vào menu cha
765
+ 'mx-3 flex cursor-pointer border-slate-200 p-2'), onClick: function () { return subNavigationTriggerClicked(item); } }, !dataInitMain.loadingMenu ? (React.createElement("div", { className: 'ml-1 flex items-center text-[0.84rem]' },
766
+ React.createElement("div", { className: 'flex items-center gap-x-3' },
767
+ React.createElement("p", { className: 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)),
768
+ React.createElement("p", { className: 'mt-1 text-slate-500' }, item === null || item === void 0 ? void 0 : item.description))) : (React.createElement(PHXSkeleton, { className: 'mr-3 flex-1', type: 'single' })))),
769
+ item.showChild && item.child && (React.createElement(React.Fragment, null, item.child.map(function (children, childIndex) { return (React.createElement("div", { key: childIndex, className: classNames('relative') },
770
+ React.createElement("div", { style: (children === null || children === void 0 ? void 0 : children.current)
771
+ ? styles.childMenuActiveBefore
772
+ : checkChildBefore(item.child, children)
773
+ ? styles.childMenuBefBefore
774
+ : {} }),
775
+ React.createElement("div", { "aria-hidden": true, className: classNames('mx-3 flex cursor-pointer border-slate-200 p-2 text-[0.84rem]', (children === null || children === void 0 ? void 0 : children.current)
776
+ ? 'rounded-lg bg-white text-[#353A44]' // màu chữ menu con khi active
777
+ : 'hover:rounded-lg hover:bg-white hover:bg-opacity-50 hover:text-[#353A44]'), onClick: enablePer(children.code, dataInitMain.perCode)
778
+ ? function () { return subNavigationTriggerClicked(children, item); }
779
+ : undefined },
780
+ React.createElement("div", { className: 'flex items-center gap-x-3' },
781
+ React.createElement("div", { className: 'w-3' }),
782
+ React.createElement("p", { className: classNames('my-[0.05rem] ml-3 leading-5', !enablePer(children.code, dataInitMain.perCode)
783
+ ? 'font-normal text-gray-300'
784
+ : (children === null || children === void 0 ? void 0 : children.current)
785
+ ? ''
786
+ : 'font-normal text-[#353A44]') }, children.name))),
787
+ React.createElement("div", { style: (children === null || children === void 0 ? void 0 : children.current)
788
+ ? styles.childMenuActiveAfter
789
+ : checkChildBefore(item.child, children)
790
+ ? styles.childMenuBefAfter
791
+ : {} }))); }))))) : (React.createElement("div", { "aria-current": (item === null || item === void 0 ? void 0 : item.current) ? 'page' : undefined, className: classNames((item === null || item === void 0 ? void 0 : item.current)
792
+ ? 'rounded-lg bg-white '
793
+ : 'hover:rounded-lg hover:bg-white hover:bg-opacity-50', // hover:bg-white
794
+ 'mx-3 flex cursor-pointer border-slate-200 p-2') }, !dataInitMain.loadingMenu ? (React.createElement("div", { className: 'ml-1 flex items-center text-[0.84rem]' },
761
795
  React.createElement("div", { className: 'flex items-center gap-x-3 text-gray-700' },
762
- React.createElement("p", { className: classNames('font-normal leading-5 text-gray-600') }, item === null || item === void 0 ? void 0 : item.name)),
763
- React.createElement("p", { className: 'mt-1 text-slate-500' }, item === null || item === void 0 ? void 0 : item.description))) : (React.createElement(PHXSkeleton, { className: 'mr-3 flex-1', type: 'single' }))),
764
- item.showChild && item.child && (React.createElement(React.Fragment, null, item.child.map(function (children, index) { return (React.createElement("div", { key: index, className: classNames('relative', (children === null || children === void 0 ? void 0 : children.current) && 'child-menu-active', checkChildBefore(item.child, children) && 'child-menu-bef') },
765
- React.createElement("div", { "aria-hidden": true, className: classNames('mx-1 flex cursor-pointer border-slate-200 p-2 text-[0.84rem]', (children === null || children === void 0 ? void 0 : children.current)
766
- ? 'rounded-lg bg-white text-gray-900 '
767
- : 'hover:rounded-lg hover:bg-white hover:bg-opacity-50 hover:text-gray-900'), onClick: function () { return subNavigationTriggerClicked(children, item); } },
796
+ React.createElement("p", { className: classNames('font-normal leading-5 text-gray-300') }, item === null || item === void 0 ? void 0 : item.name)),
797
+ React.createElement("p", { className: 'mt-1 text-slate-500' }, item === null || item === void 0 ? void 0 : item.description))) : (React.createElement(PHXSkeleton, { className: 'mr-3 flex-1', type: 'single' })))))) : (React.createElement(React.Fragment, null,
798
+ (item === null || item === void 0 ? void 0 : item.isMicroservice) ? (React.createElement("a", { "aria-current": (item === null || item === void 0 ? void 0 : item.current) ? 'page' : undefined, "aria-hidden": true, className: classNames((item === null || item === void 0 ? void 0 : item.current)
799
+ ? 'rounded-lg bg-white' // màu background menu cha khi active
800
+ : 'hover:rounded-lg hover:bg-white hover:bg-opacity-50', // màu background khi hover vào menu cha
801
+ 'mx-3 flex cursor-pointer border-slate-200 p-2'), href: item.path }, !dataInitMain.loadingMenu ? (React.createElement("div", { className: 'ml-1 flex items-center text-[0.84rem]' },
802
+ React.createElement("div", { className: 'flex items-center gap-x-3' },
803
+ React.createElement("p", { className: 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)),
804
+ React.createElement("p", { className: 'mt-1 text-slate-500' }, item === null || item === void 0 ? void 0 : item.description))) : (React.createElement(PHXSkeleton, { className: 'mr-3 flex-1', type: 'single' })))) : (React.createElement("div", { "aria-current": (item === null || item === void 0 ? void 0 : item.current) ? 'page' : undefined, "aria-hidden": true, className: classNames((item === null || item === void 0 ? void 0 : item.current)
805
+ ? 'rounded-lg bg-white' // màu background menu cha khi active
806
+ : 'hover:rounded-lg hover:bg-white hover:bg-opacity-50', // màu background khi hover vào menu cha
807
+ 'mx-3 flex cursor-pointer border-slate-200 p-2'), onClick: function () { return subNavigationTriggerClicked(item); } }, !dataInitMain.loadingMenu ? (React.createElement("div", { className: 'ml-1 flex items-center text-[0.84rem]' },
768
808
  React.createElement("div", { className: 'flex items-center gap-x-3' },
769
- React.createElement("div", { className: 'w-3' }),
770
- React.createElement("p", { className: 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))))); }))))))); }))))))))),
809
+ React.createElement("p", { className: 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)),
810
+ React.createElement("p", { className: 'mt-1 text-slate-500' }, item === null || item === void 0 ? void 0 : item.description))) : (React.createElement(PHXSkeleton, { className: 'mr-3 flex-1', type: 'single' })))),
811
+ item.showChild && item.child && (React.createElement(React.Fragment, null, item.child.map(function (children, index) { return (React.createElement("div", { key: index, className: classNames('relative', (children === null || children === void 0 ? void 0 : children.current) && 'child-menu-active', checkChildBefore(item.child, children) && 'child-menu-bef') },
812
+ React.createElement("div", { "aria-hidden": true, className: classNames('mx-1 flex cursor-pointer border-slate-200 p-2 text-[0.84rem]', (children === null || children === void 0 ? void 0 : children.current)
813
+ ? 'rounded-lg bg-white text-gray-900 '
814
+ : 'hover:rounded-lg hover:bg-white hover:bg-opacity-50 hover:text-gray-900'), onClick: function () { return subNavigationTriggerClicked(children, item); } },
815
+ React.createElement("div", { className: 'flex items-center gap-x-3' },
816
+ React.createElement("div", { className: 'w-3' }),
817
+ React.createElement("p", { className: 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))))); })))))));
818
+ }))))))))),
771
819
  React.createElement("div", { className: 'flex min-w-0 flex-1 flex-col overflow-hidden' },
772
820
  React.createElement("main", { className: 'flex flex-1 overflow-hidden' },
773
821
  React.createElement("section", { "aria-labelledby": 'primary-heading', className: 'flex h-full min-w-0 flex-1 flex-col lg:order-last' },
774
822
  React.createElement("div", { className: 'sticky top-0 z-10 flex h-14 flex-shrink-0 border-b border-l bg-bgcl-50 px-4 sm:px-6 lg:px-4' }),
775
823
  React.createElement("div", { className: "".concat(openSubMenu ? 'lg:ml-[20.063rem]' : 'lg:ml-[5.063rem]', " bg-gray-100 px-6") },
776
- React.createElement("div", { className: 'py-4' }, isLoadingPermission ? ('') : enablePer(currentCode, perCode) ? (children) : (React.createElement(PHXCard, null,
824
+ React.createElement("div", { className: 'py-4' }, dataInitMain.isLoadingPermission ? ('') : enablePer(currentCode, dataInitMain.perCode) ? (children) : (React.createElement(PHXCard, null,
777
825
  React.createElement("div", { className: 'mb-10 mt-10 sm:mb-20 sm:mt-20 lg:mb-32 lg:mt-32' },
778
826
  React.createElement("div", { className: 'flex items-center justify-center' },
779
827
  React.createElement(LockClosedIcon, { className: 'text-gray-400', height: 70, width: 70 })),