sevago-sso-fe 1.0.8 → 1.0.10
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/components/index.d.ts +1 -0
- package/dist/components/sidebar/apps-sidebar.component.d.ts +7 -0
- package/dist/components/sidebar/index.d.ts +1 -0
- package/dist/hooks/index.d.ts +2 -1
- package/dist/hooks/use-apps.hook.d.ts +1 -1
- package/dist/hooks/user-sidebar.d.ts +1 -0
- package/dist/index.cjs.js +423 -494
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.esm.js +426 -497
- package/dist/index.esm.js.map +1 -1
- package/dist/pages/dashboard/parts/index.d.ts +1 -1
- package/dist/pages/dashboard/parts/monitor/index.d.ts +1 -0
- package/dist/pages/dashboard/parts/sidebar/index.d.ts +2 -0
- package/dist/pages/dashboard/parts/sidebar/sidebar.context.d.ts +10 -0
- package/dist/pages/dashboard/parts/sidebar/sidebar.provider.d.ts +4 -0
- package/package.json +4 -4
- /package/dist/pages/dashboard/parts/{monitor.part.d.ts → monitor/monitor.part.d.ts} +0 -0
package/dist/index.cjs.js
CHANGED
|
@@ -5,6 +5,7 @@ const toolkit = require("@reduxjs/toolkit");
|
|
|
5
5
|
const reactRedux = require("react-redux");
|
|
6
6
|
const React = require("react");
|
|
7
7
|
const reactRouterDom = require("react-router-dom");
|
|
8
|
+
const jsxRuntime = require("react/jsx-runtime");
|
|
8
9
|
const material = require("@mui/material");
|
|
9
10
|
const system = require("@mui/system");
|
|
10
11
|
const emStyled = require("@emotion/styled");
|
|
@@ -12805,8 +12806,10 @@ const truncateText = (text, maxLength = 27) => {
|
|
|
12805
12806
|
return `${text.substring(0, maxLength)}...`;
|
|
12806
12807
|
};
|
|
12807
12808
|
const timeUtils = timeUtilsMethods;
|
|
12808
|
-
const useApps = (tab) => {
|
|
12809
|
-
const userType = reactRedux.useSelector(
|
|
12809
|
+
const useApps = (tab = AppCategory.ALL) => {
|
|
12810
|
+
const userType = reactRedux.useSelector(
|
|
12811
|
+
(state) => state.account.user?.type
|
|
12812
|
+
);
|
|
12810
12813
|
const listApp = React.useMemo(() => {
|
|
12811
12814
|
let filteredApps = SYSTEM_MODULES.filter((app2) => {
|
|
12812
12815
|
return app2.allowUserTypes.includes(userType);
|
|
@@ -12823,8 +12826,21 @@ const useIsSystemMonitor = () => {
|
|
|
12823
12826
|
const normalize = (p) => p.replace(/\/+$/, "");
|
|
12824
12827
|
return normalize(location2.pathname) === normalize(PAGE.DASHBOARD.path);
|
|
12825
12828
|
};
|
|
12829
|
+
const useAllApps = () => {
|
|
12830
|
+
const userType = reactRedux.useSelector(
|
|
12831
|
+
(state) => state.account.user?.type
|
|
12832
|
+
);
|
|
12833
|
+
const allApps = React.useMemo(() => {
|
|
12834
|
+
return SYSTEM_MODULES.filter((app2) => {
|
|
12835
|
+
return app2.allowUserTypes.includes(userType);
|
|
12836
|
+
});
|
|
12837
|
+
}, [userType]);
|
|
12838
|
+
return allApps;
|
|
12839
|
+
};
|
|
12826
12840
|
const useActiveSidebar = () => {
|
|
12827
|
-
const { user, current_access } = reactRedux.useSelector(
|
|
12841
|
+
const { user, current_access } = reactRedux.useSelector(
|
|
12842
|
+
(state) => state.account
|
|
12843
|
+
);
|
|
12828
12844
|
const activeSidebar = React.useMemo(() => {
|
|
12829
12845
|
return SYSTEM_MODULES.find(
|
|
12830
12846
|
(it) => it.key === current_access && user && (it.allowUserTypes ? it.allowUserTypes.includes(user?.type) : true)
|
|
@@ -12832,323 +12848,18 @@ const useActiveSidebar = () => {
|
|
|
12832
12848
|
}, [current_access, user]);
|
|
12833
12849
|
return activeSidebar;
|
|
12834
12850
|
};
|
|
12835
|
-
|
|
12836
|
-
|
|
12837
|
-
|
|
12838
|
-
|
|
12839
|
-
|
|
12840
|
-
|
|
12841
|
-
|
|
12842
|
-
|
|
12843
|
-
|
|
12844
|
-
|
|
12845
|
-
|
|
12846
|
-
|
|
12847
|
-
function requireReactJsxRuntime_production() {
|
|
12848
|
-
if (hasRequiredReactJsxRuntime_production) return reactJsxRuntime_production;
|
|
12849
|
-
hasRequiredReactJsxRuntime_production = 1;
|
|
12850
|
-
var REACT_ELEMENT_TYPE2 = Symbol.for("react.transitional.element"), REACT_FRAGMENT_TYPE = Symbol.for("react.fragment");
|
|
12851
|
-
function jsxProd(type, config, maybeKey) {
|
|
12852
|
-
var key = null;
|
|
12853
|
-
void 0 !== maybeKey && (key = "" + maybeKey);
|
|
12854
|
-
void 0 !== config.key && (key = "" + config.key);
|
|
12855
|
-
if ("key" in config) {
|
|
12856
|
-
maybeKey = {};
|
|
12857
|
-
for (var propName in config)
|
|
12858
|
-
"key" !== propName && (maybeKey[propName] = config[propName]);
|
|
12859
|
-
} else maybeKey = config;
|
|
12860
|
-
config = maybeKey.ref;
|
|
12861
|
-
return {
|
|
12862
|
-
$$typeof: REACT_ELEMENT_TYPE2,
|
|
12863
|
-
type,
|
|
12864
|
-
key,
|
|
12865
|
-
ref: void 0 !== config ? config : null,
|
|
12866
|
-
props: maybeKey
|
|
12867
|
-
};
|
|
12868
|
-
}
|
|
12869
|
-
reactJsxRuntime_production.Fragment = REACT_FRAGMENT_TYPE;
|
|
12870
|
-
reactJsxRuntime_production.jsx = jsxProd;
|
|
12871
|
-
reactJsxRuntime_production.jsxs = jsxProd;
|
|
12872
|
-
return reactJsxRuntime_production;
|
|
12873
|
-
}
|
|
12874
|
-
var reactJsxRuntime_development = {};
|
|
12875
|
-
/**
|
|
12876
|
-
* @license React
|
|
12877
|
-
* react-jsx-runtime.development.js
|
|
12878
|
-
*
|
|
12879
|
-
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
12880
|
-
*
|
|
12881
|
-
* This source code is licensed under the MIT license found in the
|
|
12882
|
-
* LICENSE file in the root directory of this source tree.
|
|
12883
|
-
*/
|
|
12884
|
-
var hasRequiredReactJsxRuntime_development;
|
|
12885
|
-
function requireReactJsxRuntime_development() {
|
|
12886
|
-
if (hasRequiredReactJsxRuntime_development) return reactJsxRuntime_development;
|
|
12887
|
-
hasRequiredReactJsxRuntime_development = 1;
|
|
12888
|
-
"production" !== process.env.NODE_ENV && (function() {
|
|
12889
|
-
function getComponentNameFromType(type) {
|
|
12890
|
-
if (null == type) return null;
|
|
12891
|
-
if ("function" === typeof type)
|
|
12892
|
-
return type.$$typeof === REACT_CLIENT_REFERENCE ? null : type.displayName || type.name || null;
|
|
12893
|
-
if ("string" === typeof type) return type;
|
|
12894
|
-
switch (type) {
|
|
12895
|
-
case REACT_FRAGMENT_TYPE:
|
|
12896
|
-
return "Fragment";
|
|
12897
|
-
case REACT_PROFILER_TYPE:
|
|
12898
|
-
return "Profiler";
|
|
12899
|
-
case REACT_STRICT_MODE_TYPE:
|
|
12900
|
-
return "StrictMode";
|
|
12901
|
-
case REACT_SUSPENSE_TYPE:
|
|
12902
|
-
return "Suspense";
|
|
12903
|
-
case REACT_SUSPENSE_LIST_TYPE:
|
|
12904
|
-
return "SuspenseList";
|
|
12905
|
-
case REACT_ACTIVITY_TYPE:
|
|
12906
|
-
return "Activity";
|
|
12907
|
-
}
|
|
12908
|
-
if ("object" === typeof type)
|
|
12909
|
-
switch ("number" === typeof type.tag && console.error(
|
|
12910
|
-
"Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue."
|
|
12911
|
-
), type.$$typeof) {
|
|
12912
|
-
case REACT_PORTAL_TYPE:
|
|
12913
|
-
return "Portal";
|
|
12914
|
-
case REACT_CONTEXT_TYPE:
|
|
12915
|
-
return type.displayName || "Context";
|
|
12916
|
-
case REACT_CONSUMER_TYPE:
|
|
12917
|
-
return (type._context.displayName || "Context") + ".Consumer";
|
|
12918
|
-
case REACT_FORWARD_REF_TYPE:
|
|
12919
|
-
var innerType = type.render;
|
|
12920
|
-
type = type.displayName;
|
|
12921
|
-
type || (type = innerType.displayName || innerType.name || "", type = "" !== type ? "ForwardRef(" + type + ")" : "ForwardRef");
|
|
12922
|
-
return type;
|
|
12923
|
-
case REACT_MEMO_TYPE:
|
|
12924
|
-
return innerType = type.displayName || null, null !== innerType ? innerType : getComponentNameFromType(type.type) || "Memo";
|
|
12925
|
-
case REACT_LAZY_TYPE:
|
|
12926
|
-
innerType = type._payload;
|
|
12927
|
-
type = type._init;
|
|
12928
|
-
try {
|
|
12929
|
-
return getComponentNameFromType(type(innerType));
|
|
12930
|
-
} catch (x) {
|
|
12931
|
-
}
|
|
12932
|
-
}
|
|
12933
|
-
return null;
|
|
12934
|
-
}
|
|
12935
|
-
function testStringCoercion(value2) {
|
|
12936
|
-
return "" + value2;
|
|
12937
|
-
}
|
|
12938
|
-
function checkKeyStringCoercion(value2) {
|
|
12939
|
-
try {
|
|
12940
|
-
testStringCoercion(value2);
|
|
12941
|
-
var JSCompiler_inline_result = false;
|
|
12942
|
-
} catch (e) {
|
|
12943
|
-
JSCompiler_inline_result = true;
|
|
12944
|
-
}
|
|
12945
|
-
if (JSCompiler_inline_result) {
|
|
12946
|
-
JSCompiler_inline_result = console;
|
|
12947
|
-
var JSCompiler_temp_const = JSCompiler_inline_result.error;
|
|
12948
|
-
var JSCompiler_inline_result$jscomp$0 = "function" === typeof Symbol && Symbol.toStringTag && value2[Symbol.toStringTag] || value2.constructor.name || "Object";
|
|
12949
|
-
JSCompiler_temp_const.call(
|
|
12950
|
-
JSCompiler_inline_result,
|
|
12951
|
-
"The provided key is an unsupported type %s. This value must be coerced to a string before using it here.",
|
|
12952
|
-
JSCompiler_inline_result$jscomp$0
|
|
12953
|
-
);
|
|
12954
|
-
return testStringCoercion(value2);
|
|
12955
|
-
}
|
|
12956
|
-
}
|
|
12957
|
-
function getTaskName(type) {
|
|
12958
|
-
if (type === REACT_FRAGMENT_TYPE) return "<>";
|
|
12959
|
-
if ("object" === typeof type && null !== type && type.$$typeof === REACT_LAZY_TYPE)
|
|
12960
|
-
return "<...>";
|
|
12961
|
-
try {
|
|
12962
|
-
var name2 = getComponentNameFromType(type);
|
|
12963
|
-
return name2 ? "<" + name2 + ">" : "<...>";
|
|
12964
|
-
} catch (x) {
|
|
12965
|
-
return "<...>";
|
|
12966
|
-
}
|
|
12967
|
-
}
|
|
12968
|
-
function getOwner() {
|
|
12969
|
-
var dispatcher = ReactSharedInternals.A;
|
|
12970
|
-
return null === dispatcher ? null : dispatcher.getOwner();
|
|
12971
|
-
}
|
|
12972
|
-
function UnknownOwner() {
|
|
12973
|
-
return Error("react-stack-top-frame");
|
|
12974
|
-
}
|
|
12975
|
-
function hasValidKey(config) {
|
|
12976
|
-
if (hasOwnProperty2.call(config, "key")) {
|
|
12977
|
-
var getter = Object.getOwnPropertyDescriptor(config, "key").get;
|
|
12978
|
-
if (getter && getter.isReactWarning) return false;
|
|
12979
|
-
}
|
|
12980
|
-
return void 0 !== config.key;
|
|
12981
|
-
}
|
|
12982
|
-
function defineKeyPropWarningGetter(props, displayName) {
|
|
12983
|
-
function warnAboutAccessingKey() {
|
|
12984
|
-
specialPropKeyWarningShown || (specialPropKeyWarningShown = true, console.error(
|
|
12985
|
-
"%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://react.dev/link/special-props)",
|
|
12986
|
-
displayName
|
|
12987
|
-
));
|
|
12988
|
-
}
|
|
12989
|
-
warnAboutAccessingKey.isReactWarning = true;
|
|
12990
|
-
Object.defineProperty(props, "key", {
|
|
12991
|
-
get: warnAboutAccessingKey,
|
|
12992
|
-
configurable: true
|
|
12993
|
-
});
|
|
12994
|
-
}
|
|
12995
|
-
function elementRefGetterWithDeprecationWarning() {
|
|
12996
|
-
var componentName = getComponentNameFromType(this.type);
|
|
12997
|
-
didWarnAboutElementRef[componentName] || (didWarnAboutElementRef[componentName] = true, console.error(
|
|
12998
|
-
"Accessing element.ref was removed in React 19. ref is now a regular prop. It will be removed from the JSX Element type in a future release."
|
|
12999
|
-
));
|
|
13000
|
-
componentName = this.props.ref;
|
|
13001
|
-
return void 0 !== componentName ? componentName : null;
|
|
13002
|
-
}
|
|
13003
|
-
function ReactElement(type, key, props, owner, debugStack, debugTask) {
|
|
13004
|
-
var refProp = props.ref;
|
|
13005
|
-
type = {
|
|
13006
|
-
$$typeof: REACT_ELEMENT_TYPE2,
|
|
13007
|
-
type,
|
|
13008
|
-
key,
|
|
13009
|
-
props,
|
|
13010
|
-
_owner: owner
|
|
13011
|
-
};
|
|
13012
|
-
null !== (void 0 !== refProp ? refProp : null) ? Object.defineProperty(type, "ref", {
|
|
13013
|
-
enumerable: false,
|
|
13014
|
-
get: elementRefGetterWithDeprecationWarning
|
|
13015
|
-
}) : Object.defineProperty(type, "ref", { enumerable: false, value: null });
|
|
13016
|
-
type._store = {};
|
|
13017
|
-
Object.defineProperty(type._store, "validated", {
|
|
13018
|
-
configurable: false,
|
|
13019
|
-
enumerable: false,
|
|
13020
|
-
writable: true,
|
|
13021
|
-
value: 0
|
|
13022
|
-
});
|
|
13023
|
-
Object.defineProperty(type, "_debugInfo", {
|
|
13024
|
-
configurable: false,
|
|
13025
|
-
enumerable: false,
|
|
13026
|
-
writable: true,
|
|
13027
|
-
value: null
|
|
13028
|
-
});
|
|
13029
|
-
Object.defineProperty(type, "_debugStack", {
|
|
13030
|
-
configurable: false,
|
|
13031
|
-
enumerable: false,
|
|
13032
|
-
writable: true,
|
|
13033
|
-
value: debugStack
|
|
13034
|
-
});
|
|
13035
|
-
Object.defineProperty(type, "_debugTask", {
|
|
13036
|
-
configurable: false,
|
|
13037
|
-
enumerable: false,
|
|
13038
|
-
writable: true,
|
|
13039
|
-
value: debugTask
|
|
13040
|
-
});
|
|
13041
|
-
Object.freeze && (Object.freeze(type.props), Object.freeze(type));
|
|
13042
|
-
return type;
|
|
13043
|
-
}
|
|
13044
|
-
function jsxDEVImpl(type, config, maybeKey, isStaticChildren, debugStack, debugTask) {
|
|
13045
|
-
var children = config.children;
|
|
13046
|
-
if (void 0 !== children)
|
|
13047
|
-
if (isStaticChildren)
|
|
13048
|
-
if (isArrayImpl(children)) {
|
|
13049
|
-
for (isStaticChildren = 0; isStaticChildren < children.length; isStaticChildren++)
|
|
13050
|
-
validateChildKeys(children[isStaticChildren]);
|
|
13051
|
-
Object.freeze && Object.freeze(children);
|
|
13052
|
-
} else
|
|
13053
|
-
console.error(
|
|
13054
|
-
"React.jsx: Static children should always be an array. You are likely explicitly calling React.jsxs or React.jsxDEV. Use the Babel transform instead."
|
|
13055
|
-
);
|
|
13056
|
-
else validateChildKeys(children);
|
|
13057
|
-
if (hasOwnProperty2.call(config, "key")) {
|
|
13058
|
-
children = getComponentNameFromType(type);
|
|
13059
|
-
var keys2 = Object.keys(config).filter(function(k) {
|
|
13060
|
-
return "key" !== k;
|
|
13061
|
-
});
|
|
13062
|
-
isStaticChildren = 0 < keys2.length ? "{key: someKey, " + keys2.join(": ..., ") + ": ...}" : "{key: someKey}";
|
|
13063
|
-
didWarnAboutKeySpread[children + isStaticChildren] || (keys2 = 0 < keys2.length ? "{" + keys2.join(": ..., ") + ": ...}" : "{}", console.error(
|
|
13064
|
-
'A props object containing a "key" prop is being spread into JSX:\n let props = %s;\n <%s {...props} />\nReact keys must be passed directly to JSX without using spread:\n let props = %s;\n <%s key={someKey} {...props} />',
|
|
13065
|
-
isStaticChildren,
|
|
13066
|
-
children,
|
|
13067
|
-
keys2,
|
|
13068
|
-
children
|
|
13069
|
-
), didWarnAboutKeySpread[children + isStaticChildren] = true);
|
|
13070
|
-
}
|
|
13071
|
-
children = null;
|
|
13072
|
-
void 0 !== maybeKey && (checkKeyStringCoercion(maybeKey), children = "" + maybeKey);
|
|
13073
|
-
hasValidKey(config) && (checkKeyStringCoercion(config.key), children = "" + config.key);
|
|
13074
|
-
if ("key" in config) {
|
|
13075
|
-
maybeKey = {};
|
|
13076
|
-
for (var propName in config)
|
|
13077
|
-
"key" !== propName && (maybeKey[propName] = config[propName]);
|
|
13078
|
-
} else maybeKey = config;
|
|
13079
|
-
children && defineKeyPropWarningGetter(
|
|
13080
|
-
maybeKey,
|
|
13081
|
-
"function" === typeof type ? type.displayName || type.name || "Unknown" : type
|
|
13082
|
-
);
|
|
13083
|
-
return ReactElement(
|
|
13084
|
-
type,
|
|
13085
|
-
children,
|
|
13086
|
-
maybeKey,
|
|
13087
|
-
getOwner(),
|
|
13088
|
-
debugStack,
|
|
13089
|
-
debugTask
|
|
13090
|
-
);
|
|
13091
|
-
}
|
|
13092
|
-
function validateChildKeys(node) {
|
|
13093
|
-
isValidElement(node) ? node._store && (node._store.validated = 1) : "object" === typeof node && null !== node && node.$$typeof === REACT_LAZY_TYPE && ("fulfilled" === node._payload.status ? isValidElement(node._payload.value) && node._payload.value._store && (node._payload.value._store.validated = 1) : node._store && (node._store.validated = 1));
|
|
13094
|
-
}
|
|
13095
|
-
function isValidElement(object2) {
|
|
13096
|
-
return "object" === typeof object2 && null !== object2 && object2.$$typeof === REACT_ELEMENT_TYPE2;
|
|
13097
|
-
}
|
|
13098
|
-
var React$1 = React, REACT_ELEMENT_TYPE2 = Symbol.for("react.transitional.element"), REACT_PORTAL_TYPE = Symbol.for("react.portal"), REACT_FRAGMENT_TYPE = Symbol.for("react.fragment"), REACT_STRICT_MODE_TYPE = Symbol.for("react.strict_mode"), REACT_PROFILER_TYPE = Symbol.for("react.profiler"), REACT_CONSUMER_TYPE = Symbol.for("react.consumer"), REACT_CONTEXT_TYPE = Symbol.for("react.context"), REACT_FORWARD_REF_TYPE = Symbol.for("react.forward_ref"), REACT_SUSPENSE_TYPE = Symbol.for("react.suspense"), REACT_SUSPENSE_LIST_TYPE = Symbol.for("react.suspense_list"), REACT_MEMO_TYPE = Symbol.for("react.memo"), REACT_LAZY_TYPE = Symbol.for("react.lazy"), REACT_ACTIVITY_TYPE = Symbol.for("react.activity"), REACT_CLIENT_REFERENCE = Symbol.for("react.client.reference"), ReactSharedInternals = React$1.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE, hasOwnProperty2 = Object.prototype.hasOwnProperty, isArrayImpl = Array.isArray, createTask = console.createTask ? console.createTask : function() {
|
|
13099
|
-
return null;
|
|
13100
|
-
};
|
|
13101
|
-
React$1 = {
|
|
13102
|
-
react_stack_bottom_frame: function(callStackForError) {
|
|
13103
|
-
return callStackForError();
|
|
13104
|
-
}
|
|
13105
|
-
};
|
|
13106
|
-
var specialPropKeyWarningShown;
|
|
13107
|
-
var didWarnAboutElementRef = {};
|
|
13108
|
-
var unknownOwnerDebugStack = React$1.react_stack_bottom_frame.bind(
|
|
13109
|
-
React$1,
|
|
13110
|
-
UnknownOwner
|
|
13111
|
-
)();
|
|
13112
|
-
var unknownOwnerDebugTask = createTask(getTaskName(UnknownOwner));
|
|
13113
|
-
var didWarnAboutKeySpread = {};
|
|
13114
|
-
reactJsxRuntime_development.Fragment = REACT_FRAGMENT_TYPE;
|
|
13115
|
-
reactJsxRuntime_development.jsx = function(type, config, maybeKey) {
|
|
13116
|
-
var trackActualOwner = 1e4 > ReactSharedInternals.recentlyCreatedOwnerStacks++;
|
|
13117
|
-
return jsxDEVImpl(
|
|
13118
|
-
type,
|
|
13119
|
-
config,
|
|
13120
|
-
maybeKey,
|
|
13121
|
-
false,
|
|
13122
|
-
trackActualOwner ? Error("react-stack-top-frame") : unknownOwnerDebugStack,
|
|
13123
|
-
trackActualOwner ? createTask(getTaskName(type)) : unknownOwnerDebugTask
|
|
13124
|
-
);
|
|
13125
|
-
};
|
|
13126
|
-
reactJsxRuntime_development.jsxs = function(type, config, maybeKey) {
|
|
13127
|
-
var trackActualOwner = 1e4 > ReactSharedInternals.recentlyCreatedOwnerStacks++;
|
|
13128
|
-
return jsxDEVImpl(
|
|
13129
|
-
type,
|
|
13130
|
-
config,
|
|
13131
|
-
maybeKey,
|
|
13132
|
-
true,
|
|
13133
|
-
trackActualOwner ? Error("react-stack-top-frame") : unknownOwnerDebugStack,
|
|
13134
|
-
trackActualOwner ? createTask(getTaskName(type)) : unknownOwnerDebugTask
|
|
13135
|
-
);
|
|
13136
|
-
};
|
|
13137
|
-
})();
|
|
13138
|
-
return reactJsxRuntime_development;
|
|
13139
|
-
}
|
|
13140
|
-
var hasRequiredJsxRuntime;
|
|
13141
|
-
function requireJsxRuntime() {
|
|
13142
|
-
if (hasRequiredJsxRuntime) return jsxRuntime.exports;
|
|
13143
|
-
hasRequiredJsxRuntime = 1;
|
|
13144
|
-
if (process.env.NODE_ENV === "production") {
|
|
13145
|
-
jsxRuntime.exports = requireReactJsxRuntime_production();
|
|
13146
|
-
} else {
|
|
13147
|
-
jsxRuntime.exports = requireReactJsxRuntime_development();
|
|
13148
|
-
}
|
|
13149
|
-
return jsxRuntime.exports;
|
|
13150
|
-
}
|
|
13151
|
-
var jsxRuntimeExports = requireJsxRuntime();
|
|
12851
|
+
const useSidebarState = () => {
|
|
12852
|
+
const [isSidebarOpen, setIsSidebarOpen] = React.useState(false);
|
|
12853
|
+
const openSidebar = () => setIsSidebarOpen(true);
|
|
12854
|
+
const closeSidebar = () => setIsSidebarOpen(false);
|
|
12855
|
+
const toggleSidebar = () => setIsSidebarOpen((prev) => !prev);
|
|
12856
|
+
return {
|
|
12857
|
+
isSidebarOpen,
|
|
12858
|
+
openSidebar,
|
|
12859
|
+
closeSidebar,
|
|
12860
|
+
toggleSidebar
|
|
12861
|
+
};
|
|
12862
|
+
};
|
|
13152
12863
|
var propTypes = { exports: {} };
|
|
13153
12864
|
var reactIs$2 = { exports: {} };
|
|
13154
12865
|
var reactIs_production_min$1 = {};
|
|
@@ -18227,7 +17938,7 @@ const useVersionCheck = (options) => {
|
|
|
18227
17938
|
}, [options?.interval]);
|
|
18228
17939
|
};
|
|
18229
17940
|
const AuthLayout = ({ children }) => {
|
|
18230
|
-
return /* @__PURE__ */
|
|
17941
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
18231
17942
|
material.Stack,
|
|
18232
17943
|
{
|
|
18233
17944
|
sx: {
|
|
@@ -18379,7 +18090,7 @@ var StatusAvatar = /* @__PURE__ */ ((StatusAvatar2) => {
|
|
|
18379
18090
|
return StatusAvatar2;
|
|
18380
18091
|
})(StatusAvatar || {});
|
|
18381
18092
|
const ImageWrapper = ({ isWrap = false, children }) => {
|
|
18382
|
-
return isWrap ? /* @__PURE__ */
|
|
18093
|
+
return isWrap ? /* @__PURE__ */ jsxRuntime.jsx(StackRow, { alignItems: "center", className: "jsdsdj", children }) : /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children });
|
|
18383
18094
|
};
|
|
18384
18095
|
const ImageElement = ({
|
|
18385
18096
|
url: url2,
|
|
@@ -18395,8 +18106,8 @@ const ImageElement = ({
|
|
|
18395
18106
|
const [loaded, setLoaded] = React.useState(false);
|
|
18396
18107
|
if (onClick) sx = { ...sx, cursor: "pointer" };
|
|
18397
18108
|
const borderRadius2 = sizeType === ImageSizeType.CIRCLE ? "50%" : sizeType === ImageSizeType.SQUARE ? STYLE.BORDER_RADIUS_ELEMENT_SMALL : 0;
|
|
18398
|
-
return /* @__PURE__ */
|
|
18399
|
-
!loaded && /* @__PURE__ */
|
|
18109
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(ImageWrapper, { isWrap, children: [
|
|
18110
|
+
!loaded && /* @__PURE__ */ jsxRuntime.jsx(
|
|
18400
18111
|
material.Skeleton,
|
|
18401
18112
|
{
|
|
18402
18113
|
variant: "rectangular",
|
|
@@ -18406,7 +18117,7 @@ const ImageElement = ({
|
|
|
18406
18117
|
}
|
|
18407
18118
|
}
|
|
18408
18119
|
),
|
|
18409
|
-
/* @__PURE__ */
|
|
18120
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
18410
18121
|
material.Box,
|
|
18411
18122
|
{
|
|
18412
18123
|
...rest,
|
|
@@ -18437,7 +18148,7 @@ const LogoComponent = ({
|
|
|
18437
18148
|
}) => {
|
|
18438
18149
|
const navigate = reactRouterDom.useNavigate();
|
|
18439
18150
|
const toHome = () => navigate(PAGE.DASHBOARD.path);
|
|
18440
|
-
return /* @__PURE__ */
|
|
18151
|
+
return /* @__PURE__ */ jsxRuntime.jsx(material.Box, { onClick: toHome, sx: { cursor: "pointer", height: height2, ...sx }, children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
18441
18152
|
ImageElement,
|
|
18442
18153
|
{
|
|
18443
18154
|
url: url2,
|
|
@@ -18473,7 +18184,7 @@ const IconElement = ({
|
|
|
18473
18184
|
},
|
|
18474
18185
|
...sx
|
|
18475
18186
|
};
|
|
18476
|
-
return /* @__PURE__ */
|
|
18187
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
18477
18188
|
material.Icon,
|
|
18478
18189
|
{
|
|
18479
18190
|
onClick,
|
|
@@ -18490,7 +18201,7 @@ const IconElement = ({
|
|
|
18490
18201
|
}
|
|
18491
18202
|
);
|
|
18492
18203
|
};
|
|
18493
|
-
const ArrowTooltip = emStyled(({ className, ...props }) => /* @__PURE__ */
|
|
18204
|
+
const ArrowTooltip = emStyled(({ className, ...props }) => /* @__PURE__ */ jsxRuntime.jsx(material.Tooltip, { ...props, arrow: true, classes: { popper: className } }))(() => ({
|
|
18494
18205
|
[`& .${material.tooltipClasses.arrow}`]: {
|
|
18495
18206
|
color: "white"
|
|
18496
18207
|
}
|
|
@@ -18503,7 +18214,7 @@ const AvatarElement = ({
|
|
|
18503
18214
|
...rest
|
|
18504
18215
|
}) => {
|
|
18505
18216
|
if (tooltipContent) {
|
|
18506
|
-
return /* @__PURE__ */
|
|
18217
|
+
return /* @__PURE__ */ jsxRuntime.jsx(ArrowTooltip, { title: tooltipContent, arrow: true, children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
18507
18218
|
material.Avatar,
|
|
18508
18219
|
{
|
|
18509
18220
|
...rest,
|
|
@@ -18512,13 +18223,13 @@ const AvatarElement = ({
|
|
|
18512
18223
|
}
|
|
18513
18224
|
) });
|
|
18514
18225
|
}
|
|
18515
|
-
return /* @__PURE__ */
|
|
18226
|
+
return /* @__PURE__ */ jsxRuntime.jsx(material.Avatar, { ...rest, src: url2 || "", sx: { ...MAP_SIZE[size], bgcolor: "primary.main", ...sx, cursor: "pointer" } });
|
|
18516
18227
|
};
|
|
18517
18228
|
const TimeAgoComponent = ({
|
|
18518
18229
|
time: time2,
|
|
18519
18230
|
hasText
|
|
18520
18231
|
}) => {
|
|
18521
|
-
return /* @__PURE__ */
|
|
18232
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
18522
18233
|
material.Typography,
|
|
18523
18234
|
{
|
|
18524
18235
|
variant: "caption",
|
|
@@ -18528,7 +18239,7 @@ const TimeAgoComponent = ({
|
|
|
18528
18239
|
);
|
|
18529
18240
|
};
|
|
18530
18241
|
const TimeAgoContentComponent = ({ time: time2, content, height: height2 = STYLE.HEIGHT_IMAGE_DEFAULT }) => {
|
|
18531
|
-
return /* @__PURE__ */
|
|
18242
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
18532
18243
|
system.Stack,
|
|
18533
18244
|
{
|
|
18534
18245
|
sx: {
|
|
@@ -18538,7 +18249,7 @@ const TimeAgoContentComponent = ({ time: time2, content, height: height2 = STYLE
|
|
|
18538
18249
|
alignItems: "flex-start"
|
|
18539
18250
|
},
|
|
18540
18251
|
children: [
|
|
18541
|
-
/* @__PURE__ */
|
|
18252
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
18542
18253
|
material.Typography,
|
|
18543
18254
|
{
|
|
18544
18255
|
sx: {
|
|
@@ -18547,7 +18258,7 @@ const TimeAgoContentComponent = ({ time: time2, content, height: height2 = STYLE
|
|
|
18547
18258
|
children: content
|
|
18548
18259
|
}
|
|
18549
18260
|
),
|
|
18550
|
-
/* @__PURE__ */
|
|
18261
|
+
/* @__PURE__ */ jsxRuntime.jsx(TimeAgoComponent, { time: time2 })
|
|
18551
18262
|
]
|
|
18552
18263
|
}
|
|
18553
18264
|
);
|
|
@@ -18558,9 +18269,9 @@ const ImageContentTimeComponent = ({
|
|
|
18558
18269
|
time: time2,
|
|
18559
18270
|
sizeType = "medium"
|
|
18560
18271
|
}) => {
|
|
18561
|
-
return /* @__PURE__ */
|
|
18562
|
-
/* @__PURE__ */
|
|
18563
|
-
/* @__PURE__ */
|
|
18272
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(StackRow, { alignItems: "center", children: [
|
|
18273
|
+
/* @__PURE__ */ jsxRuntime.jsx(AvatarElement, { url: url2, size: sizeType }),
|
|
18274
|
+
/* @__PURE__ */ jsxRuntime.jsx(TimeAgoContentComponent, { content, time: time2 })
|
|
18564
18275
|
] });
|
|
18565
18276
|
};
|
|
18566
18277
|
const TooltipOnClickElement = ({
|
|
@@ -18575,7 +18286,7 @@ const TooltipOnClickElement = ({
|
|
|
18575
18286
|
}) => {
|
|
18576
18287
|
return (
|
|
18577
18288
|
// Chỗ này có thể là bug, onClickAway apply ngay cả khi component chưa được render
|
|
18578
|
-
/* @__PURE__ */
|
|
18289
|
+
/* @__PURE__ */ jsxRuntime.jsx(material.ClickAwayListener, { onClickAway, children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
18579
18290
|
material.Tooltip,
|
|
18580
18291
|
{
|
|
18581
18292
|
PopperProps: { disablePortal: true },
|
|
@@ -18588,13 +18299,13 @@ const TooltipOnClickElement = ({
|
|
|
18588
18299
|
placement,
|
|
18589
18300
|
title: content,
|
|
18590
18301
|
...rest,
|
|
18591
|
-
children: /* @__PURE__ */
|
|
18302
|
+
children: /* @__PURE__ */ jsxRuntime.jsx("span", { children })
|
|
18592
18303
|
}
|
|
18593
18304
|
) })
|
|
18594
18305
|
);
|
|
18595
18306
|
};
|
|
18596
18307
|
const EmptyComponent = ({}) => {
|
|
18597
|
-
return /* @__PURE__ */
|
|
18308
|
+
return /* @__PURE__ */ jsxRuntime.jsx(material.Fade, { in: true, timeout: STYLE.ANIMATION_TIME, children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
18598
18309
|
material.Stack,
|
|
18599
18310
|
{
|
|
18600
18311
|
direction: "column",
|
|
@@ -18605,7 +18316,7 @@ const EmptyComponent = ({}) => {
|
|
|
18605
18316
|
justifyContent: "center",
|
|
18606
18317
|
padding: STYLE.PADDING_GAP_ITEM
|
|
18607
18318
|
},
|
|
18608
|
-
children: /* @__PURE__ */
|
|
18319
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(material.Box, { component: "img", sx: { width: 70 }, src: "/images/empty.svg" })
|
|
18609
18320
|
}
|
|
18610
18321
|
) });
|
|
18611
18322
|
};
|
|
@@ -18807,7 +18518,7 @@ const CircularProgress = /* @__PURE__ */ React__namespace.forwardRef(function Ci
|
|
|
18807
18518
|
circleStyle.strokeDashoffset = `${((100 - value2) / 100 * circumference).toFixed(3)}px`;
|
|
18808
18519
|
rootStyle.transform = "rotate(-90deg)";
|
|
18809
18520
|
}
|
|
18810
|
-
return /* @__PURE__ */
|
|
18521
|
+
return /* @__PURE__ */ jsxRuntime.jsx(CircularProgressRoot, {
|
|
18811
18522
|
className: clsx(classes.root, className),
|
|
18812
18523
|
style: {
|
|
18813
18524
|
width: size,
|
|
@@ -18820,11 +18531,11 @@ const CircularProgress = /* @__PURE__ */ React__namespace.forwardRef(function Ci
|
|
|
18820
18531
|
role: "progressbar",
|
|
18821
18532
|
...rootProps,
|
|
18822
18533
|
...other,
|
|
18823
|
-
children: /* @__PURE__ */
|
|
18534
|
+
children: /* @__PURE__ */ jsxRuntime.jsxs(CircularProgressSVG, {
|
|
18824
18535
|
className: classes.svg,
|
|
18825
18536
|
ownerState,
|
|
18826
18537
|
viewBox: `${SIZE / 2} ${SIZE / 2} ${SIZE} ${SIZE}`,
|
|
18827
|
-
children: [enableTrackSlot ? /* @__PURE__ */
|
|
18538
|
+
children: [enableTrackSlot ? /* @__PURE__ */ jsxRuntime.jsx(CircularProgressTrack, {
|
|
18828
18539
|
className: classes.track,
|
|
18829
18540
|
ownerState,
|
|
18830
18541
|
cx: SIZE,
|
|
@@ -18833,7 +18544,7 @@ const CircularProgress = /* @__PURE__ */ React__namespace.forwardRef(function Ci
|
|
|
18833
18544
|
fill: "none",
|
|
18834
18545
|
strokeWidth: thickness,
|
|
18835
18546
|
"aria-hidden": "true"
|
|
18836
|
-
}) : null, /* @__PURE__ */
|
|
18547
|
+
}) : null, /* @__PURE__ */ jsxRuntime.jsx(CircularProgressCircle, {
|
|
18837
18548
|
className: classes.circle,
|
|
18838
18549
|
style: circleStyle,
|
|
18839
18550
|
ownerState,
|
|
@@ -18917,7 +18628,7 @@ process.env.NODE_ENV !== "production" ? CircularProgress.propTypes = {
|
|
|
18917
18628
|
variant: PropTypes.oneOf(["determinate", "indeterminate"])
|
|
18918
18629
|
} : void 0;
|
|
18919
18630
|
const LoadingComponent = ({ color: color2, size = "medium", sx = {} }) => {
|
|
18920
|
-
return /* @__PURE__ */
|
|
18631
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
18921
18632
|
material.Stack,
|
|
18922
18633
|
{
|
|
18923
18634
|
sx: {
|
|
@@ -18926,7 +18637,7 @@ const LoadingComponent = ({ color: color2, size = "medium", sx = {} }) => {
|
|
|
18926
18637
|
alignItems: "center",
|
|
18927
18638
|
justifyContent: "center"
|
|
18928
18639
|
},
|
|
18929
|
-
children: /* @__PURE__ */
|
|
18640
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(CircularProgress, { size: STYLE.FONT_SIZE_LOADING[size], sx: { color: color2 } })
|
|
18930
18641
|
}
|
|
18931
18642
|
);
|
|
18932
18643
|
};
|
|
@@ -18978,13 +18689,13 @@ const BellComponent = ({}) => {
|
|
|
18978
18689
|
showSnackbar({ message: getErrorMessage(error), type: SnackbarType.ERROR });
|
|
18979
18690
|
}
|
|
18980
18691
|
};
|
|
18981
|
-
return /* @__PURE__ */
|
|
18692
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
18982
18693
|
TooltipOnClickElement,
|
|
18983
18694
|
{
|
|
18984
18695
|
open,
|
|
18985
18696
|
onClickAway: () => setOpen(false),
|
|
18986
18697
|
placement: "bottom-end",
|
|
18987
|
-
content: /* @__PURE__ */
|
|
18698
|
+
content: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
18988
18699
|
material.List,
|
|
18989
18700
|
{
|
|
18990
18701
|
sx: {
|
|
@@ -18997,7 +18708,7 @@ const BellComponent = ({}) => {
|
|
|
18997
18708
|
width: "300px"
|
|
18998
18709
|
},
|
|
18999
18710
|
children: [
|
|
19000
|
-
/* @__PURE__ */
|
|
18711
|
+
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
19001
18712
|
material.ListItem,
|
|
19002
18713
|
{
|
|
19003
18714
|
sx: {
|
|
@@ -19012,9 +18723,9 @@ const BellComponent = ({}) => {
|
|
|
19012
18723
|
zIndex: 1
|
|
19013
18724
|
},
|
|
19014
18725
|
children: [
|
|
19015
|
-
/* @__PURE__ */
|
|
19016
|
-
/* @__PURE__ */
|
|
19017
|
-
/* @__PURE__ */
|
|
18726
|
+
/* @__PURE__ */ jsxRuntime.jsx(material.Typography, { variant: "subtitle1", children: "Thông báo" }),
|
|
18727
|
+
/* @__PURE__ */ jsxRuntime.jsxs(StackRow, { children: [
|
|
18728
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
19018
18729
|
IconElement,
|
|
19019
18730
|
{
|
|
19020
18731
|
sx: { cursor: "pointer" },
|
|
@@ -19032,7 +18743,7 @@ const BellComponent = ({}) => {
|
|
|
19032
18743
|
}
|
|
19033
18744
|
}
|
|
19034
18745
|
),
|
|
19035
|
-
/* @__PURE__ */
|
|
18746
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
19036
18747
|
IconElement,
|
|
19037
18748
|
{
|
|
19038
18749
|
icon: "settings",
|
|
@@ -19045,7 +18756,7 @@ const BellComponent = ({}) => {
|
|
|
19045
18756
|
]
|
|
19046
18757
|
}
|
|
19047
18758
|
),
|
|
19048
|
-
loading ? /* @__PURE__ */
|
|
18759
|
+
loading ? /* @__PURE__ */ jsxRuntime.jsx(StackRowAlignCenter, { sx: { height: 50 }, children: /* @__PURE__ */ jsxRuntime.jsx(LoadingComponent, {}) }) : list.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx(EmptyComponent, {}) : list.map((notification) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
19049
18760
|
material.ListItem,
|
|
19050
18761
|
{
|
|
19051
18762
|
onClick: () => clickNotification(notification),
|
|
@@ -19063,8 +18774,8 @@ const BellComponent = ({}) => {
|
|
|
19063
18774
|
color: palette.primary.main
|
|
19064
18775
|
}
|
|
19065
18776
|
},
|
|
19066
|
-
children: /* @__PURE__ */
|
|
19067
|
-
/* @__PURE__ */
|
|
18777
|
+
children: /* @__PURE__ */ jsxRuntime.jsxs(material.Stack, { gap: 1, children: [
|
|
18778
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
19068
18779
|
ImageContentTimeComponent,
|
|
19069
18780
|
{
|
|
19070
18781
|
url: notification.createdBy?.url || "",
|
|
@@ -19072,7 +18783,7 @@ const BellComponent = ({}) => {
|
|
|
19072
18783
|
time: notification.createdAt
|
|
19073
18784
|
}
|
|
19074
18785
|
),
|
|
19075
|
-
/* @__PURE__ */
|
|
18786
|
+
/* @__PURE__ */ jsxRuntime.jsx(material.Typography, { variant: "caption", sx: { ...getLimitLineCss(2) }, children: notification.content })
|
|
19076
18787
|
] })
|
|
19077
18788
|
},
|
|
19078
18789
|
notification.id
|
|
@@ -19080,7 +18791,7 @@ const BellComponent = ({}) => {
|
|
|
19080
18791
|
]
|
|
19081
18792
|
}
|
|
19082
18793
|
),
|
|
19083
|
-
children: /* @__PURE__ */
|
|
18794
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
19084
18795
|
material.Badge,
|
|
19085
18796
|
{
|
|
19086
18797
|
onClick: async () => {
|
|
@@ -19090,7 +18801,7 @@ const BellComponent = ({}) => {
|
|
|
19090
18801
|
badgeContent: notificationCount,
|
|
19091
18802
|
color: "error",
|
|
19092
18803
|
sx: { cursor: "pointer" },
|
|
19093
|
-
children: /* @__PURE__ */
|
|
18804
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
19094
18805
|
IconElement,
|
|
19095
18806
|
{
|
|
19096
18807
|
icon: "notifications",
|
|
@@ -19119,10 +18830,10 @@ const AvatarUserInfo = ({
|
|
|
19119
18830
|
}) => {
|
|
19120
18831
|
const { palette } = material.useTheme();
|
|
19121
18832
|
const isSystemMonitor = useIsSystemMonitor();
|
|
19122
|
-
return /* @__PURE__ */
|
|
19123
|
-
/* @__PURE__ */
|
|
19124
|
-
positions.length > 0 ? /* @__PURE__ */
|
|
19125
|
-
/* @__PURE__ */
|
|
18833
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(StackRow, { sx: { alignItems: "center", gap: STYLE.PADDING_GAP_ITEM }, children: [
|
|
18834
|
+
/* @__PURE__ */ jsxRuntime.jsx(AvatarElement, { url: url2, size: sizeAvatar }),
|
|
18835
|
+
positions.length > 0 ? /* @__PURE__ */ jsxRuntime.jsxs(material.Stack, { sx: { gap: 0 }, children: [
|
|
18836
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
19126
18837
|
material.Typography,
|
|
19127
18838
|
{
|
|
19128
18839
|
sx: {
|
|
@@ -19136,7 +18847,7 @@ const AvatarUserInfo = ({
|
|
|
19136
18847
|
children: name2
|
|
19137
18848
|
}
|
|
19138
18849
|
),
|
|
19139
|
-
/* @__PURE__ */
|
|
18850
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
19140
18851
|
material.Typography,
|
|
19141
18852
|
{
|
|
19142
18853
|
variant: "caption",
|
|
@@ -19160,7 +18871,7 @@ const AvatarUserInfo = ({
|
|
|
19160
18871
|
children: positions.join(" / ")
|
|
19161
18872
|
}
|
|
19162
18873
|
)
|
|
19163
|
-
] }) : /* @__PURE__ */
|
|
18874
|
+
] }) : /* @__PURE__ */ jsxRuntime.jsx(material.Typography, { sx: { ...TYPOGRAPHY_STYLES.textSm.semiBold, ...getLimitLineCss(1), ...sxName }, children: name2 })
|
|
19164
18875
|
] });
|
|
19165
18876
|
};
|
|
19166
18877
|
const IconContentElement = ({
|
|
@@ -19182,15 +18893,15 @@ const IconContentElement = ({
|
|
|
19182
18893
|
...sx,
|
|
19183
18894
|
cursor: "pointer"
|
|
19184
18895
|
};
|
|
19185
|
-
return /* @__PURE__ */
|
|
18896
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
19186
18897
|
StackRowAlignCenter,
|
|
19187
18898
|
{
|
|
19188
18899
|
onClick,
|
|
19189
18900
|
sx: { gap: STYLE.GAP_ICON_CONTENT_BY_SIZE[size || "medium"], ...sx },
|
|
19190
18901
|
id: id2,
|
|
19191
18902
|
children: [
|
|
19192
|
-
icon && /* @__PURE__ */
|
|
19193
|
-
content && /* @__PURE__ */
|
|
18903
|
+
icon && /* @__PURE__ */ jsxRuntime.jsx(IconElement, { icon, sx: sxIcon, color: color2, fill }),
|
|
18904
|
+
content && /* @__PURE__ */ jsxRuntime.jsx(
|
|
19194
18905
|
material.Typography,
|
|
19195
18906
|
{
|
|
19196
18907
|
color: color2,
|
|
@@ -19223,8 +18934,8 @@ const RadioGroupElement = ({
|
|
|
19223
18934
|
const change = (event) => {
|
|
19224
18935
|
onChange && onChange({ target: { name: name2, value: event.target.value || void 0 } });
|
|
19225
18936
|
};
|
|
19226
|
-
return /* @__PURE__ */
|
|
19227
|
-
label && /* @__PURE__ */
|
|
18937
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(material.FormControl, { disabled, sx: { gap: STYLE.PADDING_GAP_ITEM }, onChange: change, children: [
|
|
18938
|
+
label && /* @__PURE__ */ jsxRuntime.jsx(
|
|
19228
18939
|
material.InputLabel,
|
|
19229
18940
|
{
|
|
19230
18941
|
shrink: true,
|
|
@@ -19234,13 +18945,13 @@ const RadioGroupElement = ({
|
|
|
19234
18945
|
zIndex: 2,
|
|
19235
18946
|
display: "flex"
|
|
19236
18947
|
},
|
|
19237
|
-
children: /* @__PURE__ */
|
|
19238
|
-
/* @__PURE__ */
|
|
18948
|
+
children: /* @__PURE__ */ jsxRuntime.jsxs(StackLabel, { children: [
|
|
18949
|
+
/* @__PURE__ */ jsxRuntime.jsx(IconElement, { icon: iconLabel, sx: { fontSize: STYLE.TEXT_FIELD.FONT_SIZE_LABEL } }),
|
|
19239
18950
|
label
|
|
19240
18951
|
] })
|
|
19241
18952
|
}
|
|
19242
18953
|
),
|
|
19243
|
-
/* @__PURE__ */
|
|
18954
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
19244
18955
|
material.RadioGroup,
|
|
19245
18956
|
{
|
|
19246
18957
|
name: name2,
|
|
@@ -19259,13 +18970,13 @@ const RadioGroupElement = ({
|
|
|
19259
18970
|
] });
|
|
19260
18971
|
};
|
|
19261
18972
|
const RadioElement = ({ name: name2, label, ...rest }) => {
|
|
19262
|
-
return /* @__PURE__ */
|
|
18973
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
19263
18974
|
material.FormControlLabel,
|
|
19264
18975
|
{
|
|
19265
18976
|
name: name2,
|
|
19266
18977
|
label,
|
|
19267
18978
|
sx: { alignItems: "center", mr: 0 },
|
|
19268
|
-
control: /* @__PURE__ */
|
|
18979
|
+
control: /* @__PURE__ */ jsxRuntime.jsx(
|
|
19269
18980
|
material.Radio,
|
|
19270
18981
|
{
|
|
19271
18982
|
...rest,
|
|
@@ -19338,10 +19049,10 @@ const AvatarUserComponent = ({}) => {
|
|
|
19338
19049
|
const handleClose = () => {
|
|
19339
19050
|
setAnchorEl(null);
|
|
19340
19051
|
};
|
|
19341
|
-
return /* @__PURE__ */
|
|
19342
|
-
/* @__PURE__ */
|
|
19343
|
-
/* @__PURE__ */
|
|
19344
|
-
/* @__PURE__ */
|
|
19052
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
19053
|
+
/* @__PURE__ */ jsxRuntime.jsxs(material.Box, { onClick: handleClick, sx: { cursor: "pointer", display: "flex", alignItems: "center", gap: 1 }, children: [
|
|
19054
|
+
/* @__PURE__ */ jsxRuntime.jsx(AvatarUserInfo, { url: account.user?.url, name: account.user?.name ?? "", positions, isTag: true }),
|
|
19055
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
19345
19056
|
IconElement,
|
|
19346
19057
|
{
|
|
19347
19058
|
icon: "arrow_drop_down",
|
|
@@ -19357,7 +19068,7 @@ const AvatarUserComponent = ({}) => {
|
|
|
19357
19068
|
}
|
|
19358
19069
|
)
|
|
19359
19070
|
] }),
|
|
19360
|
-
/* @__PURE__ */
|
|
19071
|
+
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
19361
19072
|
material.Menu,
|
|
19362
19073
|
{
|
|
19363
19074
|
anchorEl,
|
|
@@ -19396,10 +19107,10 @@ const AvatarUserComponent = ({}) => {
|
|
|
19396
19107
|
transformOrigin: { horizontal: "right", vertical: "top" },
|
|
19397
19108
|
anchorOrigin: { horizontal: "right", vertical: "bottom" },
|
|
19398
19109
|
children: [
|
|
19399
|
-
/* @__PURE__ */
|
|
19400
|
-
/* @__PURE__ */
|
|
19401
|
-
/* @__PURE__ */
|
|
19402
|
-
/* @__PURE__ */
|
|
19110
|
+
/* @__PURE__ */ jsxRuntime.jsxs(material.Box, { sx: { p: 2 }, children: [
|
|
19111
|
+
/* @__PURE__ */ jsxRuntime.jsxs(StackRowAlignStartJustBetween, { children: [
|
|
19112
|
+
/* @__PURE__ */ jsxRuntime.jsx(material.Typography, { variant: "subtitle1", sx: { lineHeight: 1 }, children: account.user?.name }),
|
|
19113
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
19403
19114
|
IconElement,
|
|
19404
19115
|
{
|
|
19405
19116
|
icon: "settings",
|
|
@@ -19407,9 +19118,9 @@ const AvatarUserComponent = ({}) => {
|
|
|
19407
19118
|
}
|
|
19408
19119
|
)
|
|
19409
19120
|
] }),
|
|
19410
|
-
account.user?.userOrgUnitPositions && account.user.userOrgUnitPositions.length > 0 && /* @__PURE__ */
|
|
19411
|
-
/* @__PURE__ */
|
|
19412
|
-
/* @__PURE__ */
|
|
19121
|
+
account.user?.userOrgUnitPositions && account.user.userOrgUnitPositions.length > 0 && /* @__PURE__ */ jsxRuntime.jsxs(React.Fragment, { children: [
|
|
19122
|
+
/* @__PURE__ */ jsxRuntime.jsx(IconContentElement, { icon: "admin_panel_settings", content: "Vai trò" }),
|
|
19123
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
19413
19124
|
RadioGroupElement,
|
|
19414
19125
|
{
|
|
19415
19126
|
direction: "column",
|
|
@@ -19419,14 +19130,14 @@ const AvatarUserComponent = ({}) => {
|
|
|
19419
19130
|
dispatch(ACTION_ACCOUNT.updatePositionOrgUnit(event.target.value));
|
|
19420
19131
|
window.location.reload();
|
|
19421
19132
|
},
|
|
19422
|
-
children: account.user.userOrgUnitPositions.map((e) => /* @__PURE__ */
|
|
19133
|
+
children: account.user.userOrgUnitPositions.map((e) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
19423
19134
|
RadioElement,
|
|
19424
19135
|
{
|
|
19425
19136
|
value: e.id,
|
|
19426
19137
|
size: "small",
|
|
19427
|
-
label: /* @__PURE__ */
|
|
19428
|
-
/* @__PURE__ */
|
|
19429
|
-
/* @__PURE__ */
|
|
19138
|
+
label: /* @__PURE__ */ jsxRuntime.jsxs(system.Stack, { gap: 0, children: [
|
|
19139
|
+
/* @__PURE__ */ jsxRuntime.jsx(material.Typography, { children: e.orgUnit.name }),
|
|
19140
|
+
/* @__PURE__ */ jsxRuntime.jsx(material.Typography, { variant: "caption", sx: { ...getLimitLineCss(1), color: "text.disabled" }, children: e.position.name })
|
|
19430
19141
|
] })
|
|
19431
19142
|
},
|
|
19432
19143
|
e.id
|
|
@@ -19435,10 +19146,10 @@ const AvatarUserComponent = ({}) => {
|
|
|
19435
19146
|
)
|
|
19436
19147
|
] })
|
|
19437
19148
|
] }),
|
|
19438
|
-
/* @__PURE__ */
|
|
19439
|
-
menu.map((item, index) => /* @__PURE__ */
|
|
19440
|
-
/* @__PURE__ */
|
|
19441
|
-
/* @__PURE__ */
|
|
19149
|
+
/* @__PURE__ */ jsxRuntime.jsx(material.Divider, {}),
|
|
19150
|
+
menu.map((item, index) => /* @__PURE__ */ jsxRuntime.jsxs(material.MenuItem, { onClick: item.onClick, children: [
|
|
19151
|
+
/* @__PURE__ */ jsxRuntime.jsx(IconElement, { icon: item.icon, size: "small", sx: { mr: 1 } }),
|
|
19152
|
+
/* @__PURE__ */ jsxRuntime.jsx(material.Typography, { children: item.content })
|
|
19442
19153
|
] }, index))
|
|
19443
19154
|
]
|
|
19444
19155
|
}
|
|
@@ -19448,7 +19159,7 @@ const AvatarUserComponent = ({}) => {
|
|
|
19448
19159
|
const MonitorPart = ({
|
|
19449
19160
|
children
|
|
19450
19161
|
}) => {
|
|
19451
|
-
return /* @__PURE__ */
|
|
19162
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
19452
19163
|
system.Stack,
|
|
19453
19164
|
{
|
|
19454
19165
|
sx: {
|
|
@@ -19460,18 +19171,18 @@ const MonitorPart = ({
|
|
|
19460
19171
|
backgroundPosition: "top",
|
|
19461
19172
|
backgroundRepeat: "no-repeat"
|
|
19462
19173
|
},
|
|
19463
|
-
children: /* @__PURE__ */
|
|
19464
|
-
/* @__PURE__ */
|
|
19465
|
-
/* @__PURE__ */
|
|
19174
|
+
children: /* @__PURE__ */ jsxRuntime.jsxs(system.Stack, { p: { padding: STYLE.PADDING_GAP_LAYOUT }, children: [
|
|
19175
|
+
/* @__PURE__ */ jsxRuntime.jsxs(StackRowJustBetween, { children: [
|
|
19176
|
+
/* @__PURE__ */ jsxRuntime.jsx(StackRowAlignCenter, { children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
19466
19177
|
LogoComponent,
|
|
19467
19178
|
{
|
|
19468
19179
|
url: "/images/logo/logo-sub-3.svg",
|
|
19469
19180
|
fillColor: "white"
|
|
19470
19181
|
}
|
|
19471
19182
|
) }),
|
|
19472
|
-
/* @__PURE__ */
|
|
19473
|
-
/* @__PURE__ */
|
|
19474
|
-
/* @__PURE__ */
|
|
19183
|
+
/* @__PURE__ */ jsxRuntime.jsxs(StackRowAlignCenter, { children: [
|
|
19184
|
+
/* @__PURE__ */ jsxRuntime.jsx(BellComponent, {}),
|
|
19185
|
+
/* @__PURE__ */ jsxRuntime.jsx(AvatarUserComponent, {})
|
|
19475
19186
|
] })
|
|
19476
19187
|
] }),
|
|
19477
19188
|
children
|
|
@@ -19479,12 +19190,14 @@ const MonitorPart = ({
|
|
|
19479
19190
|
}
|
|
19480
19191
|
);
|
|
19481
19192
|
};
|
|
19482
|
-
const DashboardLayout = ({
|
|
19193
|
+
const DashboardLayout = ({
|
|
19194
|
+
children
|
|
19195
|
+
}) => {
|
|
19483
19196
|
useUpdateCurrentAccess();
|
|
19484
|
-
return /* @__PURE__ */
|
|
19197
|
+
return /* @__PURE__ */ jsxRuntime.jsx(MonitorPart, { children });
|
|
19485
19198
|
};
|
|
19486
19199
|
const DefaultLayout = ({ children }) => {
|
|
19487
|
-
return /* @__PURE__ */
|
|
19200
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
19488
19201
|
material.Stack,
|
|
19489
19202
|
{
|
|
19490
19203
|
sx: {
|
|
@@ -19493,7 +19206,7 @@ const DefaultLayout = ({ children }) => {
|
|
|
19493
19206
|
width: "100%",
|
|
19494
19207
|
overflowY: "auto"
|
|
19495
19208
|
},
|
|
19496
|
-
children: /* @__PURE__ */
|
|
19209
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
19497
19210
|
material.Stack,
|
|
19498
19211
|
{
|
|
19499
19212
|
sx: {
|
|
@@ -21836,13 +21549,13 @@ const ButtonElement = ({
|
|
|
21836
21549
|
...rest
|
|
21837
21550
|
}) => {
|
|
21838
21551
|
const { palette } = material.useTheme();
|
|
21839
|
-
return /* @__PURE__ */
|
|
21552
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
21840
21553
|
material.Button,
|
|
21841
21554
|
{
|
|
21842
21555
|
...rest,
|
|
21843
21556
|
variant,
|
|
21844
|
-
startIcon: !loading && startIcon ? typeof startIcon === "string" ? /* @__PURE__ */
|
|
21845
|
-
endIcon: !loading && endIcon ? typeof endIcon === "string" ? /* @__PURE__ */
|
|
21557
|
+
startIcon: !loading && startIcon ? typeof startIcon === "string" ? /* @__PURE__ */ jsxRuntime.jsx(IconElement, { icon: startIcon, sx: { cursor: "pointer" } }) : startIcon : void 0,
|
|
21558
|
+
endIcon: !loading && endIcon ? typeof endIcon === "string" ? /* @__PURE__ */ jsxRuntime.jsx(IconElement, { icon: endIcon, sx: { cursor: "pointer" } }) : endIcon : void 0,
|
|
21846
21559
|
sx: {
|
|
21847
21560
|
minWidth: 100,
|
|
21848
21561
|
textTransform: "none",
|
|
@@ -21850,14 +21563,14 @@ const ButtonElement = ({
|
|
|
21850
21563
|
...sx
|
|
21851
21564
|
},
|
|
21852
21565
|
disabled,
|
|
21853
|
-
children: loading ? /* @__PURE__ */
|
|
21566
|
+
children: loading ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
21854
21567
|
LoadingComponent,
|
|
21855
21568
|
{
|
|
21856
21569
|
color: palette.primary.contrastText,
|
|
21857
21570
|
size: "small",
|
|
21858
21571
|
sx: { minHeight: "24.5px" }
|
|
21859
21572
|
}
|
|
21860
|
-
) : /* @__PURE__ */
|
|
21573
|
+
) : /* @__PURE__ */ jsxRuntime.jsx(
|
|
21861
21574
|
material.Typography,
|
|
21862
21575
|
{
|
|
21863
21576
|
sx: { ...TYPOGRAPHY_STYLES.textSm.regular, whiteSpace: "nowrap" },
|
|
@@ -21875,7 +21588,7 @@ const TextFieldLabelElement = ({
|
|
|
21875
21588
|
}) => {
|
|
21876
21589
|
const { palette } = material.useTheme();
|
|
21877
21590
|
if (!label) return null;
|
|
21878
|
-
return /* @__PURE__ */
|
|
21591
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
21879
21592
|
material.Typography,
|
|
21880
21593
|
{
|
|
21881
21594
|
variant: "subtitle1",
|
|
@@ -21886,15 +21599,15 @@ const TextFieldLabelElement = ({
|
|
|
21886
21599
|
gap: PADDING_GAP_ITEM_SMALL
|
|
21887
21600
|
},
|
|
21888
21601
|
children: [
|
|
21889
|
-
iconLabel && /* @__PURE__ */
|
|
21602
|
+
iconLabel && /* @__PURE__ */ jsxRuntime.jsx(IconElement, { icon: iconLabel, sx: { fontSize: STYLE.TEXT_FIELD.FONT_SIZE_LABEL } }),
|
|
21890
21603
|
label,
|
|
21891
|
-
required && /* @__PURE__ */
|
|
21604
|
+
required && /* @__PURE__ */ jsxRuntime.jsx("span", { style: { color: "red" }, children: "*" })
|
|
21892
21605
|
]
|
|
21893
21606
|
}
|
|
21894
21607
|
);
|
|
21895
21608
|
};
|
|
21896
21609
|
const IconButtonElement = ({ icon, onClick, sx, size = 16 }) => {
|
|
21897
|
-
return /* @__PURE__ */
|
|
21610
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
21898
21611
|
material.IconButton,
|
|
21899
21612
|
{
|
|
21900
21613
|
onClick,
|
|
@@ -21910,7 +21623,7 @@ const IconButtonElement = ({ icon, onClick, sx, size = 16 }) => {
|
|
|
21910
21623
|
},
|
|
21911
21624
|
...sx
|
|
21912
21625
|
},
|
|
21913
|
-
children: /* @__PURE__ */
|
|
21626
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(IconElement, { icon, sx: { fontSize: size } })
|
|
21914
21627
|
}
|
|
21915
21628
|
);
|
|
21916
21629
|
};
|
|
@@ -21939,8 +21652,8 @@ const TextFieldElement = ({
|
|
|
21939
21652
|
onChange({ target: { name: name2, value: event.target.value || null } });
|
|
21940
21653
|
};
|
|
21941
21654
|
const { palette, typography } = material.useTheme();
|
|
21942
|
-
return /* @__PURE__ */
|
|
21943
|
-
/* @__PURE__ */
|
|
21655
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(material.Box, { sx: { position: "relative", width: "100%" }, children: [
|
|
21656
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
21944
21657
|
TextFieldLabelElement,
|
|
21945
21658
|
{
|
|
21946
21659
|
label,
|
|
@@ -21949,7 +21662,7 @@ const TextFieldElement = ({
|
|
|
21949
21662
|
required: rest.required
|
|
21950
21663
|
}
|
|
21951
21664
|
),
|
|
21952
|
-
/* @__PURE__ */
|
|
21665
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
21953
21666
|
material.TextField,
|
|
21954
21667
|
{
|
|
21955
21668
|
error: Boolean(error),
|
|
@@ -21960,7 +21673,7 @@ const TextFieldElement = ({
|
|
|
21960
21673
|
name: name2,
|
|
21961
21674
|
InputProps: {
|
|
21962
21675
|
...InputProps,
|
|
21963
|
-
endAdornment: showResetButton && value2 && onReset ? /* @__PURE__ */
|
|
21676
|
+
endAdornment: showResetButton && value2 && onReset ? /* @__PURE__ */ jsxRuntime.jsx(IconButtonElement, { icon: "close", onClick: onReset }) : InputProps?.endAdornment,
|
|
21964
21677
|
sx: {
|
|
21965
21678
|
...InputProps?.sx
|
|
21966
21679
|
}
|
|
@@ -21972,7 +21685,7 @@ const TextFieldElement = ({
|
|
|
21972
21685
|
...rest
|
|
21973
21686
|
}
|
|
21974
21687
|
),
|
|
21975
|
-
description && /* @__PURE__ */
|
|
21688
|
+
description && /* @__PURE__ */ jsxRuntime.jsxs(
|
|
21976
21689
|
material.Typography,
|
|
21977
21690
|
{
|
|
21978
21691
|
variant: "body2",
|
|
@@ -21988,7 +21701,7 @@ const TextFieldElement = ({
|
|
|
21988
21701
|
gap: GAP_ICON_CONTENT_BY_SIZE.small
|
|
21989
21702
|
},
|
|
21990
21703
|
children: [
|
|
21991
|
-
/* @__PURE__ */
|
|
21704
|
+
/* @__PURE__ */ jsxRuntime.jsx(material.Box, { sx: { fontWeight: typography.h2.fontWeight }, children: "Ghi chú:" }),
|
|
21992
21705
|
" ",
|
|
21993
21706
|
description
|
|
21994
21707
|
]
|
|
@@ -24125,15 +23838,15 @@ const OtpPart = ({ setAuthProcess }) => {
|
|
|
24125
23838
|
const timer = setTimeout(() => setSecond(second - 1), 1e3);
|
|
24126
23839
|
return () => clearTimeout(timer);
|
|
24127
23840
|
}, [second]);
|
|
24128
|
-
return /* @__PURE__ */
|
|
24129
|
-
/* @__PURE__ */
|
|
23841
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(material.Stack, { flex: 1, children: [
|
|
23842
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
24130
23843
|
material.Typography,
|
|
24131
23844
|
{
|
|
24132
23845
|
sx: { textAlign: "center" },
|
|
24133
23846
|
children: `Mã OTP đã gửi đến ${formik.values.phone}. Mã có giá trị trong vòng ${second}s`
|
|
24134
23847
|
}
|
|
24135
23848
|
),
|
|
24136
|
-
/* @__PURE__ */
|
|
23849
|
+
/* @__PURE__ */ jsxRuntime.jsx(StackRow, { children: Array.from({ length: lengthOtp }, (_, index) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
24137
23850
|
material.Stack,
|
|
24138
23851
|
{
|
|
24139
23852
|
component: "input",
|
|
@@ -24156,7 +23869,7 @@ const OtpPart = ({ setAuthProcess }) => {
|
|
|
24156
23869
|
},
|
|
24157
23870
|
index
|
|
24158
23871
|
)) }),
|
|
24159
|
-
/* @__PURE__ */
|
|
23872
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
24160
23873
|
IconContentElement,
|
|
24161
23874
|
{
|
|
24162
23875
|
icon: "send",
|
|
@@ -24222,7 +23935,7 @@ const AuthPage = ({}) => {
|
|
|
24222
23935
|
}
|
|
24223
23936
|
};
|
|
24224
23937
|
const [showPassword, setShowPassword] = React.useState(false);
|
|
24225
|
-
return /* @__PURE__ */
|
|
23938
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
24226
23939
|
material.Stack,
|
|
24227
23940
|
{
|
|
24228
23941
|
sx: {
|
|
@@ -24233,7 +23946,7 @@ const AuthPage = ({}) => {
|
|
|
24233
23946
|
width: "100%",
|
|
24234
23947
|
height: "100%"
|
|
24235
23948
|
},
|
|
24236
|
-
children: /* @__PURE__ */
|
|
23949
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
24237
23950
|
Formik,
|
|
24238
23951
|
{
|
|
24239
23952
|
initialValues: {
|
|
@@ -24248,7 +23961,7 @@ const AuthPage = ({}) => {
|
|
|
24248
23961
|
validateOnChange: false,
|
|
24249
23962
|
enableReinitialize: true,
|
|
24250
23963
|
children: (formik) => {
|
|
24251
|
-
return /* @__PURE__ */
|
|
23964
|
+
return /* @__PURE__ */ jsxRuntime.jsx(Form, { noValidate: true, children: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
24252
23965
|
material.Stack,
|
|
24253
23966
|
{
|
|
24254
23967
|
sx: {
|
|
@@ -24262,9 +23975,9 @@ const AuthPage = ({}) => {
|
|
|
24262
23975
|
},
|
|
24263
23976
|
gap: 3,
|
|
24264
23977
|
children: [
|
|
24265
|
-
/* @__PURE__ */
|
|
24266
|
-
authProcess === AuthProcess.LOGIN && /* @__PURE__ */
|
|
24267
|
-
/* @__PURE__ */
|
|
23978
|
+
/* @__PURE__ */ jsxRuntime.jsx(LogoComponent, { url: "/images/logo/logo-sub-4.svg" }),
|
|
23979
|
+
authProcess === AuthProcess.LOGIN && /* @__PURE__ */ jsxRuntime.jsxs(React.Fragment, { children: [
|
|
23980
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
24268
23981
|
TextFieldElement,
|
|
24269
23982
|
{
|
|
24270
23983
|
iconLabel: "mail",
|
|
@@ -24280,7 +23993,7 @@ const AuthPage = ({}) => {
|
|
|
24280
23993
|
required: true
|
|
24281
23994
|
}
|
|
24282
23995
|
),
|
|
24283
|
-
/* @__PURE__ */
|
|
23996
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
24284
23997
|
TextFieldElement,
|
|
24285
23998
|
{
|
|
24286
23999
|
iconLabel: "vpn_key",
|
|
@@ -24296,7 +24009,7 @@ const AuthPage = ({}) => {
|
|
|
24296
24009
|
"& fieldset": { borderColor: palette.primary.light }
|
|
24297
24010
|
},
|
|
24298
24011
|
InputProps: {
|
|
24299
|
-
endAdornment: /* @__PURE__ */
|
|
24012
|
+
endAdornment: /* @__PURE__ */ jsxRuntime.jsx(material.InputAdornment, { position: "end", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
24300
24013
|
IconElement,
|
|
24301
24014
|
{
|
|
24302
24015
|
icon: showPassword ? "visibility" : "visibility_off",
|
|
@@ -24308,7 +24021,7 @@ const AuthPage = ({}) => {
|
|
|
24308
24021
|
}
|
|
24309
24022
|
)
|
|
24310
24023
|
] }),
|
|
24311
|
-
authProcess === AuthProcess.FORGOT_PASSWORD && /* @__PURE__ */
|
|
24024
|
+
authProcess === AuthProcess.FORGOT_PASSWORD && /* @__PURE__ */ jsxRuntime.jsx(
|
|
24312
24025
|
TextFieldElement,
|
|
24313
24026
|
{
|
|
24314
24027
|
iconLabel: "mail",
|
|
@@ -24324,8 +24037,8 @@ const AuthPage = ({}) => {
|
|
|
24324
24037
|
required: true
|
|
24325
24038
|
}
|
|
24326
24039
|
),
|
|
24327
|
-
authProcess === AuthProcess.VERIFY_OTP && /* @__PURE__ */
|
|
24328
|
-
authProcess === AuthProcess.RESET_PASSWORD && /* @__PURE__ */
|
|
24040
|
+
authProcess === AuthProcess.VERIFY_OTP && /* @__PURE__ */ jsxRuntime.jsx(OtpPart, { setAuthProcess }),
|
|
24041
|
+
authProcess === AuthProcess.RESET_PASSWORD && /* @__PURE__ */ jsxRuntime.jsx(
|
|
24329
24042
|
TextFieldElement,
|
|
24330
24043
|
{
|
|
24331
24044
|
label: "Mật khẩu",
|
|
@@ -24340,7 +24053,7 @@ const AuthPage = ({}) => {
|
|
|
24340
24053
|
},
|
|
24341
24054
|
type: showPassword ? "text" : "password",
|
|
24342
24055
|
InputProps: {
|
|
24343
|
-
endAdornment: /* @__PURE__ */
|
|
24056
|
+
endAdornment: /* @__PURE__ */ jsxRuntime.jsx(material.InputAdornment, { position: "end", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
24344
24057
|
IconElement,
|
|
24345
24058
|
{
|
|
24346
24059
|
icon: showPassword ? "visibility" : "visibility_off",
|
|
@@ -24350,7 +24063,7 @@ const AuthPage = ({}) => {
|
|
|
24350
24063
|
}
|
|
24351
24064
|
}
|
|
24352
24065
|
),
|
|
24353
|
-
/* @__PURE__ */
|
|
24066
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
24354
24067
|
IconContentElement,
|
|
24355
24068
|
{
|
|
24356
24069
|
icon: BUTTON_BACK_ICON_CONTENT[authProcess].backIcon,
|
|
@@ -24359,7 +24072,7 @@ const AuthPage = ({}) => {
|
|
|
24359
24072
|
onClick: () => authProcess === AuthProcess.LOGIN ? setAuthProcess(AuthProcess.FORGOT_PASSWORD) : setAuthProcess(AuthProcess.LOGIN)
|
|
24360
24073
|
}
|
|
24361
24074
|
),
|
|
24362
|
-
/* @__PURE__ */
|
|
24075
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
24363
24076
|
ButtonElement,
|
|
24364
24077
|
{
|
|
24365
24078
|
loading,
|
|
@@ -24378,17 +24091,17 @@ const AuthPage = ({}) => {
|
|
|
24378
24091
|
);
|
|
24379
24092
|
};
|
|
24380
24093
|
const DashboardPage = () => {
|
|
24381
|
-
return /* @__PURE__ */
|
|
24094
|
+
return /* @__PURE__ */ jsxRuntime.jsx(reactRouterDom.Outlet, {});
|
|
24382
24095
|
};
|
|
24383
24096
|
const ErrorPage = ({}) => {
|
|
24384
24097
|
const dispatch = useAppDispatch();
|
|
24385
24098
|
const navigate = reactRouterDom.useNavigate();
|
|
24386
24099
|
const account = reactRedux.useSelector((state) => state.account);
|
|
24387
24100
|
const [loading, setLoading] = React.useState(false);
|
|
24388
|
-
return /* @__PURE__ */
|
|
24389
|
-
/* @__PURE__ */
|
|
24390
|
-
/* @__PURE__ */
|
|
24391
|
-
/* @__PURE__ */
|
|
24101
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(React.Fragment, { children: [
|
|
24102
|
+
/* @__PURE__ */ jsxRuntime.jsxs(StackRowAlignCenter, { children: [
|
|
24103
|
+
/* @__PURE__ */ jsxRuntime.jsx(material.Typography, { color: "primary", variant: "h1", fontSize: 90, children: "5" }),
|
|
24104
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
24392
24105
|
material.Stack,
|
|
24393
24106
|
{
|
|
24394
24107
|
component: "img",
|
|
@@ -24399,7 +24112,7 @@ const ErrorPage = ({}) => {
|
|
|
24399
24112
|
loading: "lazy"
|
|
24400
24113
|
}
|
|
24401
24114
|
),
|
|
24402
|
-
/* @__PURE__ */
|
|
24115
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
24403
24116
|
material.Stack,
|
|
24404
24117
|
{
|
|
24405
24118
|
component: "img",
|
|
@@ -24411,8 +24124,8 @@ const ErrorPage = ({}) => {
|
|
|
24411
24124
|
}
|
|
24412
24125
|
)
|
|
24413
24126
|
] }),
|
|
24414
|
-
/* @__PURE__ */
|
|
24415
|
-
/* @__PURE__ */
|
|
24127
|
+
/* @__PURE__ */ jsxRuntime.jsx(material.Typography, { sx: { width: 450, textAlign: "center", lineHeight: 2 }, children: "TÀI KHOẢN CỦA BẠN KHÔNG ĐỦ QUYỀN TRUY CẬP HOẶC HỆ THỐNG ĐÃ GẶP SỰ CỐ!" }),
|
|
24128
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
24416
24129
|
ButtonElement,
|
|
24417
24130
|
{
|
|
24418
24131
|
content: "Đăng nhập lại",
|
|
@@ -24438,10 +24151,10 @@ const ErrorPage = ({}) => {
|
|
|
24438
24151
|
};
|
|
24439
24152
|
const NotFoundPage = ({}) => {
|
|
24440
24153
|
const navigate = reactRouterDom.useNavigate();
|
|
24441
|
-
return /* @__PURE__ */
|
|
24442
|
-
/* @__PURE__ */
|
|
24443
|
-
/* @__PURE__ */
|
|
24444
|
-
/* @__PURE__ */
|
|
24154
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(React.Fragment, { children: [
|
|
24155
|
+
/* @__PURE__ */ jsxRuntime.jsxs(StackRowAlignCenter, { children: [
|
|
24156
|
+
/* @__PURE__ */ jsxRuntime.jsx(material.Typography, { color: "primary", variant: "h1", fontSize: 90, children: "4" }),
|
|
24157
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
24445
24158
|
material.Stack,
|
|
24446
24159
|
{
|
|
24447
24160
|
component: "img",
|
|
@@ -24452,10 +24165,10 @@ const NotFoundPage = ({}) => {
|
|
|
24452
24165
|
loading: "lazy"
|
|
24453
24166
|
}
|
|
24454
24167
|
),
|
|
24455
|
-
/* @__PURE__ */
|
|
24168
|
+
/* @__PURE__ */ jsxRuntime.jsx(material.Typography, { color: "primary", variant: "h1", fontSize: 90, children: "4" })
|
|
24456
24169
|
] }),
|
|
24457
|
-
/* @__PURE__ */
|
|
24458
|
-
/* @__PURE__ */
|
|
24170
|
+
/* @__PURE__ */ jsxRuntime.jsx(material.Typography, { sx: { width: 450, textAlign: "center", lineHeight: 2 }, children: "XIN LỖI, TRANG BẠN TÌM KIẾM KHÔNG TỒN TẠI!" }),
|
|
24171
|
+
/* @__PURE__ */ jsxRuntime.jsx(ButtonElement, { content: "Quay lại trang chủ", fullWidth: false, onClick: () => navigate(PAGE.AUTH.path) })
|
|
24459
24172
|
] });
|
|
24460
24173
|
};
|
|
24461
24174
|
const LayoutGroupContext = React.createContext({});
|
|
@@ -27955,7 +27668,7 @@ function createMotionComponent(Component2, { forwardMotionProps = false } = {},
|
|
|
27955
27668
|
MeasureLayout2 = layoutProjection.MeasureLayout;
|
|
27956
27669
|
context.visualElement = useVisualElement(Component2, visualState, configAndProps, createVisualElement, layoutProjection.ProjectionNode);
|
|
27957
27670
|
}
|
|
27958
|
-
return
|
|
27671
|
+
return jsxRuntime.jsxs(MotionContext.Provider, { value: context, children: [MeasureLayout2 && context.visualElement ? jsxRuntime.jsx(MeasureLayout2, { visualElement: context.visualElement, ...configAndProps }) : null, useRender(Component2, props, useMotionRef(visualState, context.visualElement, externalRef), visualState, isStatic, forwardMotionProps)] });
|
|
27959
27672
|
}
|
|
27960
27673
|
MotionDOMComponent.displayName = `motion.${typeof Component2 === "string" ? Component2 : `create(${Component2.displayName ?? Component2.name ?? ""})`}`;
|
|
27961
27674
|
const ForwardRefMotionComponent = React.forwardRef(MotionDOMComponent);
|
|
@@ -30074,7 +29787,7 @@ class MeasureLayoutWithContext extends React.Component {
|
|
|
30074
29787
|
function MeasureLayout(props) {
|
|
30075
29788
|
const [isPresent, safeToRemove] = usePresence();
|
|
30076
29789
|
const layoutGroup = React.useContext(LayoutGroupContext);
|
|
30077
|
-
return
|
|
29790
|
+
return jsxRuntime.jsx(MeasureLayoutWithContext, { ...props, layoutGroup, switchLayoutGroup: React.useContext(SwitchLayoutGroupContext), isPresent, safeToRemove });
|
|
30078
29791
|
}
|
|
30079
29792
|
const defaultScaleCorrectors = {
|
|
30080
29793
|
borderRadius: {
|
|
@@ -31731,9 +31444,9 @@ const MotionBox = ({
|
|
|
31731
31444
|
transition: { duration: 0.2 }
|
|
31732
31445
|
}
|
|
31733
31446
|
} : {};
|
|
31734
|
-
return /* @__PURE__ */
|
|
31447
|
+
return /* @__PURE__ */ jsxRuntime.jsx(motion.div, { ...motionProps, ...getAnimationProps(), ...hoverProps, onClick, style: { ...sx }, children });
|
|
31735
31448
|
};
|
|
31736
|
-
const IconRight = (props) => /* @__PURE__ */
|
|
31449
|
+
const IconRight = (props) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
31737
31450
|
"svg",
|
|
31738
31451
|
{
|
|
31739
31452
|
width: "20",
|
|
@@ -31742,7 +31455,7 @@ const IconRight = (props) => /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
|
31742
31455
|
fill: "none",
|
|
31743
31456
|
xmlns: "http://www.w3.org/2000/svg",
|
|
31744
31457
|
...props,
|
|
31745
|
-
children: /* @__PURE__ */
|
|
31458
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
31746
31459
|
"path",
|
|
31747
31460
|
{
|
|
31748
31461
|
d: "M12 1L19 8M19 8L12 15M19 8L1 8",
|
|
@@ -31754,7 +31467,7 @@ const IconRight = (props) => /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
|
31754
31467
|
)
|
|
31755
31468
|
}
|
|
31756
31469
|
);
|
|
31757
|
-
const IconLeft = (props) => /* @__PURE__ */
|
|
31470
|
+
const IconLeft = (props) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
31758
31471
|
"svg",
|
|
31759
31472
|
{
|
|
31760
31473
|
width: "20",
|
|
@@ -31763,7 +31476,7 @@ const IconLeft = (props) => /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
|
31763
31476
|
fill: "none",
|
|
31764
31477
|
xmlns: "http://www.w3.org/2000/svg",
|
|
31765
31478
|
...props,
|
|
31766
|
-
children: /* @__PURE__ */
|
|
31479
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
31767
31480
|
"path",
|
|
31768
31481
|
{
|
|
31769
31482
|
d: "M8 15L1 8M1 8L8 1M1 8L19 8",
|
|
@@ -31801,8 +31514,8 @@ const AppGrid = ({
|
|
|
31801
31514
|
const start = page * pageSize;
|
|
31802
31515
|
const end = start + pageSize;
|
|
31803
31516
|
const visibleApps = totalPages > 1 ? apps.slice(start, end) : apps;
|
|
31804
|
-
return /* @__PURE__ */
|
|
31805
|
-
/* @__PURE__ */
|
|
31517
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(material.Box, { sx: { position: "relative" }, children: [
|
|
31518
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
31806
31519
|
material.Box,
|
|
31807
31520
|
{
|
|
31808
31521
|
sx: {
|
|
@@ -31812,7 +31525,7 @@ const AppGrid = ({
|
|
|
31812
31525
|
},
|
|
31813
31526
|
children: visibleApps.map((app2, index) => {
|
|
31814
31527
|
const isSelected = selectedAppId === app2.key;
|
|
31815
|
-
return /* @__PURE__ */
|
|
31528
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
31816
31529
|
MotionBox,
|
|
31817
31530
|
{
|
|
31818
31531
|
preset: "staggerItem",
|
|
@@ -31827,7 +31540,7 @@ const AppGrid = ({
|
|
|
31827
31540
|
flexDirection: "column"
|
|
31828
31541
|
},
|
|
31829
31542
|
children: [
|
|
31830
|
-
/* @__PURE__ */
|
|
31543
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
31831
31544
|
material.Box,
|
|
31832
31545
|
{
|
|
31833
31546
|
sx: {
|
|
@@ -31841,7 +31554,7 @@ const AppGrid = ({
|
|
|
31841
31554
|
background: getAppColor(app2.category),
|
|
31842
31555
|
boxShadow: isSelected ? `0 0 0 1px ${theme.palette.primary.main}, ${iconShadow}` : iconShadow
|
|
31843
31556
|
},
|
|
31844
|
-
children: app2.icon.startsWith("/") && /* @__PURE__ */
|
|
31557
|
+
children: app2.icon.startsWith("/") && /* @__PURE__ */ jsxRuntime.jsx(
|
|
31845
31558
|
ImageElement,
|
|
31846
31559
|
{
|
|
31847
31560
|
sx: { width: iconSize * 0.56, height: iconSize * 0.56 },
|
|
@@ -31851,7 +31564,7 @@ const AppGrid = ({
|
|
|
31851
31564
|
)
|
|
31852
31565
|
}
|
|
31853
31566
|
),
|
|
31854
|
-
/* @__PURE__ */
|
|
31567
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
31855
31568
|
material.Typography,
|
|
31856
31569
|
{
|
|
31857
31570
|
variant: titleVariant,
|
|
@@ -31859,7 +31572,7 @@ const AppGrid = ({
|
|
|
31859
31572
|
children: app2.title
|
|
31860
31573
|
}
|
|
31861
31574
|
),
|
|
31862
|
-
/* @__PURE__ */
|
|
31575
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
31863
31576
|
material.Typography,
|
|
31864
31577
|
{
|
|
31865
31578
|
variant: captionVariant,
|
|
@@ -31874,8 +31587,8 @@ const AppGrid = ({
|
|
|
31874
31587
|
})
|
|
31875
31588
|
}
|
|
31876
31589
|
),
|
|
31877
|
-
showPagination && totalPages > 1 && /* @__PURE__ */
|
|
31878
|
-
page === totalPages - 1 && /* @__PURE__ */
|
|
31590
|
+
showPagination && totalPages > 1 && /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
31591
|
+
page === totalPages - 1 && /* @__PURE__ */ jsxRuntime.jsx(
|
|
31879
31592
|
material.IconButton,
|
|
31880
31593
|
{
|
|
31881
31594
|
size: "small",
|
|
@@ -31888,10 +31601,10 @@ const AppGrid = ({
|
|
|
31888
31601
|
transform: "translateY(-120%)",
|
|
31889
31602
|
color: theme.palette.divider
|
|
31890
31603
|
},
|
|
31891
|
-
children: /* @__PURE__ */
|
|
31604
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(IconLeft, {})
|
|
31892
31605
|
}
|
|
31893
31606
|
),
|
|
31894
|
-
page !== totalPages - 1 && /* @__PURE__ */
|
|
31607
|
+
page !== totalPages - 1 && /* @__PURE__ */ jsxRuntime.jsx(
|
|
31895
31608
|
material.IconButton,
|
|
31896
31609
|
{
|
|
31897
31610
|
size: "small",
|
|
@@ -31904,10 +31617,10 @@ const AppGrid = ({
|
|
|
31904
31617
|
transform: "translateY(-120%)",
|
|
31905
31618
|
color: theme.palette.divider
|
|
31906
31619
|
},
|
|
31907
|
-
children: /* @__PURE__ */
|
|
31620
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(IconRight, {})
|
|
31908
31621
|
}
|
|
31909
31622
|
),
|
|
31910
|
-
/* @__PURE__ */
|
|
31623
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
31911
31624
|
material.Box,
|
|
31912
31625
|
{
|
|
31913
31626
|
sx: {
|
|
@@ -31916,7 +31629,7 @@ const AppGrid = ({
|
|
|
31916
31629
|
alignItems: "center",
|
|
31917
31630
|
justifyContent: "center"
|
|
31918
31631
|
},
|
|
31919
|
-
children: /* @__PURE__ */
|
|
31632
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
31920
31633
|
material.Box,
|
|
31921
31634
|
{
|
|
31922
31635
|
sx: {
|
|
@@ -31928,7 +31641,7 @@ const AppGrid = ({
|
|
|
31928
31641
|
borderRadius: BORDER_RADIUS_ELEMENT_WRAPPER,
|
|
31929
31642
|
backgroundColor: "rgba(255,255,255,0.15)"
|
|
31930
31643
|
},
|
|
31931
|
-
children: Array.from({ length: totalPages }).map((_, i) => /* @__PURE__ */
|
|
31644
|
+
children: Array.from({ length: totalPages }).map((_, i) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
31932
31645
|
material.Box,
|
|
31933
31646
|
{
|
|
31934
31647
|
onClick: () => setPage(i),
|
|
@@ -31957,7 +31670,7 @@ const SystemMonitorScreen = () => {
|
|
|
31957
31670
|
const [tab, setTab] = React.useState(AppCategory.ALL);
|
|
31958
31671
|
const listApp = useApps(tab);
|
|
31959
31672
|
const currentApp = useActiveSidebar();
|
|
31960
|
-
return /* @__PURE__ */
|
|
31673
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
31961
31674
|
MotionBox,
|
|
31962
31675
|
{
|
|
31963
31676
|
preset: "fadeInUp",
|
|
@@ -31968,7 +31681,7 @@ const SystemMonitorScreen = () => {
|
|
|
31968
31681
|
position: "relative",
|
|
31969
31682
|
top: 150
|
|
31970
31683
|
},
|
|
31971
|
-
children: /* @__PURE__ */
|
|
31684
|
+
children: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
31972
31685
|
material.Box,
|
|
31973
31686
|
{
|
|
31974
31687
|
sx: {
|
|
@@ -31979,7 +31692,7 @@ const SystemMonitorScreen = () => {
|
|
|
31979
31692
|
justifyContent: "flex-start"
|
|
31980
31693
|
},
|
|
31981
31694
|
children: [
|
|
31982
|
-
/* @__PURE__ */
|
|
31695
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
31983
31696
|
material.Box,
|
|
31984
31697
|
{
|
|
31985
31698
|
sx: {
|
|
@@ -31993,13 +31706,13 @@ const SystemMonitorScreen = () => {
|
|
|
31993
31706
|
{ key: AppCategory.HRM, label: "HRM" },
|
|
31994
31707
|
{ key: AppCategory.WORKFLOW, label: "Workflow Engine" },
|
|
31995
31708
|
{ key: AppCategory.PLATFORM_INFO, label: "Platform & Info" }
|
|
31996
|
-
].map((t) => /* @__PURE__ */
|
|
31709
|
+
].map((t) => /* @__PURE__ */ jsxRuntime.jsxs(
|
|
31997
31710
|
MotionBox,
|
|
31998
31711
|
{
|
|
31999
31712
|
sx: { position: "relative" },
|
|
32000
31713
|
preset: "tabUnderline",
|
|
32001
31714
|
children: [
|
|
32002
|
-
/* @__PURE__ */
|
|
31715
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
32003
31716
|
material.Typography,
|
|
32004
31717
|
{
|
|
32005
31718
|
onClick: () => setTab(t.key),
|
|
@@ -32010,7 +31723,7 @@ const SystemMonitorScreen = () => {
|
|
|
32010
31723
|
children: t.label
|
|
32011
31724
|
}
|
|
32012
31725
|
),
|
|
32013
|
-
tab === t.key && /* @__PURE__ */
|
|
31726
|
+
tab === t.key && /* @__PURE__ */ jsxRuntime.jsx(
|
|
32014
31727
|
MotionBox,
|
|
32015
31728
|
{
|
|
32016
31729
|
preset: "tabUnderline",
|
|
@@ -32022,7 +31735,7 @@ const SystemMonitorScreen = () => {
|
|
|
32022
31735
|
backgroundColor: theme.palette.common.white,
|
|
32023
31736
|
transformOrigin: "left"
|
|
32024
31737
|
},
|
|
32025
|
-
children: /* @__PURE__ */
|
|
31738
|
+
children: /* @__PURE__ */ jsxRuntime.jsx("div", {})
|
|
32026
31739
|
}
|
|
32027
31740
|
)
|
|
32028
31741
|
]
|
|
@@ -32031,7 +31744,7 @@ const SystemMonitorScreen = () => {
|
|
|
32031
31744
|
))
|
|
32032
31745
|
}
|
|
32033
31746
|
),
|
|
32034
|
-
/* @__PURE__ */
|
|
31747
|
+
/* @__PURE__ */ jsxRuntime.jsx(MotionBox, { preset: "tabContent", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
32035
31748
|
AppGrid,
|
|
32036
31749
|
{
|
|
32037
31750
|
apps: listApp,
|
|
@@ -32057,17 +31770,17 @@ const renderRoutes = (routes2, account) => routes2.map((route) => {
|
|
|
32057
31770
|
const { path, layout: layout2, element, type, allowUserTypes = [], children } = route;
|
|
32058
31771
|
const Layout = layout2 || React.Fragment;
|
|
32059
31772
|
let Element2 = element;
|
|
32060
|
-
if (path === PAGE.AUTH.path && account.isLogin) Element2 = () => /* @__PURE__ */
|
|
31773
|
+
if (path === PAGE.AUTH.path && account.isLogin) Element2 = () => /* @__PURE__ */ jsxRuntime.jsx(reactRouterDom.Navigate, { to: PAGE.DASHBOARD.path });
|
|
32061
31774
|
if (type === RouteType.PROTECTED) {
|
|
32062
|
-
if (!account.isLogin) Element2 = () => /* @__PURE__ */
|
|
31775
|
+
if (!account.isLogin) Element2 = () => /* @__PURE__ */ jsxRuntime.jsx(reactRouterDom.Navigate, { to: PAGE.AUTH.path });
|
|
32063
31776
|
else if (allowUserTypes.length && !allowUserTypes.includes(account.user.type) && account.user.type !== UserType.ROOT)
|
|
32064
|
-
Element2 = () => /* @__PURE__ */
|
|
31777
|
+
Element2 = () => /* @__PURE__ */ jsxRuntime.jsx(reactRouterDom.Navigate, { to: PAGE.ERROR.path });
|
|
32065
31778
|
}
|
|
32066
|
-
return /* @__PURE__ */
|
|
31779
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
32067
31780
|
reactRouterDom.Route,
|
|
32068
31781
|
{
|
|
32069
31782
|
path,
|
|
32070
|
-
element: /* @__PURE__ */
|
|
31783
|
+
element: /* @__PURE__ */ jsxRuntime.jsx(Layout, { children: /* @__PURE__ */ jsxRuntime.jsx(Element2, {}) }),
|
|
32071
31784
|
children: children && renderRoutes(children, account)
|
|
32072
31785
|
},
|
|
32073
31786
|
path
|
|
@@ -32087,6 +31800,217 @@ const routes = [
|
|
|
32087
31800
|
]
|
|
32088
31801
|
}
|
|
32089
31802
|
];
|
|
31803
|
+
const SidebarContext = React.createContext(
|
|
31804
|
+
void 0
|
|
31805
|
+
);
|
|
31806
|
+
const useSidebar = () => {
|
|
31807
|
+
const context = React.useContext(SidebarContext);
|
|
31808
|
+
if (context === void 0) {
|
|
31809
|
+
throw new Error("useSidebar must be used within a SidebarProvider");
|
|
31810
|
+
}
|
|
31811
|
+
return context;
|
|
31812
|
+
};
|
|
31813
|
+
const AppsSidebar = ({
|
|
31814
|
+
isOpen,
|
|
31815
|
+
onClose
|
|
31816
|
+
}) => {
|
|
31817
|
+
const theme = useTheme();
|
|
31818
|
+
const navigate = reactRouterDom.useNavigate();
|
|
31819
|
+
const allApps = useApps();
|
|
31820
|
+
const dispatch = useAppDispatch();
|
|
31821
|
+
const currentApp = useActiveSidebar();
|
|
31822
|
+
const { setActiveExpandMenu } = useSidebar();
|
|
31823
|
+
const { palette } = useTheme();
|
|
31824
|
+
if (!isOpen) return null;
|
|
31825
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
31826
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
31827
|
+
material.Box,
|
|
31828
|
+
{
|
|
31829
|
+
onClick: onClose,
|
|
31830
|
+
sx: {
|
|
31831
|
+
position: "fixed",
|
|
31832
|
+
top: 0,
|
|
31833
|
+
left: 0,
|
|
31834
|
+
right: 0,
|
|
31835
|
+
bottom: 0,
|
|
31836
|
+
backgroundColor: palette.action.selected,
|
|
31837
|
+
zIndex: 100
|
|
31838
|
+
}
|
|
31839
|
+
}
|
|
31840
|
+
),
|
|
31841
|
+
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
31842
|
+
MotionBox,
|
|
31843
|
+
{
|
|
31844
|
+
preset: "fadeInLeft",
|
|
31845
|
+
sx: {
|
|
31846
|
+
position: "fixed",
|
|
31847
|
+
top: 0,
|
|
31848
|
+
left: 0,
|
|
31849
|
+
height: "100vh",
|
|
31850
|
+
backgroundColor: theme.palette.common.white,
|
|
31851
|
+
zIndex: 100,
|
|
31852
|
+
padding: PADDING_GAP_LAYOUT,
|
|
31853
|
+
gap: PADDING_GAP_ITEM,
|
|
31854
|
+
display: "flex",
|
|
31855
|
+
flexDirection: "column"
|
|
31856
|
+
},
|
|
31857
|
+
children: [
|
|
31858
|
+
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
31859
|
+
material.Box,
|
|
31860
|
+
{
|
|
31861
|
+
sx: {
|
|
31862
|
+
display: "flex",
|
|
31863
|
+
justifyContent: "space-between",
|
|
31864
|
+
alignItems: "center"
|
|
31865
|
+
},
|
|
31866
|
+
children: [
|
|
31867
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
31868
|
+
material.IconButton,
|
|
31869
|
+
{
|
|
31870
|
+
onClick: onClose,
|
|
31871
|
+
sx: {
|
|
31872
|
+
color: theme.palette.grey[600],
|
|
31873
|
+
"&:hover": { backgroundColor: theme.palette.grey[100] }
|
|
31874
|
+
},
|
|
31875
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(IconElement, { icon: "close" })
|
|
31876
|
+
}
|
|
31877
|
+
),
|
|
31878
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
31879
|
+
material.IconButton,
|
|
31880
|
+
{
|
|
31881
|
+
sx: {
|
|
31882
|
+
color: theme.palette.grey[600],
|
|
31883
|
+
"&:hover": { backgroundColor: theme.palette.grey[100] }
|
|
31884
|
+
},
|
|
31885
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
31886
|
+
IconElement,
|
|
31887
|
+
{
|
|
31888
|
+
icon: "home",
|
|
31889
|
+
onClick: () => {
|
|
31890
|
+
onClose();
|
|
31891
|
+
navigate(PAGE.DASHBOARD.path);
|
|
31892
|
+
}
|
|
31893
|
+
}
|
|
31894
|
+
)
|
|
31895
|
+
}
|
|
31896
|
+
)
|
|
31897
|
+
]
|
|
31898
|
+
}
|
|
31899
|
+
),
|
|
31900
|
+
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
31901
|
+
material.Box,
|
|
31902
|
+
{
|
|
31903
|
+
sx: {
|
|
31904
|
+
gap: PADDING_GAP_ITEM,
|
|
31905
|
+
display: "flex",
|
|
31906
|
+
flexDirection: "column"
|
|
31907
|
+
},
|
|
31908
|
+
children: [
|
|
31909
|
+
/* @__PURE__ */ jsxRuntime.jsx(material.Typography, { variant: "subtitle2", children: "Workflow Engine" }),
|
|
31910
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
31911
|
+
AppGrid,
|
|
31912
|
+
{
|
|
31913
|
+
apps: allApps.filter(
|
|
31914
|
+
(app2) => app2.category === AppCategory.WORKFLOW
|
|
31915
|
+
),
|
|
31916
|
+
columns: 4,
|
|
31917
|
+
iconSize: 60,
|
|
31918
|
+
iconRadius: 5.5,
|
|
31919
|
+
gap: PADDING_GAP_ITEM,
|
|
31920
|
+
titleVariant: "body1",
|
|
31921
|
+
captionVariant: "caption",
|
|
31922
|
+
titleColor: theme.palette.grey[800],
|
|
31923
|
+
captionColor: theme.palette.grey[600],
|
|
31924
|
+
selectedAppId: currentApp?.key,
|
|
31925
|
+
onClickItem: async (app2) => {
|
|
31926
|
+
await dispatch(
|
|
31927
|
+
ACTION_ACCOUNT.updateCurrentAccess(app2.key)
|
|
31928
|
+
).unwrap();
|
|
31929
|
+
setActiveExpandMenu(null);
|
|
31930
|
+
onClose();
|
|
31931
|
+
}
|
|
31932
|
+
}
|
|
31933
|
+
)
|
|
31934
|
+
]
|
|
31935
|
+
}
|
|
31936
|
+
),
|
|
31937
|
+
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
31938
|
+
material.Box,
|
|
31939
|
+
{
|
|
31940
|
+
sx: {
|
|
31941
|
+
gap: PADDING_GAP_ITEM,
|
|
31942
|
+
display: "flex",
|
|
31943
|
+
flexDirection: "column"
|
|
31944
|
+
},
|
|
31945
|
+
children: [
|
|
31946
|
+
/* @__PURE__ */ jsxRuntime.jsx(material.Typography, { variant: "subtitle2", children: "HRM" }),
|
|
31947
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
31948
|
+
AppGrid,
|
|
31949
|
+
{
|
|
31950
|
+
apps: allApps.filter((app2) => app2.category === AppCategory.HRM),
|
|
31951
|
+
columns: 4,
|
|
31952
|
+
iconSize: 60,
|
|
31953
|
+
iconRadius: 5.5,
|
|
31954
|
+
gap: PADDING_GAP_ITEM,
|
|
31955
|
+
titleVariant: "body1",
|
|
31956
|
+
captionVariant: "caption",
|
|
31957
|
+
titleColor: theme.palette.grey[800],
|
|
31958
|
+
captionColor: theme.palette.grey[600],
|
|
31959
|
+
selectedAppId: currentApp?.key,
|
|
31960
|
+
onClickItem: async (app2) => {
|
|
31961
|
+
await dispatch(
|
|
31962
|
+
ACTION_ACCOUNT.updateCurrentAccess(app2.key)
|
|
31963
|
+
).unwrap();
|
|
31964
|
+
setActiveExpandMenu(null);
|
|
31965
|
+
onClose();
|
|
31966
|
+
}
|
|
31967
|
+
}
|
|
31968
|
+
)
|
|
31969
|
+
]
|
|
31970
|
+
}
|
|
31971
|
+
),
|
|
31972
|
+
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
31973
|
+
material.Box,
|
|
31974
|
+
{
|
|
31975
|
+
sx: {
|
|
31976
|
+
gap: PADDING_GAP_ITEM,
|
|
31977
|
+
display: "flex",
|
|
31978
|
+
flexDirection: "column"
|
|
31979
|
+
},
|
|
31980
|
+
children: [
|
|
31981
|
+
/* @__PURE__ */ jsxRuntime.jsx(material.Typography, { variant: "subtitle2", children: "Platform Info" }),
|
|
31982
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
31983
|
+
AppGrid,
|
|
31984
|
+
{
|
|
31985
|
+
apps: allApps.filter(
|
|
31986
|
+
(app2) => app2.category === AppCategory.PLATFORM_INFO
|
|
31987
|
+
),
|
|
31988
|
+
columns: 4,
|
|
31989
|
+
iconSize: 60,
|
|
31990
|
+
iconRadius: 5.5,
|
|
31991
|
+
gap: PADDING_GAP_ITEM,
|
|
31992
|
+
titleVariant: "body1",
|
|
31993
|
+
captionVariant: "caption",
|
|
31994
|
+
titleColor: theme.palette.grey[800],
|
|
31995
|
+
captionColor: theme.palette.grey[600],
|
|
31996
|
+
selectedAppId: currentApp?.key,
|
|
31997
|
+
onClickItem: async (app2) => {
|
|
31998
|
+
await dispatch(
|
|
31999
|
+
ACTION_ACCOUNT.updateCurrentAccess(app2.key)
|
|
32000
|
+
).unwrap();
|
|
32001
|
+
setActiveExpandMenu(null);
|
|
32002
|
+
onClose();
|
|
32003
|
+
}
|
|
32004
|
+
}
|
|
32005
|
+
)
|
|
32006
|
+
]
|
|
32007
|
+
}
|
|
32008
|
+
)
|
|
32009
|
+
]
|
|
32010
|
+
}
|
|
32011
|
+
)
|
|
32012
|
+
] });
|
|
32013
|
+
};
|
|
32090
32014
|
const TypographyContentCaption = ({
|
|
32091
32015
|
content,
|
|
32092
32016
|
caption,
|
|
@@ -32094,8 +32018,8 @@ const TypographyContentCaption = ({
|
|
|
32094
32018
|
sxContent,
|
|
32095
32019
|
sxCaption
|
|
32096
32020
|
}) => {
|
|
32097
|
-
return /* @__PURE__ */
|
|
32098
|
-
/* @__PURE__ */
|
|
32021
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(material.Stack, { gap: 0, sx: { ...sx }, children: [
|
|
32022
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
32099
32023
|
material.Typography,
|
|
32100
32024
|
{
|
|
32101
32025
|
sx: {
|
|
@@ -32105,7 +32029,7 @@ const TypographyContentCaption = ({
|
|
|
32105
32029
|
children: content || "#"
|
|
32106
32030
|
}
|
|
32107
32031
|
),
|
|
32108
|
-
caption && /* @__PURE__ */
|
|
32032
|
+
caption && /* @__PURE__ */ jsxRuntime.jsx(
|
|
32109
32033
|
material.Typography,
|
|
32110
32034
|
{
|
|
32111
32035
|
sx: {
|
|
@@ -32133,6 +32057,7 @@ exports.ANIMATION_TIME = ANIMATION_TIME;
|
|
|
32133
32057
|
exports.AppCategory = AppCategory;
|
|
32134
32058
|
exports.AppGrid = AppGrid;
|
|
32135
32059
|
exports.AppType = AppType;
|
|
32060
|
+
exports.AppsSidebar = AppsSidebar;
|
|
32136
32061
|
exports.AuthLayout = AuthLayout;
|
|
32137
32062
|
exports.AuthPage = AuthPage;
|
|
32138
32063
|
exports.AuthProcess = AuthProcess;
|
|
@@ -32336,7 +32261,11 @@ exports.updateAccount = updateAccount$1;
|
|
|
32336
32261
|
exports.updateNotification = updateNotification;
|
|
32337
32262
|
exports.updateNotificationSetting = updateNotificationSetting;
|
|
32338
32263
|
exports.updateUser = updateUser;
|
|
32264
|
+
exports.useActiveSidebar = useActiveSidebar;
|
|
32265
|
+
exports.useAllApps = useAllApps;
|
|
32339
32266
|
exports.useApps = useApps;
|
|
32267
|
+
exports.useIsSystemMonitor = useIsSystemMonitor;
|
|
32268
|
+
exports.useSidebarState = useSidebarState;
|
|
32340
32269
|
exports.useSnackbar = useSnackbar;
|
|
32341
32270
|
exports.useTagSelector = useTagSelector;
|
|
32342
32271
|
exports.useUpdateCurrentAccess = useUpdateCurrentAccess;
|