phx-uikit 1.0.47 → 1.0.48
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.
- package/dist/cjs/components/DateRangePicker/DatePicker.js +4 -1
- package/dist/cjs/components/DateRangePicker/DatePicker.js.map +1 -1
- package/dist/cjs/components/FormTuitionV3/FormTuitionV3.d.ts +11 -0
- package/dist/cjs/components/FormTuitionV3/FormTuitionV3.js +223 -0
- package/dist/cjs/components/FormTuitionV3/FormTuitionV3.js.map +1 -0
- package/dist/cjs/components/FormTuitionV3/index.d.ts +1 -0
- package/dist/cjs/components/FormTuitionV3/index.js +5 -0
- package/dist/cjs/components/FormTuitionV3/index.js.map +1 -0
- package/dist/cjs/components/Func/SchoolYearV3/getActiveAndNextSchoolYearV3.d.ts +3 -0
- package/dist/cjs/components/Func/SchoolYearV3/getActiveAndNextSchoolYearV3.js +41 -0
- package/dist/cjs/components/Func/SchoolYearV3/getActiveAndNextSchoolYearV3.js.map +1 -0
- package/dist/cjs/components/Func/SchoolYearV3/getSchoolYearHocVuV3.d.ts +2 -0
- package/dist/cjs/components/Func/SchoolYearV3/getSchoolYearHocVuV3.js +61 -0
- package/dist/cjs/components/Func/SchoolYearV3/getSchoolYearHocVuV3.js.map +1 -0
- package/dist/cjs/components/Func/SchoolYearV3/getSchoolYearV3.d.ts +2 -0
- package/dist/cjs/components/Func/SchoolYearV3/getSchoolYearV3.js +61 -0
- package/dist/cjs/components/Func/SchoolYearV3/getSchoolYearV3.js.map +1 -0
- package/dist/cjs/components/Func/logUserActivityV3.d.ts +6 -0
- package/dist/cjs/components/Func/logUserActivityV3.js +32 -0
- package/dist/cjs/components/Func/logUserActivityV3.js.map +1 -0
- package/dist/cjs/components/MainWrapV3/MainWrapV3.d.ts +12 -0
- package/dist/cjs/components/MainWrapV3/MainWrapV3.js +744 -0
- package/dist/cjs/components/MainWrapV3/MainWrapV3.js.map +1 -0
- package/dist/cjs/components/MainWrapV3/index.d.ts +1 -0
- package/dist/cjs/components/MainWrapV3/index.js +5 -0
- package/dist/cjs/components/MainWrapV3/index.js.map +1 -0
- package/dist/cjs/components/MainWrapV3/search/search-bar.d.ts +2 -0
- package/dist/cjs/components/MainWrapV3/search/search-bar.js +149 -0
- package/dist/cjs/components/MainWrapV3/search/search-bar.js.map +1 -0
- package/dist/cjs/components/PagePermissionV3/PagePermissionV3.d.ts +6 -0
- package/dist/cjs/components/PagePermissionV3/PagePermissionV3.js +71 -0
- package/dist/cjs/components/PagePermissionV3/PagePermissionV3.js.map +1 -0
- package/dist/cjs/components/PagePermissionV3/index.d.ts +1 -0
- package/dist/cjs/components/PagePermissionV3/index.js +5 -0
- package/dist/cjs/components/PagePermissionV3/index.js.map +1 -0
- package/dist/cjs/env.d.ts +0 -2
- package/dist/cjs/env.js +1 -3
- package/dist/cjs/env.js.map +1 -1
- package/dist/cjs/index.d.ts +8 -1
- package/dist/cjs/index.js +15 -1
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/query/index.d.ts +6 -0
- package/dist/cjs/query/index.js +8 -1
- package/dist/cjs/query/index.js.map +1 -1
- package/dist/cjs/query/school-year-v3/index.d.ts +3 -0
- package/dist/cjs/query/school-year-v3/index.js +7 -0
- package/dist/cjs/query/school-year-v3/index.js.map +1 -0
- package/dist/cjs/query/userActivity/mutation.d.ts +1 -0
- package/dist/cjs/query/userActivity/mutation.js +2 -1
- package/dist/cjs/query/userActivity/mutation.js.map +1 -1
- package/dist/esm/components/DateRangePicker/DatePicker.js +4 -1
- package/dist/esm/components/DateRangePicker/DatePicker.js.map +1 -1
- package/dist/esm/components/FormTuitionV3/FormTuitionV3.d.ts +11 -0
- package/dist/esm/components/FormTuitionV3/FormTuitionV3.js +219 -0
- package/dist/esm/components/FormTuitionV3/FormTuitionV3.js.map +1 -0
- package/dist/esm/components/FormTuitionV3/index.d.ts +1 -0
- package/dist/esm/components/FormTuitionV3/index.js +2 -0
- package/dist/esm/components/FormTuitionV3/index.js.map +1 -0
- package/dist/esm/components/Func/SchoolYearV3/getActiveAndNextSchoolYearV3.d.ts +3 -0
- package/dist/esm/components/Func/SchoolYearV3/getActiveAndNextSchoolYearV3.js +38 -0
- package/dist/esm/components/Func/SchoolYearV3/getActiveAndNextSchoolYearV3.js.map +1 -0
- package/dist/esm/components/Func/SchoolYearV3/getSchoolYearHocVuV3.d.ts +2 -0
- package/dist/esm/components/Func/SchoolYearV3/getSchoolYearHocVuV3.js +59 -0
- package/dist/esm/components/Func/SchoolYearV3/getSchoolYearHocVuV3.js.map +1 -0
- package/dist/esm/components/Func/SchoolYearV3/getSchoolYearV3.d.ts +2 -0
- package/dist/esm/components/Func/SchoolYearV3/getSchoolYearV3.js +59 -0
- package/dist/esm/components/Func/SchoolYearV3/getSchoolYearV3.js.map +1 -0
- package/dist/esm/components/Func/logUserActivityV3.d.ts +6 -0
- package/dist/esm/components/Func/logUserActivityV3.js +28 -0
- package/dist/esm/components/Func/logUserActivityV3.js.map +1 -0
- package/dist/esm/components/MainWrapV3/MainWrapV3.d.ts +12 -0
- package/dist/esm/components/MainWrapV3/MainWrapV3.js +740 -0
- package/dist/esm/components/MainWrapV3/MainWrapV3.js.map +1 -0
- package/dist/esm/components/MainWrapV3/index.d.ts +1 -0
- package/dist/esm/components/MainWrapV3/index.js +2 -0
- package/dist/esm/components/MainWrapV3/index.js.map +1 -0
- package/dist/esm/components/MainWrapV3/search/search-bar.d.ts +2 -0
- package/dist/esm/components/MainWrapV3/search/search-bar.js +146 -0
- package/dist/esm/components/MainWrapV3/search/search-bar.js.map +1 -0
- package/dist/esm/components/PagePermissionV3/PagePermissionV3.d.ts +6 -0
- package/dist/esm/components/PagePermissionV3/PagePermissionV3.js +67 -0
- package/dist/esm/components/PagePermissionV3/PagePermissionV3.js.map +1 -0
- package/dist/esm/components/PagePermissionV3/index.d.ts +1 -0
- package/dist/esm/components/PagePermissionV3/index.js +2 -0
- package/dist/esm/components/PagePermissionV3/index.js.map +1 -0
- package/dist/esm/env.d.ts +0 -2
- package/dist/esm/env.js +1 -3
- package/dist/esm/env.js.map +1 -1
- package/dist/esm/index.d.ts +8 -1
- package/dist/esm/index.js +8 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/query/index.d.ts +6 -0
- package/dist/esm/query/index.js +7 -0
- package/dist/esm/query/index.js.map +1 -1
- package/dist/esm/query/school-year-v3/index.d.ts +3 -0
- package/dist/esm/query/school-year-v3/index.js +4 -0
- package/dist/esm/query/school-year-v3/index.js.map +1 -0
- package/dist/esm/query/userActivity/mutation.d.ts +1 -0
- package/dist/esm/query/userActivity/mutation.js +1 -0
- package/dist/esm/query/userActivity/mutation.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,740 @@
|
|
|
1
|
+
import { __awaiter, __generator, __spreadArray } from "tslib";
|
|
2
|
+
import { fas } from '@fortawesome/free-solid-svg-icons';
|
|
3
|
+
import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
|
|
4
|
+
import { Dialog, Menu, Transition } from '@headlessui/react';
|
|
5
|
+
import { Bars3Icon, XMarkIcon } from '@heroicons/react/24/outline';
|
|
6
|
+
import React, { Fragment, useEffect, useState } from 'react';
|
|
7
|
+
import { PHXModal } from '../Modal';
|
|
8
|
+
import { PHXSkeleton } from '../Skeleton';
|
|
9
|
+
import { getEnv } from '../../read-env-config';
|
|
10
|
+
import Cookies from 'js-cookie';
|
|
11
|
+
import { admin, AUTH_TOKEN, DEFAULT_AVATAR, DEFAULT_LOGO_DASHBOARD, DEFAULT_LOGO_LOGIN, DF_HEADER_BG_COLOR, DF_MENU_BG_ACTIVE_COLOR, DF_MENU_BG_COLOR, DF_MENU_HOVER_BG_COLOR, DF_MENU_ICON_ACTICE_COLOR, DF_MENU_ICON_AND_TEXT_HOVER_COLOR, DF_MENU_ICON_COLOR, DF_MENU_ICON_HOVER_COLOR, DF_MENU_TEXT_COLOR, DF_SEARCH_BG_COLOR, DF_SEARCH_BORDER_COLOR, DF_SEARCH_BORDER_HOVER_COLOR, DF_SEARCH_ICON_COLOR, DF_SEARCH_TEXT_COLOR, DF_SKELETON_COLOR, isLoggedCookie, KEY_SETTING, superAdmin, switchSchool, } from '../../utils/constants';
|
|
12
|
+
import { ArrowLeftIcon } from '@heroicons/react/20/solid';
|
|
13
|
+
import { library } from '@fortawesome/fontawesome-svg-core';
|
|
14
|
+
import SearchDetail from './search/search-bar';
|
|
15
|
+
import { PHXBanner } from '../Banner';
|
|
16
|
+
import { CheckIcon } from '@heroicons/react/24/solid';
|
|
17
|
+
import PHXFuncGetLoggedInfo from '../Func/getLoginInfo';
|
|
18
|
+
import PHXClientQueryV3 from '../Func/clientQueryV3';
|
|
19
|
+
import { styles } from '../MainWrap/style/sub-menu-style';
|
|
20
|
+
import NavMobile from '../MainWrap/navigator/nav-mobile';
|
|
21
|
+
import StyledCustomeLayout from '../MainWrap/appearance/appearance-styled';
|
|
22
|
+
import { GET_PERMISSION_DETAIL_USER_V3, GET_SCHOOL_V3, getCampaignNameV3, queryGetProfileV3 } from '../../query';
|
|
23
|
+
library.add(fas);
|
|
24
|
+
function classNames() {
|
|
25
|
+
var classes = [];
|
|
26
|
+
for (var _i = 0; _i < arguments.length; _i++) {
|
|
27
|
+
classes[_i] = arguments[_i];
|
|
28
|
+
}
|
|
29
|
+
return classes.filter(Boolean).join(' ');
|
|
30
|
+
}
|
|
31
|
+
export var PHXMainWrapV3 = function (_a) {
|
|
32
|
+
var _b, _c, _d, _e;
|
|
33
|
+
var children = _a.children, params = _a.params, pathName = _a.pathName, router = _a.router, _f = _a.hiddenLeftMenu, hiddenLeftMenu = _f === void 0 ? false : _f, _g = _a.logoHeight, logoHeight = _g === void 0 ? '28px' : _g, getDataCookies = _a.getDataCookies, _h = _a.multipleMenu, multipleMenu = _h === void 0 ? false : _h;
|
|
34
|
+
var pid = (params ? params : {}).pid;
|
|
35
|
+
var _j = useState(false), modal = _j[0], setModal = _j[1];
|
|
36
|
+
var _k = useState(true), openSubMenu = _k[0], setOpenSubMenu = _k[1];
|
|
37
|
+
var _l = useState(''), campaignName = _l[0], setCampaignName = _l[1];
|
|
38
|
+
var _m = useState(false), sidebarOpen = _m[0], setSidebarOpen = _m[1];
|
|
39
|
+
var _o = useState([]), subNavigation = _o[0], setSubNavigation = _o[1];
|
|
40
|
+
var _p = useState([]), navigation = _p[0], setNavigation = _p[1];
|
|
41
|
+
var _q = useState([]), menu = _q[0], setMenu = _q[1];
|
|
42
|
+
var _r = useState(true), loadingSchool = _r[0], setLoadingSchool = _r[1];
|
|
43
|
+
var _s = useState(true), loadingMenu = _s[0], setLoadingMenu = _s[1];
|
|
44
|
+
var _t = useState(false), modalSignOut = _t[0], setModalSignOut = _t[1];
|
|
45
|
+
var _u = useState([]), infoSchool = _u[0], setInfoSchool = _u[1];
|
|
46
|
+
var _v = useState(), dataSchool = _v[0], setDataSchool = _v[1];
|
|
47
|
+
var _w = useState([]), roleCode = _w[0], setRoleCode = _w[1];
|
|
48
|
+
var _x = useState([]), perCode = _x[0], setPerCode = _x[1];
|
|
49
|
+
var _y = useState(null), schoolId = _y[0], setSchoolId = _y[1];
|
|
50
|
+
var _z = useState(true), showBanner = _z[0], setShowBanner = _z[1];
|
|
51
|
+
var _0 = useState({}), configLayout = _0[0], setConfigLayout = _0[1];
|
|
52
|
+
var _1 = useState(true), isLoading = _1[0], setIsLoading = _1[1];
|
|
53
|
+
var locationPathname = typeof window !== 'undefined' ? window.location.pathname : '';
|
|
54
|
+
var pathArr = locationPathname.split('/');
|
|
55
|
+
var pathNameWithBasePath = "/".concat(pathArr[1]).concat(pathName);
|
|
56
|
+
function checkRole(role, arr) {
|
|
57
|
+
return arr === null || arr === void 0 ? void 0 : arr.some(function (item) { return (item === null || item === void 0 ? void 0 : item.toLowerCase()) === (role === null || role === void 0 ? void 0 : role.toLowerCase()); });
|
|
58
|
+
}
|
|
59
|
+
function enablePer(code, arr) {
|
|
60
|
+
return arr === null || arr === void 0 ? void 0 : arr.some(function (item) { return item === code; });
|
|
61
|
+
}
|
|
62
|
+
var _2 = useState({
|
|
63
|
+
path: '',
|
|
64
|
+
height: logoHeight
|
|
65
|
+
}), logo = _2[0], setLogo = _2[1];
|
|
66
|
+
var cookie = Cookies.get(isLoggedCookie);
|
|
67
|
+
var authen = Cookies.get(AUTH_TOKEN);
|
|
68
|
+
function compareObjects(settingQuery, settingCookies) {
|
|
69
|
+
var keysSettingQuery = Object.keys(settingQuery);
|
|
70
|
+
if (keysSettingQuery.length !== Object.keys(settingCookies).length) {
|
|
71
|
+
return false;
|
|
72
|
+
}
|
|
73
|
+
for (var _i = 0, keysSettingQuery_1 = keysSettingQuery; _i < keysSettingQuery_1.length; _i++) {
|
|
74
|
+
var key = keysSettingQuery_1[_i];
|
|
75
|
+
if (!Object.prototype.hasOwnProperty.call(settingCookies, key)) {
|
|
76
|
+
return false;
|
|
77
|
+
}
|
|
78
|
+
if (settingQuery[key] !== settingCookies[key]) {
|
|
79
|
+
return false;
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
return true;
|
|
83
|
+
}
|
|
84
|
+
var schoolInfo = PHXFuncGetLoggedInfo();
|
|
85
|
+
var schoolInfoId = schoolInfo === null || schoolInfo === void 0 ? void 0 : schoolInfo.school_id;
|
|
86
|
+
var userId = schoolInfo === null || schoolInfo === void 0 ? void 0 : schoolInfo.id;
|
|
87
|
+
var getProfileData = function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
88
|
+
var response, profileStaff, profileTeacher, error_1;
|
|
89
|
+
var _a, _b, _c, _d, _e, _f;
|
|
90
|
+
return __generator(this, function (_g) {
|
|
91
|
+
switch (_g.label) {
|
|
92
|
+
case 0:
|
|
93
|
+
_g.trys.push([0, 2, , 3]);
|
|
94
|
+
return [4 /*yield*/, PHXClientQueryV3({
|
|
95
|
+
query: queryGetProfileV3,
|
|
96
|
+
variables: {
|
|
97
|
+
user_id: userId,
|
|
98
|
+
school_id: schoolInfoId
|
|
99
|
+
}
|
|
100
|
+
})];
|
|
101
|
+
case 1:
|
|
102
|
+
response = _g.sent();
|
|
103
|
+
profileStaff = (_c = (_b = (_a = response.data) === null || _a === void 0 ? void 0 : _a.profile_staff) === null || _b === void 0 ? void 0 : _b[0]) === null || _c === void 0 ? void 0 : _c.is_quit_job;
|
|
104
|
+
profileTeacher = (_f = (_e = (_d = response.data) === null || _d === void 0 ? void 0 : _d.profile_teacher) === null || _e === void 0 ? void 0 : _e[0]) === null || _f === void 0 ? void 0 : _f.is_quit_job;
|
|
105
|
+
if (profileStaff || profileTeacher) {
|
|
106
|
+
console.log('Phiên đăng nhập đã hết hạn');
|
|
107
|
+
Object.keys(Cookies.get()).forEach(function (cookieName) {
|
|
108
|
+
Cookies.remove(cookieName);
|
|
109
|
+
});
|
|
110
|
+
}
|
|
111
|
+
return [3 /*break*/, 3];
|
|
112
|
+
case 2:
|
|
113
|
+
error_1 = _g.sent();
|
|
114
|
+
console.log(error_1);
|
|
115
|
+
return [3 /*break*/, 3];
|
|
116
|
+
case 3: return [2 /*return*/];
|
|
117
|
+
}
|
|
118
|
+
});
|
|
119
|
+
}); };
|
|
120
|
+
useEffect(function () {
|
|
121
|
+
getProfileData();
|
|
122
|
+
}, []);
|
|
123
|
+
useEffect(function () {
|
|
124
|
+
var _a;
|
|
125
|
+
if (!cookie || !authen) {
|
|
126
|
+
// Require login if production mode
|
|
127
|
+
requireLoginValidation();
|
|
128
|
+
}
|
|
129
|
+
else {
|
|
130
|
+
var data = JSON.parse(cookie);
|
|
131
|
+
var allRoleCodes = (_a = data === null || data === void 0 ? void 0 : data.user_roles) === null || _a === void 0 ? void 0 : _a.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; });
|
|
132
|
+
var _b = data.school, group_id_1 = _b.school_name.group_id, school_name_id_1 = _b.school_name_id, school_id_1 = data.school_id, id_1 = data.id;
|
|
133
|
+
setRoleCode(allRoleCodes);
|
|
134
|
+
setSchoolId(data === null || data === void 0 ? void 0 : data.school_id);
|
|
135
|
+
var fetchData = function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
136
|
+
var res, data_1, dataLength, settingFetchData, cleanedJsonString, jsonObjectSetting, getSeting, dataCompare, error_2;
|
|
137
|
+
var _a, _b, _c, _d;
|
|
138
|
+
return __generator(this, function (_e) {
|
|
139
|
+
switch (_e.label) {
|
|
140
|
+
case 0:
|
|
141
|
+
setIsLoading(true);
|
|
142
|
+
_e.label = 1;
|
|
143
|
+
case 1:
|
|
144
|
+
_e.trys.push([1, 3, , 4]);
|
|
145
|
+
return [4 /*yield*/, PHXClientQueryV3({
|
|
146
|
+
query: GET_SCHOOL_V3,
|
|
147
|
+
variables: { group_id: group_id_1, school_name_id: school_name_id_1, user_id: id_1 },
|
|
148
|
+
isDelay: false
|
|
149
|
+
})];
|
|
150
|
+
case 2:
|
|
151
|
+
res = _e.sent();
|
|
152
|
+
setDataSchool(res === null || res === void 0 ? void 0 : res.data);
|
|
153
|
+
data_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;
|
|
154
|
+
dataLength = data_1.length;
|
|
155
|
+
if (data_1 && dataLength > 0) {
|
|
156
|
+
setLoadingSchool(false);
|
|
157
|
+
}
|
|
158
|
+
setInfoSchool(data_1);
|
|
159
|
+
setIsLoading(false);
|
|
160
|
+
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;
|
|
161
|
+
if (settingFetchData) {
|
|
162
|
+
cleanedJsonString = settingFetchData.replace(/^"(.*)"$/, '$1');
|
|
163
|
+
jsonObjectSetting = JSON.parse(cleanedJsonString);
|
|
164
|
+
setConfigLayout(jsonObjectSetting);
|
|
165
|
+
getSeting = Cookies.get(KEY_SETTING);
|
|
166
|
+
// Nếu chưa có cookeis
|
|
167
|
+
if (!getSeting) {
|
|
168
|
+
Cookies.set(KEY_SETTING, JSON.stringify(jsonObjectSetting));
|
|
169
|
+
return [2 /*return*/];
|
|
170
|
+
}
|
|
171
|
+
dataCompare = compareObjects(jsonObjectSetting, JSON.parse(getSeting));
|
|
172
|
+
if (dataCompare) {
|
|
173
|
+
console.log('log debug database === cookies');
|
|
174
|
+
return [2 /*return*/];
|
|
175
|
+
}
|
|
176
|
+
console.log('log debug database !== cookies');
|
|
177
|
+
Cookies.set(KEY_SETTING, JSON.stringify(jsonObjectSetting));
|
|
178
|
+
}
|
|
179
|
+
return [3 /*break*/, 4];
|
|
180
|
+
case 3:
|
|
181
|
+
error_2 = _e.sent();
|
|
182
|
+
setIsLoading(false);
|
|
183
|
+
console.error('Error fetching school data:', error_2);
|
|
184
|
+
return [3 /*break*/, 4];
|
|
185
|
+
case 4: return [2 /*return*/];
|
|
186
|
+
}
|
|
187
|
+
});
|
|
188
|
+
}); };
|
|
189
|
+
fetchData()["catch"](function (err) {
|
|
190
|
+
console.log(err);
|
|
191
|
+
setIsLoading(false);
|
|
192
|
+
});
|
|
193
|
+
var allRoleCodesLength = allRoleCodes === null || allRoleCodes === void 0 ? void 0 : allRoleCodes.length;
|
|
194
|
+
if (allRoleCodes && allRoleCodesLength > 0) {
|
|
195
|
+
var fetchDataPer = function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
196
|
+
var res, userPermission, rolePermission, dataCodePermissionRole, dataCodePermissionUser, allCodes, uniqueValues, error_3;
|
|
197
|
+
var _a, _b;
|
|
198
|
+
return __generator(this, function (_c) {
|
|
199
|
+
switch (_c.label) {
|
|
200
|
+
case 0:
|
|
201
|
+
_c.trys.push([0, 2, , 3]);
|
|
202
|
+
return [4 /*yield*/, PHXClientQueryV3({
|
|
203
|
+
query: GET_PERMISSION_DETAIL_USER_V3,
|
|
204
|
+
variables: { id: id_1, school_id: school_id_1 }
|
|
205
|
+
})];
|
|
206
|
+
case 1:
|
|
207
|
+
res = _c.sent();
|
|
208
|
+
userPermission = (_a = res === null || res === void 0 ? void 0 : res.data) === null || _a === void 0 ? void 0 : _a.permission_user;
|
|
209
|
+
rolePermission = (_b = res === null || res === void 0 ? void 0 : res.data) === null || _b === void 0 ? void 0 : _b.permission_role;
|
|
210
|
+
dataCodePermissionRole = rolePermission === null || rolePermission === void 0 ? void 0 : rolePermission.map(function (item) { var _a; return (_a = item === null || item === void 0 ? void 0 : item.permission) === null || _a === void 0 ? void 0 : _a.code; });
|
|
211
|
+
dataCodePermissionUser = userPermission === null || userPermission === void 0 ? void 0 : userPermission.map(function (item) { var _a; return (_a = item === null || item === void 0 ? void 0 : item.permission) === null || _a === void 0 ? void 0 : _a.code; });
|
|
212
|
+
allCodes = __spreadArray(__spreadArray([], dataCodePermissionRole, true), dataCodePermissionUser, true);
|
|
213
|
+
uniqueValues = Array.from(new Set(allCodes));
|
|
214
|
+
setPerCode(uniqueValues);
|
|
215
|
+
return [3 /*break*/, 3];
|
|
216
|
+
case 2:
|
|
217
|
+
error_3 = _c.sent();
|
|
218
|
+
console.error('Error fetching school data:', error_3);
|
|
219
|
+
return [3 /*break*/, 3];
|
|
220
|
+
case 3: return [2 /*return*/];
|
|
221
|
+
}
|
|
222
|
+
});
|
|
223
|
+
}); };
|
|
224
|
+
fetchDataPer()["catch"](console.error);
|
|
225
|
+
}
|
|
226
|
+
}
|
|
227
|
+
}, [cookie, authen]);
|
|
228
|
+
useEffect(function () {
|
|
229
|
+
// Let load left menu data
|
|
230
|
+
if (loadingMenu) {
|
|
231
|
+
var fetchDataMenu = function (url) { return __awaiter(void 0, void 0, void 0, function () {
|
|
232
|
+
var data, json;
|
|
233
|
+
return __generator(this, function (_a) {
|
|
234
|
+
switch (_a.label) {
|
|
235
|
+
case 0: return [4 /*yield*/, fetch(url)];
|
|
236
|
+
case 1:
|
|
237
|
+
data = _a.sent();
|
|
238
|
+
return [4 /*yield*/, data.json()];
|
|
239
|
+
case 2:
|
|
240
|
+
json = _a.sent();
|
|
241
|
+
setMenu(json);
|
|
242
|
+
setLoadingMenu(false);
|
|
243
|
+
return [2 /*return*/];
|
|
244
|
+
}
|
|
245
|
+
});
|
|
246
|
+
}); };
|
|
247
|
+
var publicEnvSchoolMenu = getEnv('NEXT_PUBLIC_ENV_SCHOOL_MENU', process.env.NEXT_PUBLIC_ENV_SCHOOL_MENU);
|
|
248
|
+
var publicEnvSchoolLogo = getEnv('NEXT_PUBLIC_ENV_SCHOOL_TOP_MENU_LOGO', process.env.NEXT_PUBLIC_ENV_SCHOOL_TOP_MENU_LOGO);
|
|
249
|
+
if (!publicEnvSchoolMenu || !publicEnvSchoolLogo) {
|
|
250
|
+
console.error('menu or logo not found');
|
|
251
|
+
}
|
|
252
|
+
fetchDataMenu(publicEnvSchoolMenu)["catch"](console.error);
|
|
253
|
+
setLogo({ path: publicEnvSchoolLogo, height: logoHeight });
|
|
254
|
+
}
|
|
255
|
+
}, [loadingMenu, menu]);
|
|
256
|
+
var requireLoginValidation = function () {
|
|
257
|
+
var currentURL = window.location.href;
|
|
258
|
+
var url = currentURL.split('/');
|
|
259
|
+
var loginPush = "".concat(url[0], "//").concat(url[2], "/login-sso");
|
|
260
|
+
window.location.replace(loginPush);
|
|
261
|
+
};
|
|
262
|
+
var isEqualUrl = function (parentHref, pathName) {
|
|
263
|
+
if (!parentHref || !pathName) {
|
|
264
|
+
return false;
|
|
265
|
+
}
|
|
266
|
+
var pathNameSplit = pathName.split('/');
|
|
267
|
+
var hrefSplit = parentHref.split('/');
|
|
268
|
+
if (!pathNameSplit || !hrefSplit) {
|
|
269
|
+
return false;
|
|
270
|
+
}
|
|
271
|
+
var urlRouter;
|
|
272
|
+
var currentMenu;
|
|
273
|
+
if (multipleMenu) {
|
|
274
|
+
urlRouter = pathNameSplit[1] + pathNameSplit[2];
|
|
275
|
+
currentMenu = hrefSplit[1] + hrefSplit[2];
|
|
276
|
+
}
|
|
277
|
+
else {
|
|
278
|
+
urlRouter = pathNameSplit[1];
|
|
279
|
+
currentMenu = hrefSplit[1];
|
|
280
|
+
}
|
|
281
|
+
return urlRouter === currentMenu;
|
|
282
|
+
};
|
|
283
|
+
var isBelongParent = function (parentUrl, pathName) {
|
|
284
|
+
var parentSplit = parentUrl.split('/');
|
|
285
|
+
var pathNameSplit = pathName.split('/');
|
|
286
|
+
if (parentSplit.length > 2 && !parentSplit.includes('list')) {
|
|
287
|
+
return parentSplit[1] === pathNameSplit[2] && parentSplit[2] === pathNameSplit[3];
|
|
288
|
+
}
|
|
289
|
+
else {
|
|
290
|
+
return parentSplit[1] === pathNameSplit[2];
|
|
291
|
+
}
|
|
292
|
+
};
|
|
293
|
+
var checkAdmissions = function (path) {
|
|
294
|
+
var pathNameSplit = path.split('/');
|
|
295
|
+
return pathNameSplit[1] === 'admissions';
|
|
296
|
+
};
|
|
297
|
+
var loadParentNavigation = function (path) {
|
|
298
|
+
var mainNavigation = menu;
|
|
299
|
+
var naviSize = mainNavigation.length;
|
|
300
|
+
for (var i = 0; i < naviSize; i++) {
|
|
301
|
+
var item = mainNavigation[i];
|
|
302
|
+
item.current = false;
|
|
303
|
+
if (item.path === path || isEqualUrl(item.path, path)) {
|
|
304
|
+
item.current = true;
|
|
305
|
+
// Find sub modules
|
|
306
|
+
var itemLength = item.child.length;
|
|
307
|
+
var listChildren = [];
|
|
308
|
+
for (var j = 0; j < itemLength; j++) {
|
|
309
|
+
var childItem = item.child[j];
|
|
310
|
+
// Active child item
|
|
311
|
+
childItem.current = isBelongParent(childItem.path, path);
|
|
312
|
+
if (childItem.child) {
|
|
313
|
+
var childItemLength = childItem.child.length;
|
|
314
|
+
var count = 0;
|
|
315
|
+
for (var k = 0; k < childItemLength; k++) {
|
|
316
|
+
var subChild = childItem.child[k];
|
|
317
|
+
subChild.current = isBelongParent(subChild.path, path);
|
|
318
|
+
if (isBelongParent(subChild.path, path) || isBelongParent(childItem.path, path)) {
|
|
319
|
+
count++;
|
|
320
|
+
}
|
|
321
|
+
count > 0 ? (childItem.showChild = true) : (childItem.showChild = false);
|
|
322
|
+
subChild.path === childItem.path ? (childItem.current = false) : null;
|
|
323
|
+
}
|
|
324
|
+
}
|
|
325
|
+
listChildren.push(childItem);
|
|
326
|
+
}
|
|
327
|
+
setSubNavigation(listChildren);
|
|
328
|
+
}
|
|
329
|
+
}
|
|
330
|
+
setNavigation(mainNavigation);
|
|
331
|
+
};
|
|
332
|
+
var loadChildrenCampaign = function (path) {
|
|
333
|
+
var mainNavigation = menu;
|
|
334
|
+
var naviSize = mainNavigation.length;
|
|
335
|
+
for (var i = 0; i < naviSize; i++) {
|
|
336
|
+
var item = mainNavigation[i];
|
|
337
|
+
item.current = false;
|
|
338
|
+
if (item.path === path || isEqualUrl(item.path, path)) {
|
|
339
|
+
item.current = true;
|
|
340
|
+
// Find sub modules
|
|
341
|
+
// const itemLength = item.child.length;
|
|
342
|
+
var campaign = item.child.filter(function (child) { return child.path === '/campaign/list'; });
|
|
343
|
+
var listCampaign = campaign[0];
|
|
344
|
+
var itemLength = listCampaign === null || listCampaign === void 0 ? void 0 : listCampaign.childrenByParentDetail.length;
|
|
345
|
+
var listChildren = [];
|
|
346
|
+
for (var j = 0; j < itemLength; j++) {
|
|
347
|
+
var childItem = listCampaign === null || listCampaign === void 0 ? void 0 : listCampaign.childrenByParentDetail[j];
|
|
348
|
+
// Active child item
|
|
349
|
+
childItem.current = isBelongParent(childItem.path, path);
|
|
350
|
+
if (childItem.child) {
|
|
351
|
+
var childItemLength = childItem.child.length;
|
|
352
|
+
for (var k = 0; k < childItemLength; k++) {
|
|
353
|
+
var subChild = childItem.child[k];
|
|
354
|
+
subChild.current = isBelongParent(subChild.path, path);
|
|
355
|
+
if (isBelongParent(subChild.path, path) || isBelongParent(childItem.path, path))
|
|
356
|
+
childItem.showChild = true;
|
|
357
|
+
subChild.path === childItem.path ? (childItem.current = false) : null;
|
|
358
|
+
}
|
|
359
|
+
}
|
|
360
|
+
listChildren.push(childItem);
|
|
361
|
+
}
|
|
362
|
+
setSubNavigation(listChildren);
|
|
363
|
+
}
|
|
364
|
+
}
|
|
365
|
+
setNavigation(mainNavigation);
|
|
366
|
+
};
|
|
367
|
+
var checkChildrenCampaign = function (path) {
|
|
368
|
+
var campaignMenu = menu === null || menu === void 0 ? void 0 : menu.find(function (item) { return item.path === '/admissions/campaign/list'; });
|
|
369
|
+
var campaignChild = campaignMenu === null || campaignMenu === void 0 ? void 0 : campaignMenu.child;
|
|
370
|
+
var listChild = campaignChild === null || campaignChild === void 0 ? void 0 : campaignChild.find(function (item) { return item.path === '/campaign/list'; });
|
|
371
|
+
var isChild = listChild === null || listChild === void 0 ? void 0 : listChild.childrenByParentDetail.find(function (item) { return isBelongParent(item.path, path); });
|
|
372
|
+
return isChild !== undefined;
|
|
373
|
+
};
|
|
374
|
+
useEffect(function () {
|
|
375
|
+
var isAdmissions = checkAdmissions(pathNameWithBasePath);
|
|
376
|
+
if (isAdmissions && checkChildrenCampaign(pathNameWithBasePath)) {
|
|
377
|
+
if (pathNameWithBasePath.includes('/admissions/overview/list/') && pid) {
|
|
378
|
+
PHXClientQueryV3({
|
|
379
|
+
query: getCampaignNameV3,
|
|
380
|
+
variables: { id: pid },
|
|
381
|
+
isDelay: false
|
|
382
|
+
}).then(function (res) {
|
|
383
|
+
var data = res.data.admissions_campaigns_by_pk;
|
|
384
|
+
setCampaignName(data.campaign_name);
|
|
385
|
+
Cookies.set('campaign_name', JSON.stringify(data.campaign_name));
|
|
386
|
+
});
|
|
387
|
+
loadChildrenCampaign(pathNameWithBasePath);
|
|
388
|
+
}
|
|
389
|
+
else if (pathNameWithBasePath === '/admissions/campaign/list') {
|
|
390
|
+
loadParentNavigation(pathNameWithBasePath);
|
|
391
|
+
}
|
|
392
|
+
else {
|
|
393
|
+
loadChildrenCampaign(pathNameWithBasePath);
|
|
394
|
+
}
|
|
395
|
+
}
|
|
396
|
+
else {
|
|
397
|
+
loadParentNavigation(pathNameWithBasePath);
|
|
398
|
+
}
|
|
399
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
400
|
+
}, [menu, pid, pathNameWithBasePath]);
|
|
401
|
+
useEffect(function () {
|
|
402
|
+
var isAdmissions = checkAdmissions(pathNameWithBasePath);
|
|
403
|
+
if (isAdmissions) {
|
|
404
|
+
if (pathNameWithBasePath === '/admissions/campaign/list' || !checkChildrenCampaign(pathNameWithBasePath)) {
|
|
405
|
+
setOpenSubMenu(true);
|
|
406
|
+
}
|
|
407
|
+
else {
|
|
408
|
+
setOpenSubMenu(true);
|
|
409
|
+
var campaign_name = Cookies.get('campaign_name');
|
|
410
|
+
setCampaignName(campaign_name ? JSON.parse(campaign_name) : campaignName);
|
|
411
|
+
loadChildrenCampaign(pathNameWithBasePath);
|
|
412
|
+
}
|
|
413
|
+
}
|
|
414
|
+
else {
|
|
415
|
+
setOpenSubMenu(true);
|
|
416
|
+
}
|
|
417
|
+
}, [pathNameWithBasePath, menu]);
|
|
418
|
+
var loadSubNavigation = function (path, isChild, childPath) {
|
|
419
|
+
var subLength = subNavigation.length;
|
|
420
|
+
var newSub = [];
|
|
421
|
+
for (var i = 0; i < subLength; i++) {
|
|
422
|
+
var item = subNavigation[i];
|
|
423
|
+
item.current = item.path === path && !isChild;
|
|
424
|
+
if (item.child) {
|
|
425
|
+
item.showChild = item.path === path;
|
|
426
|
+
for (var j = 0; j < item.child.length; j++) {
|
|
427
|
+
var child = item.child[j];
|
|
428
|
+
child.current = child.path === childPath;
|
|
429
|
+
if (child.path === item.path) {
|
|
430
|
+
item.current = false;
|
|
431
|
+
child.current = childPath ? child.path === childPath : child.path === path;
|
|
432
|
+
}
|
|
433
|
+
}
|
|
434
|
+
}
|
|
435
|
+
newSub.push(item);
|
|
436
|
+
}
|
|
437
|
+
setSubNavigation(newSub);
|
|
438
|
+
};
|
|
439
|
+
var triggerClicked = function (path) {
|
|
440
|
+
loadParentNavigation(path);
|
|
441
|
+
};
|
|
442
|
+
var handleClicked = function (path) {
|
|
443
|
+
triggerClicked(path);
|
|
444
|
+
};
|
|
445
|
+
var subNavigationTriggerClicked = function (item, parent) {
|
|
446
|
+
parent ? loadSubNavigation(parent.path, true, item.path) : loadSubNavigation(item.path, false);
|
|
447
|
+
var queryString = window.location.search;
|
|
448
|
+
var urlParams = new URLSearchParams(queryString);
|
|
449
|
+
var campaign = Number(urlParams.get('campaignId'));
|
|
450
|
+
// handle for admissions
|
|
451
|
+
if (campaign) {
|
|
452
|
+
router.push("".concat(item.path, "?campaignId=").concat(campaign));
|
|
453
|
+
}
|
|
454
|
+
else {
|
|
455
|
+
router.push(item.path);
|
|
456
|
+
}
|
|
457
|
+
};
|
|
458
|
+
var path = logo.path, height = logo.height;
|
|
459
|
+
var handleModalSignOut = function () { return setModalSignOut(true); };
|
|
460
|
+
var handleRedirectRouter = function (path) {
|
|
461
|
+
var currentURL = window.location.href;
|
|
462
|
+
var url = currentURL.split('/');
|
|
463
|
+
var pushPath = "".concat(url[0], "//").concat(url[2], "/").concat(path);
|
|
464
|
+
window.location.replace(pushPath);
|
|
465
|
+
};
|
|
466
|
+
var handleSignOut = function () {
|
|
467
|
+
setModalSignOut(false);
|
|
468
|
+
Object.keys(Cookies.get()).forEach(function (cookieName) {
|
|
469
|
+
Cookies.remove(cookieName);
|
|
470
|
+
});
|
|
471
|
+
console.log('Đăng xuất tài khoản');
|
|
472
|
+
handleRedirectRouter('login-sso');
|
|
473
|
+
};
|
|
474
|
+
var handleProfilePage = function () {
|
|
475
|
+
handleRedirectRouter('profile');
|
|
476
|
+
};
|
|
477
|
+
var handleBackMenu = function () {
|
|
478
|
+
router.push('/campaign/list');
|
|
479
|
+
loadParentNavigation('/admissions/campaign/list');
|
|
480
|
+
};
|
|
481
|
+
var handleClickPageAdmin = function () {
|
|
482
|
+
window.location.replace('/permission/role/list');
|
|
483
|
+
};
|
|
484
|
+
var checkChildBefore = function (item, currentItem) {
|
|
485
|
+
var currentIndexActive = item.find(function (s) { return s.current; });
|
|
486
|
+
return currentIndexActive ? currentIndexActive.id > currentItem.id : false;
|
|
487
|
+
};
|
|
488
|
+
var _3 = useState(false), openNavName = _3[0], setOpenNavName = _3[1];
|
|
489
|
+
var _4 = useState(false), showSearchBar = _4[0], setShowSearchBar = _4[1];
|
|
490
|
+
var _5 = useState(null), selected = _5[0], setSelected = _5[1];
|
|
491
|
+
var handleOpenModal = function (id) {
|
|
492
|
+
setModal(id !== schoolId);
|
|
493
|
+
setSelected(id);
|
|
494
|
+
};
|
|
495
|
+
var handlePrimaryModal = function () {
|
|
496
|
+
if (cookie) {
|
|
497
|
+
try {
|
|
498
|
+
var data = JSON.parse(cookie);
|
|
499
|
+
if (data) {
|
|
500
|
+
var newSchoolId = selected;
|
|
501
|
+
if (newSchoolId && newSchoolId !== data.school_id) {
|
|
502
|
+
data.school_id = newSchoolId;
|
|
503
|
+
var updatedCookie = encodeURIComponent(JSON.stringify(data));
|
|
504
|
+
document.cookie = "".concat(isLoggedCookie, "=").concat(updatedCookie, ";path=/");
|
|
505
|
+
window.location.replace('/');
|
|
506
|
+
}
|
|
507
|
+
}
|
|
508
|
+
}
|
|
509
|
+
catch (error) {
|
|
510
|
+
console.error(error);
|
|
511
|
+
}
|
|
512
|
+
}
|
|
513
|
+
setModal(false);
|
|
514
|
+
};
|
|
515
|
+
var avatar = (_b = dataSchool === null || dataSchool === void 0 ? void 0 : dataSchool.users[0]) === null || _b === void 0 ? void 0 : _b.avatar;
|
|
516
|
+
var sourceAvatar = !avatar ? DEFAULT_AVATAR : avatar;
|
|
517
|
+
// settings page
|
|
518
|
+
var isSettings = function () {
|
|
519
|
+
var pathNameSplit = pathNameWithBasePath.split('/');
|
|
520
|
+
return pathNameSplit[1] === 'setting';
|
|
521
|
+
};
|
|
522
|
+
var defaultSettingLayout = {
|
|
523
|
+
df_header_bg_color: DF_HEADER_BG_COLOR,
|
|
524
|
+
df_logo_login: DEFAULT_LOGO_LOGIN,
|
|
525
|
+
df_logo_dashboard: DEFAULT_LOGO_DASHBOARD,
|
|
526
|
+
df_color_loading_skeleton: DF_SKELETON_COLOR,
|
|
527
|
+
df_search_icon_color: DF_SEARCH_ICON_COLOR,
|
|
528
|
+
df_search_bg_color: DF_SEARCH_BG_COLOR,
|
|
529
|
+
df_search_border_color: DF_SEARCH_BORDER_COLOR,
|
|
530
|
+
df_search_border_hover_color: DF_SEARCH_BORDER_HOVER_COLOR,
|
|
531
|
+
df_search_text_color: DF_SEARCH_TEXT_COLOR,
|
|
532
|
+
df_menu_bg_color: DF_MENU_BG_COLOR,
|
|
533
|
+
df_menu_text_color: DF_MENU_TEXT_COLOR,
|
|
534
|
+
df_menu_bg_active: DF_MENU_BG_ACTIVE_COLOR,
|
|
535
|
+
df_menu_icon_color: DF_MENU_ICON_COLOR,
|
|
536
|
+
df_menu_icon_hover: DF_MENU_ICON_HOVER_COLOR,
|
|
537
|
+
df_menu_text_and_icon_hover_color: DF_MENU_ICON_AND_TEXT_HOVER_COLOR,
|
|
538
|
+
df_menu_icon_active: DF_MENU_ICON_ACTICE_COLOR,
|
|
539
|
+
df_menu_hover_bg: DF_MENU_HOVER_BG_COLOR
|
|
540
|
+
};
|
|
541
|
+
var settingLength = (_d = (_c = dataSchool === null || dataSchool === void 0 ? void 0 : dataSchool.setting_site) === null || _c === void 0 ? void 0 : _c.length) !== null && _d !== void 0 ? _d : 0;
|
|
542
|
+
var df_logo_dashboard = defaultSettingLayout === null || defaultSettingLayout === void 0 ? void 0 : defaultSettingLayout.df_logo_dashboard;
|
|
543
|
+
var logo_dashboard = configLayout === null || configLayout === void 0 ? void 0 : configLayout.logo_dashboard;
|
|
544
|
+
var checkLogoHeader = settingLength === 0 ? df_logo_dashboard : logo_dashboard || path;
|
|
545
|
+
return (React.createElement(React.Fragment, null,
|
|
546
|
+
React.createElement("div", { className: 'flex min-h-full flex-col' },
|
|
547
|
+
React.createElement(StyledCustomeLayout, { defaultSettingLayout: defaultSettingLayout, data: dataSchool, configLayout: configLayout, settingLocal: getDataCookies }),
|
|
548
|
+
React.createElement("header", { className: 'fixed top-0 z-50 min-w-full border-gray-200 bg-white header-color-styled' },
|
|
549
|
+
React.createElement("div", { className: 'mx-auto flex h-14 items-center justify-between pr-4 bg-[#1a1a1a] header-styled' },
|
|
550
|
+
React.createElement("div", { className: 'flex items-center lg:w-32 gap-x-3' },
|
|
551
|
+
React.createElement("a", { href: '/', className: 'w-full flex items-center' }, path ? (React.createElement(React.Fragment, null, isLoading ? (React.createElement("div", { className: 'animate-pulse w-full h-8 ml-3 header-loading-logo' })) : (React.createElement("img", { alt: 'Logo', className: 'w-auto ml-3', src: checkLogoHeader, style: { height: height } })))) : (React.createElement(React.Fragment, null))),
|
|
552
|
+
React.createElement("div", { className: 'lg:hidden flex items-center' },
|
|
553
|
+
React.createElement("button", { className: 'bg-grey-100 mr-3 inline-flex p-1 items-center justify-center rounded-md text-gray-600 hover:bg-white focus:outline-none focus:ring-2 focus:ring-inset focus:ring-white', onClick: function () { return setSidebarOpen(true); }, type: 'button' },
|
|
554
|
+
React.createElement("span", { className: 'sr-only' }, "Open sidebar"),
|
|
555
|
+
React.createElement(Bars3Icon, { "aria-hidden": 'true', className: 'h-6 w-6' })))),
|
|
556
|
+
React.createElement("div", { "aria-hidden": true, className: 'hidden sm:block w-[30%] h-8 bg-indigo-700 rounded-lg border border-indigo-500 relative hover:border-gray-200 cursor-pointer search-box-styled', onClick: function () { return setShowSearchBar(true); } },
|
|
557
|
+
React.createElement("div", { className: 'relative text-indigo-400 flex items-center gap-x-3 text-xs top-1.5 left-2.5' },
|
|
558
|
+
React.createElement("div", { className: 'flex items-center' },
|
|
559
|
+
React.createElement("svg", { xmlns: 'http://www.w3.org/2000/svg', fill: 'none', viewBox: '0 0 24 24', strokeWidth: '1.5', stroke: 'currentColor', className: 'w-4 h-4' },
|
|
560
|
+
React.createElement("path", { strokeLinecap: 'round', strokeLinejoin: 'round', d: 'M21 21l-5.197-5.197m0 0A7.5 7.5 0 105.196 5.196a7.5 7.5 0 0010.607 10.607z' })),
|
|
561
|
+
React.createElement("p", { className: 'ml-2' }, "T\u00ECm ki\u1EBFm")))),
|
|
562
|
+
React.createElement(SearchDetail, { open: showSearchBar, onClose: function () { return setShowSearchBar(false); } }),
|
|
563
|
+
React.createElement("div", { className: 'flex items-center gap-x-8' },
|
|
564
|
+
React.createElement("div", { className: '-m-1.5 p-1.5' },
|
|
565
|
+
React.createElement(Menu, { as: 'div', className: 'relative ml-3' },
|
|
566
|
+
React.createElement("div", null,
|
|
567
|
+
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' },
|
|
568
|
+
React.createElement("span", { className: 'sr-only' }, "Open user menu"),
|
|
569
|
+
isLoading ? (React.createElement("div", { className: 'animate-pulse flex' },
|
|
570
|
+
React.createElement("div", { className: 'rounded-full h-8 w-8 header-loading-avatar' }))) : (React.createElement("img", { alt: '', className: 'h-8 w-8 rounded-full', src: sourceAvatar })))),
|
|
571
|
+
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' },
|
|
572
|
+
React.createElement(Menu.Items, { className: ' px-2 absolute right-0 z-10 mt-2 w-[340px] origin-top-right rounded-md bg-white shadow-lg ring-1 ring-black ring-opacity-5 focus:outline-none' },
|
|
573
|
+
React.createElement(Menu.Item, null,
|
|
574
|
+
React.createElement("div", { "aria-hidden": true, className: 'px-2 pt-4 pb-2 font-semibold text-gray-900 text-sm ' }, "Ch\u1ECDn tr\u01B0\u1EDDng")),
|
|
575
|
+
!loadingSchool ? (React.createElement(React.Fragment, null, infoSchool
|
|
576
|
+
.filter(function (val) {
|
|
577
|
+
if (!enablePer(switchSchool, perCode)) {
|
|
578
|
+
return val.id === schoolId;
|
|
579
|
+
}
|
|
580
|
+
else {
|
|
581
|
+
return true;
|
|
582
|
+
}
|
|
583
|
+
})
|
|
584
|
+
.map(function (item) { return (React.createElement(Menu.Item, { key: item.id },
|
|
585
|
+
React.createElement("div", { "aria-hidden": true, className: "".concat(item.id === schoolId &&
|
|
586
|
+
infoSchool.length > 1 &&
|
|
587
|
+
!enablePer(switchSchool, perCode) === false
|
|
588
|
+
? 'rounded-lg bg-zinc-200 text-gray-900 font-semibold '
|
|
589
|
+
: 'font-normal ', " \n ").concat(item.id !== schoolId &&
|
|
590
|
+
(infoSchool.length === 1 || !enablePer(switchSchool, perCode)) === false
|
|
591
|
+
? 'hover:bg-gray-100 hover:rounded-lg cursor-pointer'
|
|
592
|
+
: '', "\n py-1.5 relative px-2 mb-1 text-gray-900 text-sm flex justify-between items-center"), onClick: function () { return handleOpenModal(item.id); } },
|
|
593
|
+
React.createElement("p", { className: 'truncate max-w-[95%]' }, item.name),
|
|
594
|
+
item.id === schoolId &&
|
|
595
|
+
infoSchool.length > 1 &&
|
|
596
|
+
!enablePer(switchSchool, perCode) === false && (React.createElement(CheckIcon, { "aria-hidden": 'true', className: 'h-4 w-4' }))))); }))) : (React.createElement(PHXSkeleton, { className: 'flex-1 py-2 px-2', type: 'single' })),
|
|
597
|
+
React.createElement("div", { className: 'border-b pt-1.5' }),
|
|
598
|
+
React.createElement(Menu.Item, null,
|
|
599
|
+
React.createElement("div", { "aria-hidden": true, className: 'pt-4 px-2 pb-2 font-semibold text-gray-900 text-sm' }, "T\u00F9y ch\u1ECDn")),
|
|
600
|
+
React.createElement(Menu.Item, null,
|
|
601
|
+
React.createElement("div", { "aria-hidden": true, className: 'py-1.5 px-2 cursor-pointer text-gray-900 text-sm hover:bg-gray-100 hover:rounded-lg', onClick: handleProfilePage }, "Th\u00F4ng tin c\u00E1 nh\u00E2n")),
|
|
602
|
+
(checkRole(admin, roleCode) || checkRole(superAdmin, roleCode)) && (React.createElement(Menu.Item, null,
|
|
603
|
+
React.createElement("div", { "aria-hidden": true, className: 'py-1.5 px-2 cursor-pointer text-gray-900 text-sm hover:bg-gray-100 hover:rounded-lg', onClick: handleClickPageAdmin }, "Qu\u1EA3n tr\u1ECB \u0111\u0103ng nh\u1EADp portal"))),
|
|
604
|
+
React.createElement(Menu.Item, null,
|
|
605
|
+
React.createElement("div", { "aria-hidden": true, className: 'py-1.5 px-2 mb-2.5 cursor-pointer text-[#8e1f0c] text-sm hover:bg-gray-100 hover:rounded-lg', onClick: handleModalSignOut }, "\u0110\u0103ng xu\u1EA5t")))))))))),
|
|
606
|
+
React.createElement("div", null,
|
|
607
|
+
React.createElement(PHXModal, { dangerActionText: '\u0110\u0103ng xu\u1EA5t', onDangerClick: handleSignOut, onHide: function () { return setModalSignOut(false); }, primaryActionText: '', show: modalSignOut, title: '\u0110\u0103ng xu\u1EA5t' },
|
|
608
|
+
React.createElement("div", { className: 'text-gray-700 text-sm' }, "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"))),
|
|
609
|
+
React.createElement(PHXModal, { onHide: function () { return setModal(false); }, primaryActionText: 'X\u00E1c nh\u1EADn', show: modal, onPrimaryClick: handlePrimaryModal, title: 'X\u00E1c nh\u1EADn thay \u0111\u1ED5i tr\u01B0\u1EDDng' },
|
|
610
|
+
React.createElement(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' })),
|
|
611
|
+
React.createElement("div", { className: 'relative flex min-h-screen bg-[#f1f1f1]' },
|
|
612
|
+
React.createElement(Transition.Root, { as: Fragment, show: sidebarOpen },
|
|
613
|
+
React.createElement(Dialog, { as: 'div', className: 'relative z-40 lg:hidden', onClose: setSidebarOpen },
|
|
614
|
+
React.createElement(Transition.Child, { as: Fragment, enter: 'transition-opacity ease-linear duration-300', enterFrom: 'opacity-0', enterTo: 'opacity-100', leave: 'transition-opacity ease-linear duration-300', leaveFrom: 'opacity-100', leaveTo: 'opacity-0' },
|
|
615
|
+
React.createElement("div", { className: 'fixed inset-0 bg-gray-600 bg-opacity-75' })),
|
|
616
|
+
React.createElement("div", { className: 'fixed inset-0 z-40 flex' },
|
|
617
|
+
React.createElement(Transition.Child, { as: Fragment, enter: 'transition ease-in-out duration-300 transform', enterFrom: '-translate-x-full', enterTo: 'translate-x-0', leave: 'transition ease-in-out duration-300 transform', leaveFrom: 'translate-x-0', leaveTo: '-translate-x-full' },
|
|
618
|
+
React.createElement(Dialog.Panel, { className: 'relative flex w-full max-w-xs flex-1 flex-col bg-[#ebebeb]' },
|
|
619
|
+
React.createElement(Transition.Child, { as: Fragment, enter: 'ease-in-out duration-300', enterFrom: 'opacity-0', enterTo: 'opacity-100', leave: 'ease-in-out duration-300', leaveFrom: 'opacity-100', leaveTo: 'opacity-0' },
|
|
620
|
+
React.createElement("div", { className: 'absolute right-0 top-0 -mr-12 pt-2' },
|
|
621
|
+
React.createElement("button", { className: 'ml-1 flex h-10 w-10 items-center justify-center rounded-full focus:outline-none focus:ring-2 focus:ring-inset focus:ring-white', onClick: function () { return setSidebarOpen(false); }, type: 'button' },
|
|
622
|
+
React.createElement("span", { className: 'sr-only' }, "Close sidebar"),
|
|
623
|
+
React.createElement(XMarkIcon, { "aria-hidden": 'true', className: 'h-6 w-6 text-white' })))),
|
|
624
|
+
React.createElement("div", { className: 'mt-8 h-0 flex-1 overflow-y-auto pb-4 pt-5' },
|
|
625
|
+
React.createElement(NavMobile, { setSideBarOpen: function () { return setSidebarOpen(false); }, permission: perCode, menu: menu, path: pathNameWithBasePath, router: router })))),
|
|
626
|
+
React.createElement("div", { "aria-hidden": 'true', className: 'w-14 flex-shrink-0' })))),
|
|
627
|
+
React.createElement("div", { className: 'hidden lg:flex lg:flex-shrink-0' },
|
|
628
|
+
React.createElement("div", { className: 'flex' },
|
|
629
|
+
React.createElement("div", { className: 'mt-14 flex lg:inset-y-0' },
|
|
630
|
+
React.createElement("div", { "aria-hidden": true, className: "".concat(openNavName ? 'w-64' : 'w-14', " transition-all duration-300 z-10 flex h-full flex-col justify-between border-r bg-[#f1f1f1] lg:fixed menu-styled"), onMouseOver: function () { return setOpenNavName(true); }, onMouseOut: function () { return setOpenNavName(false); } },
|
|
631
|
+
React.createElement("div", { className: classNames('#ebebeb flex flex-1 flex-col', openNavName ? 'overflow-y-auto' : 'overflow-y-hidden') },
|
|
632
|
+
React.createElement("div", { className: 'flex-1 relative' },
|
|
633
|
+
React.createElement("div", { "aria-label": 'Sidebar', className: 'hidden md:block md:flex-shrink-0 md:overflow-y-auto overflow-x-hidden' }, !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' }, (roleCode === null || roleCode === void 0 ? void 0 : roleCode.length) > 0 ? (React.createElement(React.Fragment, null, enablePer(item.code, perCode) && (React.createElement("a", { className: "".concat(classNames(item.current && !openNavName
|
|
634
|
+
? 'font-semibold menu-bg-color-icon-active-styled' // màu background của icon đang active của menu
|
|
635
|
+
: 'font-medium menu-icon-color-styled', // màu icon của menu
|
|
636
|
+
!openNavName
|
|
637
|
+
? 'mb-1.5 inline-flex h-8 w-8 flex-shrink-0 items-center justify-center rounded-lg'
|
|
638
|
+
: 'mb-1.5 inline-flex h-8 flex-shrink-0 items-center rounded-lg min-w-full', openNavName && item.current
|
|
639
|
+
? 'rounded-lg menu-bg-color-icon-active-styled'
|
|
640
|
+
: 'hover:rounded-lg hover:bg-opacity-50 menu-hover-bg')), href: item.path, onClick: function () { return handleClicked(item.path); }, onMouseOver: function () { return setOpenNavName(true); } },
|
|
641
|
+
React.createElement("span", { className: 'sr-only' }, item.name),
|
|
642
|
+
React.createElement("span", { className: classNames(!openNavName
|
|
643
|
+
? 'group cursor-pointer hover:fixed hover:z-10 focus-visible:outline-none mt-0.5'
|
|
644
|
+
: "flex gap-x-2 ".concat(item.menuIconSL ? 'pl-[3px] pt-[2px]' : 'pl-[0.45rem]')) },
|
|
645
|
+
item.menuIconSL ? (React.createElement("img", { src: item.menuIconSL, className: 'w-[1.6rem]', alt: 'icon' })) : (React.createElement(FontAwesomeIcon, { className: 'h-[1.125rem] w-[1.125rem] mt-1', icon: item.image })),
|
|
646
|
+
openNavName && (React.createElement("div", { className: 'h-6' },
|
|
647
|
+
React.createElement("p", { className: "transition-all h-full duration-300 text-[0.86rem] mt-0.5 ".concat(openNavName ? 'opacity-100' : 'opacity-0', " ").concat(item.current ? 'font-semibold' : '') }, item.name)))))))) : (React.createElement("a", { className: classNames(item.current && !openNavName
|
|
648
|
+
? 'text-indigo-900 font-semibold menu-bg-color-icon-active-styled' // màu background của icon đang active trong menu
|
|
649
|
+
: 'text-gray-700 font-medium menu-icon-color-styled', // màu icon
|
|
650
|
+
!openNavName
|
|
651
|
+
? 'mb-1.5 inline-flex h-8 w-8 flex-shrink-0 items-center justify-center rounded-lg'
|
|
652
|
+
: 'mb-1.5 inline-flex h-8 flex-shrink-0 items-center rounded-lg min-w-full', openNavName && item.current
|
|
653
|
+
? 'rounded-lg text-indigo-900 menu-bg-color-icon-active-styled' // màu background của icon đang active
|
|
654
|
+
: 'hover:rounded-lg hover:bg-opacity-50 menu-hover-bg'), href: item.path, onClick: function () { return handleClicked(item.path); }, onMouseOver: function () { return setOpenNavName(true); } },
|
|
655
|
+
React.createElement("span", { className: classNames(!openNavName
|
|
656
|
+
? 'group cursor-pointer hover:fixed hover:z-10 focus-visible:outline-none mt-0.5'
|
|
657
|
+
: "flex gap-x-2 ".concat(item.menuIconSL ? 'pl-[3px] pt-[2px]' : 'pl-[0.45rem]')) },
|
|
658
|
+
item.menuIconSL ? (React.createElement("img", { src: item.menuIconSL, className: 'w-[1.6rem]', alt: 'icon' })) : (React.createElement(FontAwesomeIcon, { className: 'h-[1.125rem] w-[1.125rem] mt-1', icon: item.image })),
|
|
659
|
+
openNavName && (React.createElement("div", { className: 'h-6' },
|
|
660
|
+
React.createElement("p", { className: "transition-all h-full duration-300 text-[0.86rem] mt-0.5 ".concat(openNavName ? 'opacity-100' : 'opacity-0', " ").concat(item.current ? 'font-semibold' : '', " ") }, item.name)))))))); })))))),
|
|
661
|
+
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') },
|
|
662
|
+
React.createElement("div", { className: "mb-14 space-y- flex ".concat(openNavName ? 'w-64' : 'w-12', " overflow-hidden p-3") },
|
|
663
|
+
React.createElement("a", { className: classNames('text-gray-700 font-medium', !openNavName
|
|
664
|
+
? 'inline-flex h-8 w-8 flex-shrink-0 items-center justify-center rounded-lg'
|
|
665
|
+
: 'inline-flex h-8 flex-shrink-0 items-center rounded-lg hover:rounded-lg hover:bg-opacity-50 min-w-full', isSettings() && !openNavName
|
|
666
|
+
? 'text-indigo-900 font-semibold setting-bg-icon-active' // màu background của icon đang active trong menu
|
|
667
|
+
: 'text-gray-700 font-medium setting-icon-color', // màu icon
|
|
668
|
+
openNavName && isSettings()
|
|
669
|
+
? 'rounded-lg text-indigo-900 setting-bg-icon-active' // màu background của icon đang active trong menu
|
|
670
|
+
: 'hover:rounded-lg hover:bg-opacity-50 setting-hover-bg'), href: '/setting',
|
|
671
|
+
// onClick={() => handleClicked(item.path)}
|
|
672
|
+
onMouseOver: function () { return setOpenNavName(true); } },
|
|
673
|
+
React.createElement("span", { className: 'sr-only' }, "setting"),
|
|
674
|
+
React.createElement("span", { className: classNames(!openNavName
|
|
675
|
+
? 'group cursor-pointer p-4 hover:fixed hover:z-10 focus-visible:outline-none mt-0.5'
|
|
676
|
+
: 'flex gap-x-2 pl-[0.45rem]') },
|
|
677
|
+
React.createElement(FontAwesomeIcon, { className: 'h-[1.125rem] w-[1.125rem] mt-1', icon: 'fa-solid fa-gear' }),
|
|
678
|
+
openNavName && (React.createElement("div", { className: 'h-6' },
|
|
679
|
+
React.createElement("p", { className: "transition-all h-full duration-300 text-[0.86rem] setting-text-color mt-0.5 ".concat(openNavName ? 'opacity-100' : 'opacity-0', " ").concat(isSettings() ? 'font-semibold' : '', " ") }, "C\u00E0i \u0111\u1EB7t")))))))),
|
|
680
|
+
!hiddenLeftMenu && (React.createElement(Transition, { as: Fragment, enter: 'transition ease-in-out duration-300 transform', enterFrom: '-translate-x-full', enterTo: 'translate-x-0', leave: 'transition ease-in-out duration-300 transform', leaveFrom: 'translate-x-0', leaveTo: '-translate-x-full', show: openSubMenu },
|
|
681
|
+
React.createElement("aside", { className: 'z-9 fixed ml-[3.438rem] hidden h-full bg-[#ebebeb] lg:block lg:flex-shrink-0' },
|
|
682
|
+
React.createElement("div", { className: 'relative flex h-full w-64 flex-col overflow-y-auto border-r border-gray-200 bg-[#ebebeb]' },
|
|
683
|
+
checkAdmissions(pathNameWithBasePath) &&
|
|
684
|
+
checkChildrenCampaign(pathNameWithBasePath) &&
|
|
685
|
+
pathNameWithBasePath !== '/admissions/campaign/list' && (React.createElement("div", { className: 'mx-1 flex items-center p-2 pb-0' },
|
|
686
|
+
React.createElement("button", { className: 'inline-flex items-center rounded-lg border-gray-300 bg-transparent mr-1 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' },
|
|
687
|
+
React.createElement(ArrowLeftIcon, { className: 'h-5 w-5' })),
|
|
688
|
+
React.createElement("p", { className: 'font-medium text-sm text-slate-600' }, campaignName))),
|
|
689
|
+
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,
|
|
690
|
+
React.createElement("div", { "aria-hidden": true, "aria-current": (item === null || item === void 0 ? void 0 : item.current) ? 'page' : undefined, className: classNames((item === null || item === void 0 ? void 0 : item.current)
|
|
691
|
+
? 'rounded-lg bg-white' // màu background menu cha khi active
|
|
692
|
+
: 'hover:rounded-lg hover:bg-white hover:bg-opacity-50', // màu background khi hover vào menu cha
|
|
693
|
+
'mx-1 flex cursor-pointer border-slate-200 p-2'), onClick: function () { return subNavigationTriggerClicked(item); } }, !loadingMenu ? (React.createElement("div", { className: 'ml-1 text-[0.84rem] flex items-center' },
|
|
694
|
+
React.createElement("div", { className: 'flex items-center gap-x-3' },
|
|
695
|
+
React.createElement("p", { className: classNames('leading-5', (item === null || item === void 0 ? void 0 : item.current) ? 'font-semibold' : 'font-medium text-gray-800') }, item === null || item === void 0 ? void 0 : item.name)),
|
|
696
|
+
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' }))),
|
|
697
|
+
item.showChild && item.child && (React.createElement(React.Fragment, null, item.child.map(function (children, childIndex) { return (React.createElement("div", { key: childIndex, className: classNames('relative') },
|
|
698
|
+
React.createElement("div", { style: (children === null || children === void 0 ? void 0 : children.current)
|
|
699
|
+
? styles.childMenuActiveBefore
|
|
700
|
+
: checkChildBefore(item.child, children)
|
|
701
|
+
? styles.childMenuBefBefore
|
|
702
|
+
: {} }),
|
|
703
|
+
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)
|
|
704
|
+
? 'rounded-lg bg-white text-gray-900' // màu chữ menu con khi active
|
|
705
|
+
: 'hover:rounded-lg hover:bg-white hover:bg-opacity-50 hover:text-gray-900'), onClick: function () { return subNavigationTriggerClicked(children, item); } },
|
|
706
|
+
React.createElement("div", { className: 'flex items-center gap-x-3' },
|
|
707
|
+
React.createElement("div", { className: 'w-3' }),
|
|
708
|
+
React.createElement("p", { className: classNames('ml-3 leading-5 my-[0.05rem]', (children === null || children === void 0 ? void 0 : children.current) ? 'font-semibold' : 'text-gray-500 font-normal') }, children.name))),
|
|
709
|
+
React.createElement("div", { style: (children === null || children === void 0 ? void 0 : children.current)
|
|
710
|
+
? styles.childMenuActiveAfter
|
|
711
|
+
: checkChildBefore(item.child, children)
|
|
712
|
+
? styles.childMenuBefAfter
|
|
713
|
+
: {} }))); }))))) : (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)
|
|
714
|
+
? 'rounded-lg bg-white '
|
|
715
|
+
: 'hover:rounded-lg hover:bg-white hover:bg-opacity-50', // hover:bg-white
|
|
716
|
+
'mx-1 flex cursor-pointer border-slate-200 p-2') }, !loadingMenu ? (React.createElement("div", { className: 'ml-1 text-[0.84rem] flex items-center' },
|
|
717
|
+
React.createElement("div", { className: 'flex items-center gap-x-3 text-gray-700' },
|
|
718
|
+
React.createElement("p", { className: classNames('leading-5', (item === null || item === void 0 ? void 0 : item.current) ? 'font-semibold' : 'font-medium text-gray-300') }, item === null || item === void 0 ? void 0 : item.name)),
|
|
719
|
+
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,
|
|
720
|
+
React.createElement("div", { "aria-hidden": true, "aria-current": (item === null || item === void 0 ? void 0 : item.current) ? 'page' : undefined, className: classNames((item === null || item === void 0 ? void 0 : item.current)
|
|
721
|
+
? 'rounded-lg bg-white'
|
|
722
|
+
: '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 text-[0.84rem] flex items-center' },
|
|
723
|
+
React.createElement("div", { className: 'flex items-center gap-x-3 text-gray-700' },
|
|
724
|
+
React.createElement("p", { className: classNames('leading-5', (item === null || item === void 0 ? void 0 : item.current) ? 'font-semibold' : 'font-normal text-gray-500') }, item === null || item === void 0 ? void 0 : item.name)),
|
|
725
|
+
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' }))),
|
|
726
|
+
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') },
|
|
727
|
+
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)
|
|
728
|
+
? 'rounded-lg bg-white text-gray-900 '
|
|
729
|
+
: 'hover:rounded-lg hover:bg-white hover:bg-opacity-50 hover:text-gray-900'), onClick: function () { return subNavigationTriggerClicked(children, item); } },
|
|
730
|
+
React.createElement("div", { className: 'flex items-center gap-x-3' },
|
|
731
|
+
React.createElement("div", { className: 'w-3' }),
|
|
732
|
+
React.createElement("p", { className: classNames('ml-3 leading-5 my-[0.05rem]', (children === null || children === void 0 ? void 0 : children.current) ? 'font-semibold' : 'text-gray-500 font-normal') }, children.name))))); }))))))); }))))))))),
|
|
733
|
+
React.createElement("div", { className: 'flex min-w-0 flex-1 flex-col overflow-hidden' },
|
|
734
|
+
React.createElement("main", { className: 'flex flex-1 overflow-hidden' },
|
|
735
|
+
React.createElement("section", { "aria-labelledby": 'primary-heading', className: 'flex h-full min-w-0 flex-1 flex-col lg:order-last' },
|
|
736
|
+
React.createElement("div", { className: 'bg-bgcl-50 sticky top-0 z-10 flex h-14 flex-shrink-0 border-b border-l px-4 sm:px-6 lg:px-4' }),
|
|
737
|
+
React.createElement("div", { className: "".concat(openSubMenu ? 'lg:ml-[20.063rem]' : 'lg:ml-[5.063rem]', " bg-[#f1f1f1] px-6") },
|
|
738
|
+
React.createElement("div", { className: 'py-4' }, children))))))));
|
|
739
|
+
};
|
|
740
|
+
//# sourceMappingURL=MainWrapV3.js.map
|