datacenter-lib-react-ts 1.0.5 → 1.0.7

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.
@@ -21,7 +21,6 @@ const AuthCheckComponent = ({ authenticationState, baseApiUrl, children }) => {
21
21
  navigate(newPath, { replace: true });
22
22
  };
23
23
  (0, react_1.useEffect)(() => {
24
- // if (!authenticationState.payload && !authenticationState.options?.loading) {
25
24
  if (!new authentication_slice_1.AuthenticationStateHelper({ state: authenticationState }).authenticated && !authenticationState.options?.loading) {
26
25
  if (authUuid) {
27
26
  dispatch((0, authentication_slice_1.authenticationStateLoadFromApi)({
@@ -35,16 +34,14 @@ const AuthCheckComponent = ({ authenticationState, baseApiUrl, children }) => {
35
34
  }));
36
35
  }
37
36
  }
38
- // else if (authenticationState.payload && authUuid) {
39
37
  else if (new authentication_slice_1.AuthenticationStateHelper({ state: authenticationState }).authenticated && authUuid) {
40
- // caso o usuario ja tenha logado e tente acessar a pagina de autenticacao, o redirect manda o authUuid
38
+ // caso o usuario ja tenha logado e tenta acessar a pagina de autenticacao, o redirect manda o authUuid
41
39
  // nesse cenario, deve-se eliminar o authUuid da url
42
40
  // isso vale para autenticacao em um dominio diferente do dominio do autenticador
43
41
  // para recursos no mesmo dominio do autenticador, o redirect quando o usuario já tem autenticado esta correto, ou seja,
44
- // ele nao manda o authUuid caso o usuario já esteja logado, em dominio diferentes nao tem como o autenticador saber se o app esta logado
42
+ // ele nao manda o authUuid caso o usuario já esteja logado, em dominios diferentes nao tem como o autenticador saber se o app esta logado
45
43
  onGetAuthFinish();
46
44
  }
47
- // }, [authenticationState, location]);
48
45
  }, [authenticationState]);
49
46
  return react_1.default.createElement(react_1.default.Fragment, null, children);
50
47
  };
@@ -1 +1 @@
1
- {"version":3,"file":"authCheck.js","sourceRoot":"","sources":["../../../src/auth/authCheck.tsx"],"names":[],"mappings":";;;;AACA,uEAAkG;AAClG,uDAAoD;AACpD,6CAA0C;AAC1C,uDAA4D;AAC5D,iEAAyH;AACzH,2CAAwC;AAQjC,MAAM,kBAAkB,GAAuC,CAAC,EAAE,mBAAmB,EAAE,UAAU,EAAE,QAAQ,EAAE,EAAE,EAAE;IACtH,MAAM,QAAQ,GAAG,IAAA,8BAAW,GAAE,CAAA;IAC9B,MAAM,QAAQ,GAAG,IAAA,8BAAW,GAAE,CAAA;IAC9B,MAAM,QAAQ,GAAG,IAAA,yBAAW,GAAO,CAAA;IACnC,MAAM,WAAW,GAAG,IAAI,eAAe,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAA;IACxD,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,CAAC,qBAAS,CAAC,uBAAuB,CAAC,CAAA;IAEnE,MAAM,eAAe,GAAG,GAAG,EAAE;QAC3B,WAAW,CAAC,MAAM,CAAC,qBAAS,CAAC,uBAAuB,CAAC,CAAC;QACtD,MAAM,SAAS,GAAG,WAAW,CAAC,QAAQ,EAAE,CAAC;QACzC,MAAM,OAAO,GAAG,GAAG,QAAQ,CAAC,QAAQ,GAAG,SAAS,CAAC,CAAC,CAAC,IAAI,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;QAC1E,QAAQ,CAAC,OAAO,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;IACvC,CAAC,CAAA;IAED,IAAA,iBAAS,EAAC,GAAG,EAAE;QACb,+EAA+E;QAC/E,IAAI,CAAC,IAAI,gDAAyB,CAAC,EAAE,KAAK,EAAE,mBAAmB,EAAE,CAAC,CAAC,aAAa,IAAI,CAAC,mBAAmB,CAAC,OAAO,EAAE,OAAO,EAAE,CAAC;YAC1H,IAAI,QAAQ,EAAE,CAAC;gBACb,QAAQ,CAAC,IAAA,qDAA8B,EAAC;oBACtC,UAAU;oBACV,cAAc,EAAE;wBACd,IAAI,EAAE,6CAAkB,CAAC,IAAI;wBAC7B,IAAI,EAAE,QAAQ;qBACuB;oBACvC,SAAS,EAAE,eAAe;oBAC1B,OAAO,EAAE,eAAe;iBACzB,CAAC,CAAC,CAAA;YACL,CAAC;QACH,CAAC;QACD,sDAAsD;aACjD,IAAI,IAAI,gDAAyB,CAAC,EAAE,KAAK,EAAE,mBAAmB,EAAE,CAAC,CAAC,aAAa,IAAI,QAAQ,EAAE,CAAC;YACjG,uGAAuG;YACvG,oDAAoD;YACpD,iFAAiF;YACjF,yHAAyH;YACzH,yIAAyI;YACzI,eAAe,EAAE,CAAA;QACnB,CAAC;QACD,uCAAuC;IACzC,CAAC,EAAE,CAAC,mBAAmB,CAAC,CAAC,CAAC;IAE1B,OAAO,8DAAG,QAAQ,CAAI,CAAA;AACxB,CAAC,CAAC;AA1CW,QAAA,kBAAkB,sBA0C7B"}
1
+ {"version":3,"file":"authCheck.js","sourceRoot":"","sources":["../../../src/auth/authCheck.tsx"],"names":[],"mappings":";;;;AACA,uEAAkG;AAClG,uDAAoD;AACpD,6CAA0C;AAC1C,uDAA4D;AAC5D,iEAAyH;AACzH,2CAAwC;AAQjC,MAAM,kBAAkB,GAAuC,CAAC,EAAE,mBAAmB,EAAE,UAAU,EAAE,QAAQ,EAAE,EAAE,EAAE;IACtH,MAAM,QAAQ,GAAG,IAAA,8BAAW,GAAE,CAAA;IAC9B,MAAM,QAAQ,GAAG,IAAA,8BAAW,GAAE,CAAA;IAC9B,MAAM,QAAQ,GAAG,IAAA,yBAAW,GAAO,CAAA;IACnC,MAAM,WAAW,GAAG,IAAI,eAAe,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAA;IACxD,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,CAAC,qBAAS,CAAC,uBAAuB,CAAC,CAAA;IAEnE,MAAM,eAAe,GAAG,GAAG,EAAE;QAC3B,WAAW,CAAC,MAAM,CAAC,qBAAS,CAAC,uBAAuB,CAAC,CAAC;QACtD,MAAM,SAAS,GAAG,WAAW,CAAC,QAAQ,EAAE,CAAC;QACzC,MAAM,OAAO,GAAG,GAAG,QAAQ,CAAC,QAAQ,GAAG,SAAS,CAAC,CAAC,CAAC,IAAI,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;QAC1E,QAAQ,CAAC,OAAO,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;IACvC,CAAC,CAAA;IAED,IAAA,iBAAS,EAAC,GAAG,EAAE;QACb,IAAI,CAAC,IAAI,gDAAyB,CAAC,EAAE,KAAK,EAAE,mBAAmB,EAAE,CAAC,CAAC,aAAa,IAAI,CAAC,mBAAmB,CAAC,OAAO,EAAE,OAAO,EAAE,CAAC;YAC1H,IAAI,QAAQ,EAAE,CAAC;gBACb,QAAQ,CAAC,IAAA,qDAA8B,EAAC;oBACtC,UAAU;oBACV,cAAc,EAAE;wBACd,IAAI,EAAE,6CAAkB,CAAC,IAAI;wBAC7B,IAAI,EAAE,QAAQ;qBACuB;oBACvC,SAAS,EAAE,eAAe;oBAC1B,OAAO,EAAE,eAAe;iBACzB,CAAC,CAAC,CAAA;YACL,CAAC;QACH,CAAC;aACI,IAAI,IAAI,gDAAyB,CAAC,EAAE,KAAK,EAAE,mBAAmB,EAAE,CAAC,CAAC,aAAa,IAAI,QAAQ,EAAE,CAAC;YACjG,uGAAuG;YACvG,oDAAoD;YACpD,iFAAiF;YACjF,yHAAyH;YACzH,0IAA0I;YAC1I,eAAe,EAAE,CAAA;QACnB,CAAC;IACH,CAAC,EAAE,CAAC,mBAAmB,CAAC,CAAC,CAAC;IAE1B,OAAO,8DAAG,QAAQ,CAAI,CAAA;AACxB,CAAC,CAAC;AAvCW,QAAA,kBAAkB,sBAuC7B"}
@@ -6,21 +6,25 @@ const react_1 = tslib_1.__importStar(require("react"));
6
6
  const react_router_dom_1 = require("react-router-dom");
7
7
  const authentication_slice_1 = require("./authentication.slice");
8
8
  const authUtils_1 = require("./authUtils");
9
- const AuthRequiredComponent = ({ authenticationState, authUrlBase, redirectUrl, /*baseApiUrl,*/ children }) => {
9
+ const AuthRequiredComponent = ({ authenticationState, authUrlBase, redirectUrl, children }) => {
10
10
  const location = (0, react_router_dom_1.useLocation)();
11
11
  const queryParams = new URLSearchParams(location.search);
12
12
  const authUuid = queryParams.get(authUtils_1.AuthUtils.authUuidQueryStringName);
13
13
  (0, react_1.useEffect)(() => {
14
- // if (!authenticationState.payload && !authenticationState.options?.loading) {
15
14
  if (!new authentication_slice_1.AuthenticationStateHelper({ state: authenticationState, }).authenticated && !authenticationState.options?.loading) {
16
15
  if (!authUuid) {
17
16
  if (!authUrlBase.includes('/login'))
18
17
  authUrlBase = `${authUrlBase}/login`;
18
+ localStorage.clear();
19
+ sessionStorage.clear();
20
+ document.cookie.split(";").forEach(cookie => {
21
+ const name = cookie.split("=")[0].trim();
22
+ document.cookie = `${name}=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/;`;
23
+ });
19
24
  window.location.href = `${authUrlBase}?${authUtils_1.AuthUtils.authToRedirectQueryStringName}=${encodeURIComponent(redirectUrl)}`;
20
25
  }
21
26
  }
22
27
  }, [authenticationState]);
23
- // if (!authenticationState.payload) {
24
28
  if (!new authentication_slice_1.AuthenticationStateHelper({ state: authenticationState, }).authenticated) {
25
29
  return null;
26
30
  }
@@ -1 +1 @@
1
- {"version":3,"file":"authRequired.js","sourceRoot":"","sources":["../../../src/auth/authRequired.tsx"],"names":[],"mappings":";;;;AACA,uDAAoD;AACpD,uDAA+C;AAC/C,iEAAyF;AACzF,2CAAwC;AAUjC,MAAM,qBAAqB,GAA0C,CAAC,EAAE,mBAAmB,EAAE,WAAW,EAAE,WAAW,EAAE,eAAe,CAAC,QAAQ,EAAE,EAAE,EAAE;IAC1J,MAAM,QAAQ,GAAG,IAAA,8BAAW,GAAE,CAAA;IAC9B,MAAM,WAAW,GAAG,IAAI,eAAe,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAA;IACxD,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,CAAC,qBAAS,CAAC,uBAAuB,CAAC,CAAA;IAEnE,IAAA,iBAAS,EAAC,GAAG,EAAE;QACb,+EAA+E;QAC/E,IAAI,CAAC,IAAI,gDAAyB,CAAC,EAAE,KAAK,EAAE,mBAAmB,GAAG,CAAC,CAAC,aAAa,IAAI,CAAC,mBAAmB,CAAC,OAAO,EAAE,OAAO,EAAE,CAAC;YAC3H,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,QAAQ,CAAC;oBACjC,WAAW,GAAG,GAAG,WAAW,QAAQ,CAAA;gBACtC,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,GAAG,WAAW,IAAI,qBAAS,CAAC,6BAA6B,IAAI,kBAAkB,CAAC,WAAW,CAAC,EAAE,CAAA;YACvH,CAAC;QACH,CAAC;IACH,CAAC,EAAE,CAAC,mBAAmB,CAAC,CAAC,CAAC;IAE1B,sCAAsC;IACtC,IAAI,CAAC,IAAI,gDAAyB,CAAC,EAAE,KAAK,EAAE,mBAAmB,GAAG,CAAC,CAAC,aAAa,EAAE,CAAC;QAClF,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,8DAAG,QAAQ,CAAI,CAAA;AACxB,CAAC,CAAC;AAtBW,QAAA,qBAAqB,yBAsBhC"}
1
+ {"version":3,"file":"authRequired.js","sourceRoot":"","sources":["../../../src/auth/authRequired.tsx"],"names":[],"mappings":";;;;AACA,uDAAoD;AACpD,uDAA+C;AAC/C,iEAAyF;AACzF,2CAAwC;AASjC,MAAM,qBAAqB,GAA0C,CAAC,EAAE,mBAAmB,EAAE,WAAW,EAAE,WAAW,EAAE,QAAQ,EAAE,EAAE,EAAE;IAC1I,MAAM,QAAQ,GAAG,IAAA,8BAAW,GAAE,CAAA;IAC9B,MAAM,WAAW,GAAG,IAAI,eAAe,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAA;IACxD,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,CAAC,qBAAS,CAAC,uBAAuB,CAAC,CAAA;IAEnE,IAAA,iBAAS,EAAC,GAAG,EAAE;QACb,IAAI,CAAC,IAAI,gDAAyB,CAAC,EAAE,KAAK,EAAE,mBAAmB,GAAG,CAAC,CAAC,aAAa,IAAI,CAAC,mBAAmB,CAAC,OAAO,EAAE,OAAO,EAAE,CAAC;YAC3H,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,QAAQ,CAAC;oBACjC,WAAW,GAAG,GAAG,WAAW,QAAQ,CAAA;gBAEtC,YAAY,CAAC,KAAK,EAAE,CAAA;gBACpB,cAAc,CAAC,KAAK,EAAE,CAAA;gBACtB,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;oBAC1C,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;oBACzC,QAAQ,CAAC,MAAM,GAAG,GAAG,IAAI,mDAAmD,CAAC;gBAC/E,CAAC,CAAC,CAAC;gBAEH,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,GAAG,WAAW,IAAI,qBAAS,CAAC,6BAA6B,IAAI,kBAAkB,CAAC,WAAW,CAAC,EAAE,CAAA;YACvH,CAAC;QACH,CAAC;IACH,CAAC,EAAE,CAAC,mBAAmB,CAAC,CAAC,CAAC;IAE1B,IAAI,CAAC,IAAI,gDAAyB,CAAC,EAAE,KAAK,EAAE,mBAAmB,GAAG,CAAC,CAAC,aAAa,EAAE,CAAC;QAClF,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,8DAAG,QAAQ,CAAI,CAAA;AACxB,CAAC,CAAC;AA5BW,QAAA,qBAAqB,yBA4BhC"}
@@ -1 +1 @@
1
- {"version":3,"file":"authentication.slice.js","sourceRoot":"","sources":["../../../src/auth/authentication.slice.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"authentication.slice.js","sourceRoot":"","sources":["../../../src/auth/authentication.slice.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,40 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.UserDropdownMenu = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const material_1 = require("@mui/material");
6
+ const react_1 = tslib_1.__importDefault(require("react"));
7
+ const md_1 = require("react-icons/md");
8
+ const UserDropdownMenu = ({ user, anchorEl, open, onClose, onLogOut, onProfile, }) => {
9
+ return (react_1.default.createElement(react_1.default.Fragment, null,
10
+ react_1.default.createElement(material_1.Menu, { anchorEl: anchorEl, open: open, onClose: onClose, anchorOrigin: { vertical: "bottom", horizontal: "right" }, transformOrigin: { vertical: "top", horizontal: "right" }, PaperProps: {
11
+ sx: {
12
+ marginTop: .5,
13
+ minWidth: 260,
14
+ borderRadius: 2,
15
+ boxShadow: "0 8px 24px rgba(0,0,0,0.12)",
16
+ overflow: "hidden",
17
+ },
18
+ }, MenuListProps: { sx: { p: 0 } } },
19
+ react_1.default.createElement(material_1.MenuItem, { onClick: onProfile, sx: {
20
+ gap: 1,
21
+ p: 2,
22
+ // py: 1.2,
23
+ fontWeight: 500,
24
+ } },
25
+ react_1.default.createElement(material_1.ListItemText, { primary: user.name, secondary: user.email })),
26
+ react_1.default.createElement(material_1.Divider, { style: { margin: 0 } }),
27
+ react_1.default.createElement(material_1.MenuItem, { onClick: onLogOut, sx: {
28
+ gap: 1,
29
+ py: 1.2,
30
+ fontWeight: 500,
31
+ color: "error.main",
32
+ "&:hover": {
33
+ backgroundColor: "rgba(211, 47, 47, 0.08)",
34
+ },
35
+ } },
36
+ react_1.default.createElement(md_1.MdLogout, { size: 20 }),
37
+ "Sair"))));
38
+ };
39
+ exports.UserDropdownMenu = UserDropdownMenu;
40
+ //# sourceMappingURL=userDropdownMenu.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"userDropdownMenu.js","sourceRoot":"","sources":["../../../src/auth/userDropdownMenu.tsx"],"names":[],"mappings":";;;;AAAA,4CAA4F;AAE5F,0DAAyB;AACzB,uCAAyC;AAWlC,MAAM,gBAAgB,GAAG,CAAC,EAC/B,IAAI,EACJ,QAAQ,EACR,IAAI,EACJ,OAAO,EACP,QAAQ,EACR,SAAS,GACH,EAAE,EAAE;IACV,OAAO,CACL;QACE,8BAAC,eAAI,IACH,QAAQ,EAAE,QAAQ,EAClB,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,OAAO,EAChB,YAAY,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,OAAO,EAAE,EACzD,eAAe,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,EACzD,UAAU,EAAE;gBACV,EAAE,EAAE;oBACF,SAAS,EAAE,EAAE;oBACb,QAAQ,EAAE,GAAG;oBACb,YAAY,EAAE,CAAC;oBACf,SAAS,EAAE,6BAA6B;oBACxC,QAAQ,EAAE,QAAQ;iBACnB;aACF,EACD,aAAa,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE;YAE/B,8BAAC,mBAAQ,IACP,OAAO,EAAE,SAAS,EAClB,EAAE,EAAE;oBACF,GAAG,EAAE,CAAC;oBACN,CAAC,EAAE,CAAC;oBACJ,WAAW;oBACX,UAAU,EAAE,GAAG;iBAChB;gBAED,8BAAC,uBAAY,IACX,OAAO,EAAE,IAAI,CAAC,IAAI,EAClB,SAAS,EAAE,IAAI,CAAC,KAAK,GACrB,CACO;YAEX,8BAAC,kBAAO,IAAC,KAAK,EAAE,EAAC,MAAM,EAAE,CAAC,EAAC,GAAG;YAG9B,8BAAC,mBAAQ,IACP,OAAO,EAAE,QAAQ,EACjB,EAAE,EAAE;oBACF,GAAG,EAAE,CAAC;oBACN,EAAE,EAAE,GAAG;oBACP,UAAU,EAAE,GAAG;oBACf,KAAK,EAAE,YAAY;oBACnB,SAAS,EAAE;wBACT,eAAe,EAAE,yBAAyB;qBAC3C;iBACF;gBAED,8BAAC,aAAQ,IAAC,IAAI,EAAE,EAAE,GAAI;uBAEb,CACN,CACN,CACJ,CAAA;AACH,CAAC,CAAA;AA/DY,QAAA,gBAAgB,oBA+D5B"}
@@ -2,34 +2,30 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.UserOptionsComponent = void 0;
4
4
  const tslib_1 = require("tslib");
5
- const Logout_1 = tslib_1.__importDefault(require("@mui/icons-material/Logout"));
5
+ const Person_1 = tslib_1.__importDefault(require("@mui/icons-material/Person"));
6
6
  const material_1 = require("@mui/material");
7
7
  const react_1 = tslib_1.__importStar(require("react"));
8
8
  const react_redux_1 = require("react-redux");
9
9
  const authentication_slice_1 = require("./authentication.slice");
10
+ const userDropdownMenu_1 = require("./userDropdownMenu");
10
11
  const UserOptionsComponent = ({ user, datacenterAuthBaseUrl, onLogOut }) => {
11
12
  const dispatch = (0, react_redux_1.useDispatch)();
12
13
  const [menuAnchor, setAnchorElemnt] = (0, react_1.useState)(null);
13
14
  const openMenu = Boolean(menuAnchor);
14
15
  return react_1.default.createElement(react_1.default.Fragment, null,
15
- react_1.default.createElement(material_1.Menu, { id: "basic-menu", anchorEl: menuAnchor, open: openMenu, onClose: () => setAnchorElemnt(null), MenuListProps: {
16
- 'aria-labelledby': 'basic-button',
17
- } },
18
- react_1.default.createElement(material_1.MenuItem, { style: { display: 'flex', gap: 10 }, onClick: () => {
19
- let authUrl = `${datacenterAuthBaseUrl}/profile`;
20
- window.open(authUrl, '_blank')?.focus();
21
- setAnchorElemnt(null);
22
- } }, user.name),
23
- react_1.default.createElement(material_1.MenuItem, { style: { display: 'flex', gap: 10 }, onClick: () => {
24
- dispatch((0, authentication_slice_1.authenticationStateLogout)());
25
- if (onLogOut)
26
- onLogOut();
27
- setAnchorElemnt(null);
28
- } },
29
- react_1.default.createElement(Logout_1.default, null),
30
- " Sair")),
16
+ react_1.default.createElement(userDropdownMenu_1.UserDropdownMenu, { user: user, anchorEl: menuAnchor, open: openMenu, onClose: () => setAnchorElemnt(null), onLogOut: () => {
17
+ dispatch((0, authentication_slice_1.authenticationStateLogout)());
18
+ if (onLogOut)
19
+ onLogOut();
20
+ setAnchorElemnt(null);
21
+ }, onProfile: () => {
22
+ let authUrl = `${datacenterAuthBaseUrl}/profile`;
23
+ window.open(authUrl, '_blank')?.focus();
24
+ setAnchorElemnt(null);
25
+ } }),
31
26
  react_1.default.createElement(material_1.IconButton, { onClick: e => setAnchorElemnt(e.currentTarget) },
32
- react_1.default.createElement(material_1.Avatar, { src: user.imageUrl })));
27
+ react_1.default.createElement(material_1.Avatar, { src: user.imageUrl },
28
+ react_1.default.createElement(Person_1.default, null))));
33
29
  };
34
30
  exports.UserOptionsComponent = UserOptionsComponent;
35
31
  //# sourceMappingURL=userOptions.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"userOptions.js","sourceRoot":"","sources":["../../../src/auth/userOptions.tsx"],"names":[],"mappings":";;;;AAAA,gFAAmD;AACnD,4CAAkE;AAElE,uDAAuC;AACvC,6CAAyC;AACzC,iEAAkE;AAQ3D,MAAM,oBAAoB,GAAyC,CAAC,EAAE,IAAI,EAAE,qBAAqB,EAAE,QAAQ,EAAE,EAAE,EAAE;IACtH,MAAM,QAAQ,GAAG,IAAA,yBAAW,GAAO,CAAA;IACnC,MAAM,CAAC,UAAU,EAAE,eAAe,CAAC,GAAG,IAAA,gBAAQ,EAA+C,IAAI,CAAC,CAAA;IAClG,MAAM,QAAQ,GAAG,OAAO,CAAC,UAAU,CAAC,CAAA;IAEpC,OAAO;QACL,8BAAC,eAAI,IACH,EAAE,EAAC,YAAY,EACf,QAAQ,EAAE,UAAU,EACpB,IAAI,EAAE,QAAQ,EACd,OAAO,EAAE,GAAG,EAAE,CAAC,eAAe,CAAC,IAAI,CAAC,EACpC,aAAa,EAAE;gBACb,iBAAiB,EAAE,cAAc;aAClC;YACD,8BAAC,mBAAQ,IACP,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,EAAE,EACnC,OAAO,EAAE,GAAG,EAAE;oBACZ,IAAI,OAAO,GAAG,GAAG,qBAAqB,UAAU,CAAA;oBAChD,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAA;oBACvC,eAAe,CAAC,IAAI,CAAC,CAAA;gBACvB,CAAC,IAEA,IAAI,CAAC,IAAI,CACD;YACX,8BAAC,mBAAQ,IACP,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,EAAE,EACnC,OAAO,EAAE,GAAG,EAAE;oBACZ,QAAQ,CAAC,IAAA,gDAAyB,GAAE,CAAC,CAAA;oBACrC,IAAI,QAAQ;wBAAE,QAAQ,EAAE,CAAA;oBACxB,eAAe,CAAC,IAAI,CAAC,CAAA;gBACvB,CAAC;gBAED,8BAAC,gBAAU,OAAG;wBACL,CACN;QAEP,8BAAC,qBAAU,IACT,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,eAAe,CAAC,CAAC,CAAC,aAAa,CAAC;YAC/C,8BAAC,iBAAM,IAAC,GAAG,EAAE,IAAI,CAAC,QAAQ,GAAI,CAAa,CAC3C,CAAA;AACL,CAAC,CAAA;AAxCY,QAAA,oBAAoB,wBAwChC"}
1
+ {"version":3,"file":"userOptions.js","sourceRoot":"","sources":["../../../src/auth/userOptions.tsx"],"names":[],"mappings":";;;;AAAA,gFAAmD;AACnD,4CAAkD;AAElD,uDAAuC;AACvC,6CAAyC;AACzC,iEAAkE;AAClE,yDAAqD;AAQ9C,MAAM,oBAAoB,GAAyC,CAAC,EAAE,IAAI,EAAE,qBAAqB,EAAE,QAAQ,EAAE,EAAE,EAAE;IACtH,MAAM,QAAQ,GAAG,IAAA,yBAAW,GAAO,CAAA;IACnC,MAAM,CAAC,UAAU,EAAE,eAAe,CAAC,GAAG,IAAA,gBAAQ,EAA+C,IAAI,CAAC,CAAA;IAClG,MAAM,QAAQ,GAAG,OAAO,CAAC,UAAU,CAAC,CAAA;IAEpC,OAAO;QACL,8BAAC,mCAAgB,IACf,IAAI,EAAE,IAAI,EACV,QAAQ,EAAE,UAAU,EACpB,IAAI,EAAE,QAAQ,EACd,OAAO,EAAE,GAAG,EAAE,CAAC,eAAe,CAAC,IAAI,CAAC,EACpC,QAAQ,EAAE,GAAG,EAAE;gBACb,QAAQ,CAAC,IAAA,gDAAyB,GAAE,CAAC,CAAA;gBACrC,IAAI,QAAQ;oBAAE,QAAQ,EAAE,CAAA;gBACxB,eAAe,CAAC,IAAI,CAAC,CAAA;YACvB,CAAC,EACD,SAAS,EAAE,GAAG,EAAE;gBACd,IAAI,OAAO,GAAG,GAAG,qBAAqB,UAAU,CAAA;gBAChD,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAA;gBACvC,eAAe,CAAC,IAAI,CAAC,CAAA;YACvB,CAAC,GACD;QAEF,8BAAC,qBAAU,IACT,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,eAAe,CAAC,CAAC,CAAC,aAAa,CAAC;YAC/C,8BAAC,iBAAM,IAAC,GAAG,EAAE,IAAI,CAAC,QAAQ;gBACvB,8BAAC,gBAAU,OAAG,CACP,CAAa,CACvB,CAAA;AACL,CAAC,CAAA;AA7BY,QAAA,oBAAoB,wBA6BhC"}
@@ -17,7 +17,6 @@ export const AuthCheckComponent = ({ authenticationState, baseApiUrl, children }
17
17
  navigate(newPath, { replace: true });
18
18
  };
19
19
  useEffect(() => {
20
- // if (!authenticationState.payload && !authenticationState.options?.loading) {
21
20
  if (!new AuthenticationStateHelper({ state: authenticationState }).authenticated && !authenticationState.options?.loading) {
22
21
  if (authUuid) {
23
22
  dispatch(authenticationStateLoadFromApi({
@@ -31,16 +30,14 @@ export const AuthCheckComponent = ({ authenticationState, baseApiUrl, children }
31
30
  }));
32
31
  }
33
32
  }
34
- // else if (authenticationState.payload && authUuid) {
35
33
  else if (new AuthenticationStateHelper({ state: authenticationState }).authenticated && authUuid) {
36
- // caso o usuario ja tenha logado e tente acessar a pagina de autenticacao, o redirect manda o authUuid
34
+ // caso o usuario ja tenha logado e tenta acessar a pagina de autenticacao, o redirect manda o authUuid
37
35
  // nesse cenario, deve-se eliminar o authUuid da url
38
36
  // isso vale para autenticacao em um dominio diferente do dominio do autenticador
39
37
  // para recursos no mesmo dominio do autenticador, o redirect quando o usuario já tem autenticado esta correto, ou seja,
40
- // ele nao manda o authUuid caso o usuario já esteja logado, em dominio diferentes nao tem como o autenticador saber se o app esta logado
38
+ // ele nao manda o authUuid caso o usuario já esteja logado, em dominios diferentes nao tem como o autenticador saber se o app esta logado
41
39
  onGetAuthFinish();
42
40
  }
43
- // }, [authenticationState, location]);
44
41
  }, [authenticationState]);
45
42
  return React.createElement(React.Fragment, null, children);
46
43
  };
@@ -1 +1 @@
1
- {"version":3,"file":"authCheck.js","sourceRoot":"","sources":["../../../src/auth/authCheck.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAsC,MAAM,0BAA0B,CAAC;AAClG,OAAO,KAAK,EAAE,EAAa,SAAS,EAAE,MAAM,OAAO,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC5D,OAAO,EAAE,yBAAyB,EAAE,8BAA8B,EAAwB,MAAM,wBAAwB,CAAC;AACzH,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAQxC,MAAM,CAAC,MAAM,kBAAkB,GAAuC,CAAC,EAAE,mBAAmB,EAAE,UAAU,EAAE,QAAQ,EAAE,EAAE,EAAE;IACtH,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAA;IAC9B,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAA;IAC9B,MAAM,QAAQ,GAAG,WAAW,EAAO,CAAA;IACnC,MAAM,WAAW,GAAG,IAAI,eAAe,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAA;IACxD,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,CAAC,SAAS,CAAC,uBAAuB,CAAC,CAAA;IAEnE,MAAM,eAAe,GAAG,GAAG,EAAE;QAC3B,WAAW,CAAC,MAAM,CAAC,SAAS,CAAC,uBAAuB,CAAC,CAAC;QACtD,MAAM,SAAS,GAAG,WAAW,CAAC,QAAQ,EAAE,CAAC;QACzC,MAAM,OAAO,GAAG,GAAG,QAAQ,CAAC,QAAQ,GAAG,SAAS,CAAC,CAAC,CAAC,IAAI,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;QAC1E,QAAQ,CAAC,OAAO,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;IACvC,CAAC,CAAA;IAED,SAAS,CAAC,GAAG,EAAE;QACb,+EAA+E;QAC/E,IAAI,CAAC,IAAI,yBAAyB,CAAC,EAAE,KAAK,EAAE,mBAAmB,EAAE,CAAC,CAAC,aAAa,IAAI,CAAC,mBAAmB,CAAC,OAAO,EAAE,OAAO,EAAE,CAAC;YAC1H,IAAI,QAAQ,EAAE,CAAC;gBACb,QAAQ,CAAC,8BAA8B,CAAC;oBACtC,UAAU;oBACV,cAAc,EAAE;wBACd,IAAI,EAAE,kBAAkB,CAAC,IAAI;wBAC7B,IAAI,EAAE,QAAQ;qBACuB;oBACvC,SAAS,EAAE,eAAe;oBAC1B,OAAO,EAAE,eAAe;iBACzB,CAAC,CAAC,CAAA;YACL,CAAC;QACH,CAAC;QACD,sDAAsD;aACjD,IAAI,IAAI,yBAAyB,CAAC,EAAE,KAAK,EAAE,mBAAmB,EAAE,CAAC,CAAC,aAAa,IAAI,QAAQ,EAAE,CAAC;YACjG,uGAAuG;YACvG,oDAAoD;YACpD,iFAAiF;YACjF,yHAAyH;YACzH,yIAAyI;YACzI,eAAe,EAAE,CAAA;QACnB,CAAC;QACD,uCAAuC;IACzC,CAAC,EAAE,CAAC,mBAAmB,CAAC,CAAC,CAAC;IAE1B,OAAO,0CAAG,QAAQ,CAAI,CAAA;AACxB,CAAC,CAAC"}
1
+ {"version":3,"file":"authCheck.js","sourceRoot":"","sources":["../../../src/auth/authCheck.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAsC,MAAM,0BAA0B,CAAC;AAClG,OAAO,KAAK,EAAE,EAAa,SAAS,EAAE,MAAM,OAAO,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC5D,OAAO,EAAE,yBAAyB,EAAE,8BAA8B,EAAwB,MAAM,wBAAwB,CAAC;AACzH,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAQxC,MAAM,CAAC,MAAM,kBAAkB,GAAuC,CAAC,EAAE,mBAAmB,EAAE,UAAU,EAAE,QAAQ,EAAE,EAAE,EAAE;IACtH,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAA;IAC9B,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAA;IAC9B,MAAM,QAAQ,GAAG,WAAW,EAAO,CAAA;IACnC,MAAM,WAAW,GAAG,IAAI,eAAe,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAA;IACxD,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,CAAC,SAAS,CAAC,uBAAuB,CAAC,CAAA;IAEnE,MAAM,eAAe,GAAG,GAAG,EAAE;QAC3B,WAAW,CAAC,MAAM,CAAC,SAAS,CAAC,uBAAuB,CAAC,CAAC;QACtD,MAAM,SAAS,GAAG,WAAW,CAAC,QAAQ,EAAE,CAAC;QACzC,MAAM,OAAO,GAAG,GAAG,QAAQ,CAAC,QAAQ,GAAG,SAAS,CAAC,CAAC,CAAC,IAAI,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;QAC1E,QAAQ,CAAC,OAAO,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;IACvC,CAAC,CAAA;IAED,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,IAAI,yBAAyB,CAAC,EAAE,KAAK,EAAE,mBAAmB,EAAE,CAAC,CAAC,aAAa,IAAI,CAAC,mBAAmB,CAAC,OAAO,EAAE,OAAO,EAAE,CAAC;YAC1H,IAAI,QAAQ,EAAE,CAAC;gBACb,QAAQ,CAAC,8BAA8B,CAAC;oBACtC,UAAU;oBACV,cAAc,EAAE;wBACd,IAAI,EAAE,kBAAkB,CAAC,IAAI;wBAC7B,IAAI,EAAE,QAAQ;qBACuB;oBACvC,SAAS,EAAE,eAAe;oBAC1B,OAAO,EAAE,eAAe;iBACzB,CAAC,CAAC,CAAA;YACL,CAAC;QACH,CAAC;aACI,IAAI,IAAI,yBAAyB,CAAC,EAAE,KAAK,EAAE,mBAAmB,EAAE,CAAC,CAAC,aAAa,IAAI,QAAQ,EAAE,CAAC;YACjG,uGAAuG;YACvG,oDAAoD;YACpD,iFAAiF;YACjF,yHAAyH;YACzH,0IAA0I;YAC1I,eAAe,EAAE,CAAA;QACnB,CAAC;IACH,CAAC,EAAE,CAAC,mBAAmB,CAAC,CAAC,CAAC;IAE1B,OAAO,0CAAG,QAAQ,CAAI,CAAA;AACxB,CAAC,CAAC"}
@@ -2,21 +2,25 @@ import React, { useEffect } from "react";
2
2
  import { useLocation } from "react-router-dom";
3
3
  import { AuthenticationStateHelper } from "./authentication.slice";
4
4
  import { AuthUtils } from "./authUtils";
5
- export const AuthRequiredComponent = ({ authenticationState, authUrlBase, redirectUrl, /*baseApiUrl,*/ children }) => {
5
+ export const AuthRequiredComponent = ({ authenticationState, authUrlBase, redirectUrl, children }) => {
6
6
  const location = useLocation();
7
7
  const queryParams = new URLSearchParams(location.search);
8
8
  const authUuid = queryParams.get(AuthUtils.authUuidQueryStringName);
9
9
  useEffect(() => {
10
- // if (!authenticationState.payload && !authenticationState.options?.loading) {
11
10
  if (!new AuthenticationStateHelper({ state: authenticationState, }).authenticated && !authenticationState.options?.loading) {
12
11
  if (!authUuid) {
13
12
  if (!authUrlBase.includes('/login'))
14
13
  authUrlBase = `${authUrlBase}/login`;
14
+ localStorage.clear();
15
+ sessionStorage.clear();
16
+ document.cookie.split(";").forEach(cookie => {
17
+ const name = cookie.split("=")[0].trim();
18
+ document.cookie = `${name}=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/;`;
19
+ });
15
20
  window.location.href = `${authUrlBase}?${AuthUtils.authToRedirectQueryStringName}=${encodeURIComponent(redirectUrl)}`;
16
21
  }
17
22
  }
18
23
  }, [authenticationState]);
19
- // if (!authenticationState.payload) {
20
24
  if (!new AuthenticationStateHelper({ state: authenticationState, }).authenticated) {
21
25
  return null;
22
26
  }
@@ -1 +1 @@
1
- {"version":3,"file":"authRequired.js","sourceRoot":"","sources":["../../../src/auth/authRequired.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,EAAa,SAAS,EAAE,MAAM,OAAO,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,yBAAyB,EAAwB,MAAM,wBAAwB,CAAC;AACzF,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAUxC,MAAM,CAAC,MAAM,qBAAqB,GAA0C,CAAC,EAAE,mBAAmB,EAAE,WAAW,EAAE,WAAW,EAAE,eAAe,CAAC,QAAQ,EAAE,EAAE,EAAE;IAC1J,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAA;IAC9B,MAAM,WAAW,GAAG,IAAI,eAAe,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAA;IACxD,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,CAAC,SAAS,CAAC,uBAAuB,CAAC,CAAA;IAEnE,SAAS,CAAC,GAAG,EAAE;QACb,+EAA+E;QAC/E,IAAI,CAAC,IAAI,yBAAyB,CAAC,EAAE,KAAK,EAAE,mBAAmB,GAAG,CAAC,CAAC,aAAa,IAAI,CAAC,mBAAmB,CAAC,OAAO,EAAE,OAAO,EAAE,CAAC;YAC3H,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,QAAQ,CAAC;oBACjC,WAAW,GAAG,GAAG,WAAW,QAAQ,CAAA;gBACtC,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,GAAG,WAAW,IAAI,SAAS,CAAC,6BAA6B,IAAI,kBAAkB,CAAC,WAAW,CAAC,EAAE,CAAA;YACvH,CAAC;QACH,CAAC;IACH,CAAC,EAAE,CAAC,mBAAmB,CAAC,CAAC,CAAC;IAE1B,sCAAsC;IACtC,IAAI,CAAC,IAAI,yBAAyB,CAAC,EAAE,KAAK,EAAE,mBAAmB,GAAG,CAAC,CAAC,aAAa,EAAE,CAAC;QAClF,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,0CAAG,QAAQ,CAAI,CAAA;AACxB,CAAC,CAAC"}
1
+ {"version":3,"file":"authRequired.js","sourceRoot":"","sources":["../../../src/auth/authRequired.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,EAAa,SAAS,EAAE,MAAM,OAAO,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,yBAAyB,EAAwB,MAAM,wBAAwB,CAAC;AACzF,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AASxC,MAAM,CAAC,MAAM,qBAAqB,GAA0C,CAAC,EAAE,mBAAmB,EAAE,WAAW,EAAE,WAAW,EAAE,QAAQ,EAAE,EAAE,EAAE;IAC1I,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAA;IAC9B,MAAM,WAAW,GAAG,IAAI,eAAe,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAA;IACxD,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,CAAC,SAAS,CAAC,uBAAuB,CAAC,CAAA;IAEnE,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,IAAI,yBAAyB,CAAC,EAAE,KAAK,EAAE,mBAAmB,GAAG,CAAC,CAAC,aAAa,IAAI,CAAC,mBAAmB,CAAC,OAAO,EAAE,OAAO,EAAE,CAAC;YAC3H,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,QAAQ,CAAC;oBACjC,WAAW,GAAG,GAAG,WAAW,QAAQ,CAAA;gBAEtC,YAAY,CAAC,KAAK,EAAE,CAAA;gBACpB,cAAc,CAAC,KAAK,EAAE,CAAA;gBACtB,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;oBAC1C,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;oBACzC,QAAQ,CAAC,MAAM,GAAG,GAAG,IAAI,mDAAmD,CAAC;gBAC/E,CAAC,CAAC,CAAC;gBAEH,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,GAAG,WAAW,IAAI,SAAS,CAAC,6BAA6B,IAAI,kBAAkB,CAAC,WAAW,CAAC,EAAE,CAAA;YACvH,CAAC;QACH,CAAC;IACH,CAAC,EAAE,CAAC,mBAAmB,CAAC,CAAC,CAAC;IAE1B,IAAI,CAAC,IAAI,yBAAyB,CAAC,EAAE,KAAK,EAAE,mBAAmB,GAAG,CAAC,CAAC,aAAa,EAAE,CAAC;QAClF,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,0CAAG,QAAQ,CAAI,CAAA;AACxB,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"authentication.slice.js","sourceRoot":"","sources":["../../../src/auth/authentication.slice.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACjE,OAAO,EAAE,wBAAwB,EAAsK,MAAM,0BAA0B,CAAC;AACxO,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC,CAAC,kEAAkE;AAC1G,OAAO,MAAM,MAAM,QAAQ,CAAC;AAa5B,MAAM,MAAM,GAAG,QAAQ,CAAC,SAAS,CAAC,sBAAsB,CAAC,CAAA;AACzD,MAAM,SAAS,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;AAEpD,MAAM,SAAS,GAAyB,SAAS,IAAI,EAAE,CAAA;AAEvD,MAAM,CAAC,MAAM,8BAA8B,GAAG,gBAAgB,CAC5D,gCAAgC,EAChC,KAAK,EAAE,GAON,EAAE,EAAE;IACH,IAAI,CAAC;QACH,IAAI,MAAM,GAAyB,EAAE,CAAA;QAErC,MAAM,QAAQ,GAAG,MAAM,IAAI,wBAAwB,CAAC,EAAE,UAAU,EAAE,GAAG,CAAC,UAAU,GAAG,CAAC,CAAC,IAAI,CAAC;YACxF,IAAI,EAAE,GAAG,CAAC,cAAc;SACzB,CAAC,CAAA;QAEF,IAAI,QAAQ,EAAE,OAAO,IAAI,QAAQ,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC;YAC9C,IAAI,GAAG,CAAC,SAAS;gBACf,GAAG,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;YAC9B,IAAI,QAAQ,GAA6B,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;YACvE,MAAM,CAAC,OAAO,GAAG;gBACf,GAAG,QAAQ,CAAC,IAAI;gBAChB,IAAI,EAAE,QAAQ,CAAC,IAAI;aACpB,CAAA;QACH,CAAC;aACI,IAAI,GAAG,CAAC,OAAO;YAClB,GAAG,CAAC,OAAO,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAA;QAE5B,OAAO,MAAM,CAAA;IACf,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,GAAG,CAAC,OAAO;YACb,GAAG,CAAC,OAAO,CAAC,2BAA2B,CAAC,CAAA;QAE1C,OAAM;IACR,CAAC;AACH,CAAC,CACF,CAAA;AAED,MAAM,CAAC,MAAM,mBAAmB,GAAG,WAAW,CAAC;IAC7C,IAAI,EAAE,qBAAqB;IAC3B,YAAY,EAAE,SAAS;IACvB,QAAQ,EAAE;QACR,GAAG,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;YACrB,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,CAAA;YACtC,QAAQ,CAAC,SAAS,CAAC,sBAAsB,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAA;QACtE,CAAC;QACD,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE;YAChB,KAAK,CAAC,OAAO,GAAG,SAAS,CAAA;YACzB,KAAK,CAAC,OAAO,GAAG,SAAS,CAAA;YACzB,QAAQ,CAAC,SAAS,CAAC,sBAAsB,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAA;QACpD,CAAC;KACF;IACD,aAAa,EAAE,CAAC,OAAO,EAAE,EAAE;QACzB,OAAO,CAAC,OAAO,CAAC,8BAA8B,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;YAChE,IAAI,CAAC,KAAK,CAAC,OAAO;gBAChB,KAAK,CAAC,OAAO,GAAG,EAAE,CAAA;YACpB,KAAK,CAAC,OAAO,CAAC,OAAO,GAAG,IAAI,CAAA;QAC9B,CAAC,CAAC,CAAA;QACF,OAAO,CAAC,OAAO,CAAC,8BAA8B,CAAC,SAAS,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE;YAC5E,IAAI,KAAK,CAAC,OAAO;gBACf,KAAK,CAAC,OAAO,CAAC,OAAO,GAAG,KAAK,CAAA;YAC/B,KAAK,CAAC,OAAO,GAAG,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAA;YACzC,IAAI,KAAK,CAAC,OAAO;gBACf,QAAQ,CAAC,SAAS,CAAC,sBAAsB,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAA;QACxE,CAAC,CAAC,CAAA;QACF,OAAO,CAAC,OAAO,CAAC,8BAA8B,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE;YACjE,IAAI,KAAK,CAAC,OAAO;gBACf,KAAK,CAAC,OAAO,CAAC,OAAO,GAAG,KAAK,CAAA;QACjC,CAAC,CAAC,CAAA;IACJ,CAAC;CACF,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,yBAAyB,EAAE,GAAG,EAAE,sBAAsB,EAAE,GAAG,mBAAmB,CAAC,OAAO,CAAA;AAE7G,eAAe,mBAAmB,CAAC,OAAO,CAAA;AAE1C,MAAM,OAAO,yBAAyB;IAGpC,YAAY,IAEX;QACC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAA;IACzB,CAAC;IAED,IAAI,aAAa;QACf,IAAI,MAAM,GAAG,KAAK,CAAA;QAElB,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK;YAC3B,IAAI,CAAC;gBACH,IAAI,QAAQ,GAA6B,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,CAAA;gBAC7E,MAAM,GAAG,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,CAAC,IAAI,MAAM,EAAE,CAAC,IAAI,EAAE,CAAA;YACjD,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,GAAG,KAAK,CAAA;YAChB,CAAC;QAEH,OAAO,MAAM,CAAA;IACf,CAAC;CACF"}
1
+ {"version":3,"file":"authentication.slice.js","sourceRoot":"","sources":["../../../src/auth/authentication.slice.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,35 @@
1
+ import { Divider, ListItemText, Menu, MenuItem } from "@mui/material";
2
+ import React from "react";
3
+ import { MdLogout } from "react-icons/md";
4
+ export const UserDropdownMenu = ({ user, anchorEl, open, onClose, onLogOut, onProfile, }) => {
5
+ return (React.createElement(React.Fragment, null,
6
+ React.createElement(Menu, { anchorEl: anchorEl, open: open, onClose: onClose, anchorOrigin: { vertical: "bottom", horizontal: "right" }, transformOrigin: { vertical: "top", horizontal: "right" }, PaperProps: {
7
+ sx: {
8
+ marginTop: .5,
9
+ minWidth: 260,
10
+ borderRadius: 2,
11
+ boxShadow: "0 8px 24px rgba(0,0,0,0.12)",
12
+ overflow: "hidden",
13
+ },
14
+ }, MenuListProps: { sx: { p: 0 } } },
15
+ React.createElement(MenuItem, { onClick: onProfile, sx: {
16
+ gap: 1,
17
+ p: 2,
18
+ // py: 1.2,
19
+ fontWeight: 500,
20
+ } },
21
+ React.createElement(ListItemText, { primary: user.name, secondary: user.email })),
22
+ React.createElement(Divider, { style: { margin: 0 } }),
23
+ React.createElement(MenuItem, { onClick: onLogOut, sx: {
24
+ gap: 1,
25
+ py: 1.2,
26
+ fontWeight: 500,
27
+ color: "error.main",
28
+ "&:hover": {
29
+ backgroundColor: "rgba(211, 47, 47, 0.08)",
30
+ },
31
+ } },
32
+ React.createElement(MdLogout, { size: 20 }),
33
+ "Sair"))));
34
+ };
35
+ //# sourceMappingURL=userDropdownMenu.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"userDropdownMenu.js","sourceRoot":"","sources":["../../../src/auth/userDropdownMenu.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,IAAI,EAAE,QAAQ,EAAyB,MAAM,eAAe,CAAA;AAE5F,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AAWzC,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,EAC/B,IAAI,EACJ,QAAQ,EACR,IAAI,EACJ,OAAO,EACP,QAAQ,EACR,SAAS,GACH,EAAE,EAAE;IACV,OAAO,CACL;QACE,oBAAC,IAAI,IACH,QAAQ,EAAE,QAAQ,EAClB,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,OAAO,EAChB,YAAY,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,OAAO,EAAE,EACzD,eAAe,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,EACzD,UAAU,EAAE;gBACV,EAAE,EAAE;oBACF,SAAS,EAAE,EAAE;oBACb,QAAQ,EAAE,GAAG;oBACb,YAAY,EAAE,CAAC;oBACf,SAAS,EAAE,6BAA6B;oBACxC,QAAQ,EAAE,QAAQ;iBACnB;aACF,EACD,aAAa,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE;YAE/B,oBAAC,QAAQ,IACP,OAAO,EAAE,SAAS,EAClB,EAAE,EAAE;oBACF,GAAG,EAAE,CAAC;oBACN,CAAC,EAAE,CAAC;oBACJ,WAAW;oBACX,UAAU,EAAE,GAAG;iBAChB;gBAED,oBAAC,YAAY,IACX,OAAO,EAAE,IAAI,CAAC,IAAI,EAClB,SAAS,EAAE,IAAI,CAAC,KAAK,GACrB,CACO;YAEX,oBAAC,OAAO,IAAC,KAAK,EAAE,EAAC,MAAM,EAAE,CAAC,EAAC,GAAG;YAG9B,oBAAC,QAAQ,IACP,OAAO,EAAE,QAAQ,EACjB,EAAE,EAAE;oBACF,GAAG,EAAE,CAAC;oBACN,EAAE,EAAE,GAAG;oBACP,UAAU,EAAE,GAAG;oBACf,KAAK,EAAE,YAAY;oBACnB,SAAS,EAAE;wBACT,eAAe,EAAE,yBAAyB;qBAC3C;iBACF;gBAED,oBAAC,QAAQ,IAAC,IAAI,EAAE,EAAE,GAAI;uBAEb,CACN,CACN,CACJ,CAAA;AACH,CAAC,CAAA"}
@@ -1,30 +1,26 @@
1
- import LogoutIcon from '@mui/icons-material/Logout';
2
- import { Avatar, IconButton, Menu, MenuItem } from "@mui/material";
1
+ import PersonIcon from "@mui/icons-material/Person";
2
+ import { Avatar, IconButton } from "@mui/material";
3
3
  import React, { useState } from "react";
4
4
  import { useDispatch } from 'react-redux';
5
5
  import { authenticationStateLogout } from './authentication.slice';
6
+ import { UserDropdownMenu } from './userDropdownMenu';
6
7
  export const UserOptionsComponent = ({ user, datacenterAuthBaseUrl, onLogOut }) => {
7
8
  const dispatch = useDispatch();
8
9
  const [menuAnchor, setAnchorElemnt] = useState(null);
9
10
  const openMenu = Boolean(menuAnchor);
10
11
  return React.createElement(React.Fragment, null,
11
- React.createElement(Menu, { id: "basic-menu", anchorEl: menuAnchor, open: openMenu, onClose: () => setAnchorElemnt(null), MenuListProps: {
12
- 'aria-labelledby': 'basic-button',
13
- } },
14
- React.createElement(MenuItem, { style: { display: 'flex', gap: 10 }, onClick: () => {
15
- let authUrl = `${datacenterAuthBaseUrl}/profile`;
16
- window.open(authUrl, '_blank')?.focus();
17
- setAnchorElemnt(null);
18
- } }, user.name),
19
- React.createElement(MenuItem, { style: { display: 'flex', gap: 10 }, onClick: () => {
20
- dispatch(authenticationStateLogout());
21
- if (onLogOut)
22
- onLogOut();
23
- setAnchorElemnt(null);
24
- } },
25
- React.createElement(LogoutIcon, null),
26
- " Sair")),
12
+ React.createElement(UserDropdownMenu, { user: user, anchorEl: menuAnchor, open: openMenu, onClose: () => setAnchorElemnt(null), onLogOut: () => {
13
+ dispatch(authenticationStateLogout());
14
+ if (onLogOut)
15
+ onLogOut();
16
+ setAnchorElemnt(null);
17
+ }, onProfile: () => {
18
+ let authUrl = `${datacenterAuthBaseUrl}/profile`;
19
+ window.open(authUrl, '_blank')?.focus();
20
+ setAnchorElemnt(null);
21
+ } }),
27
22
  React.createElement(IconButton, { onClick: e => setAnchorElemnt(e.currentTarget) },
28
- React.createElement(Avatar, { src: user.imageUrl })));
23
+ React.createElement(Avatar, { src: user.imageUrl },
24
+ React.createElement(PersonIcon, null))));
29
25
  };
30
26
  //# sourceMappingURL=userOptions.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"userOptions.js","sourceRoot":"","sources":["../../../src/auth/userOptions.tsx"],"names":[],"mappings":"AAAA,OAAO,UAAU,MAAM,4BAA4B,CAAA;AACnD,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAElE,OAAO,KAAK,EAAE,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AACvC,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AACzC,OAAO,EAAE,yBAAyB,EAAE,MAAM,wBAAwB,CAAA;AAQlE,MAAM,CAAC,MAAM,oBAAoB,GAAyC,CAAC,EAAE,IAAI,EAAE,qBAAqB,EAAE,QAAQ,EAAE,EAAE,EAAE;IACtH,MAAM,QAAQ,GAAG,WAAW,EAAO,CAAA;IACnC,MAAM,CAAC,UAAU,EAAE,eAAe,CAAC,GAAG,QAAQ,CAA+C,IAAI,CAAC,CAAA;IAClG,MAAM,QAAQ,GAAG,OAAO,CAAC,UAAU,CAAC,CAAA;IAEpC,OAAO;QACL,oBAAC,IAAI,IACH,EAAE,EAAC,YAAY,EACf,QAAQ,EAAE,UAAU,EACpB,IAAI,EAAE,QAAQ,EACd,OAAO,EAAE,GAAG,EAAE,CAAC,eAAe,CAAC,IAAI,CAAC,EACpC,aAAa,EAAE;gBACb,iBAAiB,EAAE,cAAc;aAClC;YACD,oBAAC,QAAQ,IACP,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,EAAE,EACnC,OAAO,EAAE,GAAG,EAAE;oBACZ,IAAI,OAAO,GAAG,GAAG,qBAAqB,UAAU,CAAA;oBAChD,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAA;oBACvC,eAAe,CAAC,IAAI,CAAC,CAAA;gBACvB,CAAC,IAEA,IAAI,CAAC,IAAI,CACD;YACX,oBAAC,QAAQ,IACP,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,EAAE,EACnC,OAAO,EAAE,GAAG,EAAE;oBACZ,QAAQ,CAAC,yBAAyB,EAAE,CAAC,CAAA;oBACrC,IAAI,QAAQ;wBAAE,QAAQ,EAAE,CAAA;oBACxB,eAAe,CAAC,IAAI,CAAC,CAAA;gBACvB,CAAC;gBAED,oBAAC,UAAU,OAAG;wBACL,CACN;QAEP,oBAAC,UAAU,IACT,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,eAAe,CAAC,CAAC,CAAC,aAAa,CAAC;YAC/C,oBAAC,MAAM,IAAC,GAAG,EAAE,IAAI,CAAC,QAAQ,GAAI,CAAa,CAC3C,CAAA;AACL,CAAC,CAAA"}
1
+ {"version":3,"file":"userOptions.js","sourceRoot":"","sources":["../../../src/auth/userOptions.tsx"],"names":[],"mappings":"AAAA,OAAO,UAAU,MAAM,4BAA4B,CAAA;AACnD,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAElD,OAAO,KAAK,EAAE,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AACvC,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AACzC,OAAO,EAAE,yBAAyB,EAAE,MAAM,wBAAwB,CAAA;AAClE,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AAQrD,MAAM,CAAC,MAAM,oBAAoB,GAAyC,CAAC,EAAE,IAAI,EAAE,qBAAqB,EAAE,QAAQ,EAAE,EAAE,EAAE;IACtH,MAAM,QAAQ,GAAG,WAAW,EAAO,CAAA;IACnC,MAAM,CAAC,UAAU,EAAE,eAAe,CAAC,GAAG,QAAQ,CAA+C,IAAI,CAAC,CAAA;IAClG,MAAM,QAAQ,GAAG,OAAO,CAAC,UAAU,CAAC,CAAA;IAEpC,OAAO;QACL,oBAAC,gBAAgB,IACf,IAAI,EAAE,IAAI,EACV,QAAQ,EAAE,UAAU,EACpB,IAAI,EAAE,QAAQ,EACd,OAAO,EAAE,GAAG,EAAE,CAAC,eAAe,CAAC,IAAI,CAAC,EACpC,QAAQ,EAAE,GAAG,EAAE;gBACb,QAAQ,CAAC,yBAAyB,EAAE,CAAC,CAAA;gBACrC,IAAI,QAAQ;oBAAE,QAAQ,EAAE,CAAA;gBACxB,eAAe,CAAC,IAAI,CAAC,CAAA;YACvB,CAAC,EACD,SAAS,EAAE,GAAG,EAAE;gBACd,IAAI,OAAO,GAAG,GAAG,qBAAqB,UAAU,CAAA;gBAChD,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAA;gBACvC,eAAe,CAAC,IAAI,CAAC,CAAA;YACvB,CAAC,GACD;QAEF,oBAAC,UAAU,IACT,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,eAAe,CAAC,CAAC,CAAC,aAAa,CAAC;YAC/C,oBAAC,MAAM,IAAC,GAAG,EAAE,IAAI,CAAC,QAAQ;gBACvB,oBAAC,UAAU,OAAG,CACP,CAAa,CACvB,CAAA;AACL,CAAC,CAAA"}
@@ -1,3 +1,4 @@
1
+ import { PayloadAction } from '@reduxjs/toolkit';
1
2
  import { IAuthentication, IAuthenticationRequestBodyDefault, IAuthenticationRequestBodyFromGoogleToken, IAuthenticationRequestBodyFromUuid, IUser } from 'datacenter-lib-common-ts';
2
3
  export interface IAuthenticationExt extends IAuthentication {
3
4
  user: IUser;
@@ -24,13 +25,10 @@ export declare const authenticationStateLoadFromApi: import("@reduxjs/toolkit").
24
25
  rejectedMeta?: unknown;
25
26
  }>;
26
27
  export declare const authenticationSlice: import("@reduxjs/toolkit").Slice<IAuthenticationState, {
27
- set: (state: import("immer/dist/internal").WritableDraft<IAuthenticationState>, action: {
28
- payload: any;
29
- type: string;
30
- }) => void;
28
+ set: (state: import("immer/dist/internal").WritableDraft<IAuthenticationState>, action: PayloadAction<IAuthenticationState>) => void;
31
29
  logout: (state: import("immer/dist/internal").WritableDraft<IAuthenticationState>) => void;
32
30
  }, "authenticationSlice">;
33
- export declare const authenticationStateLogout: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"authenticationSlice/logout">, authenticationStateSet: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, "authenticationSlice/set">;
31
+ export declare const authenticationStateLogout: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"authenticationSlice/logout">, authenticationStateSet: import("@reduxjs/toolkit").ActionCreatorWithPayload<IAuthenticationState, "authenticationSlice/set">;
34
32
  declare const _default: import("redux").Reducer<IAuthenticationState>;
35
33
  export default _default;
36
34
  export declare class AuthenticationStateHelper {
@@ -0,0 +1,13 @@
1
+ import { PopoverVirtualElement } from "@mui/material";
2
+ import { IUser } from "datacenter-lib-common-ts";
3
+ import React from "react";
4
+ interface Props {
5
+ user: IUser;
6
+ anchorEl?: Element | PopoverVirtualElement | (() => Element) | (() => PopoverVirtualElement) | null | undefined;
7
+ open: boolean;
8
+ onClose?: () => void;
9
+ onLogOut?: () => void;
10
+ onProfile?: () => void;
11
+ }
12
+ export declare const UserDropdownMenu: ({ user, anchorEl, open, onClose, onLogOut, onProfile, }: Props) => React.JSX.Element;
13
+ export {};
package/package.json CHANGED
@@ -61,7 +61,7 @@
61
61
  "release:minor": "standard-version -m && git add CHANGELOG.md && git commit -m \"updated CHANGELOG.md\" && npm version minor && git push origin && git push origin --tags && npm publish --access public",
62
62
  "release:patch": "standard-version -p && git add CHANGELOG.md && git commit -m \"updated CHANGELOG.md\" && npm version patch && git push origin && git push origin --tags && npm publish --access public"
63
63
  },
64
- "version": "1.0.5",
64
+ "version": "1.0.7",
65
65
  "exports": {
66
66
  ".": {
67
67
  "require": "./dist/cjs/index.js",
@@ -27,7 +27,6 @@ export const AuthCheckComponent: React.FC<IAuthCheckComponentProps> = ({ authent
27
27
  }
28
28
 
29
29
  useEffect(() => {
30
- // if (!authenticationState.payload && !authenticationState.options?.loading) {
31
30
  if (!new AuthenticationStateHelper({ state: authenticationState }).authenticated && !authenticationState.options?.loading) {
32
31
  if (authUuid) {
33
32
  dispatch(authenticationStateLoadFromApi({
@@ -41,16 +40,14 @@ export const AuthCheckComponent: React.FC<IAuthCheckComponentProps> = ({ authent
41
40
  }))
42
41
  }
43
42
  }
44
- // else if (authenticationState.payload && authUuid) {
45
43
  else if (new AuthenticationStateHelper({ state: authenticationState }).authenticated && authUuid) {
46
- // caso o usuario ja tenha logado e tente acessar a pagina de autenticacao, o redirect manda o authUuid
44
+ // caso o usuario ja tenha logado e tenta acessar a pagina de autenticacao, o redirect manda o authUuid
47
45
  // nesse cenario, deve-se eliminar o authUuid da url
48
46
  // isso vale para autenticacao em um dominio diferente do dominio do autenticador
49
47
  // para recursos no mesmo dominio do autenticador, o redirect quando o usuario já tem autenticado esta correto, ou seja,
50
- // ele nao manda o authUuid caso o usuario já esteja logado, em dominio diferentes nao tem como o autenticador saber se o app esta logado
48
+ // ele nao manda o authUuid caso o usuario já esteja logado, em dominios diferentes nao tem como o autenticador saber se o app esta logado
51
49
  onGetAuthFinish()
52
50
  }
53
- // }, [authenticationState, location]);
54
51
  }, [authenticationState]);
55
52
 
56
53
  return <>{children}</>
@@ -6,29 +6,34 @@ import { AuthUtils } from "./authUtils";
6
6
 
7
7
  export interface IAuthRequiredComponentProps {
8
8
  authenticationState: IAuthenticationState,
9
- // baseApiUrl: string,
10
9
  authUrlBase: string,
11
10
  redirectUrl: string,
12
11
  children: ReactNode;
13
12
  }
14
13
 
15
- export const AuthRequiredComponent: React.FC<IAuthRequiredComponentProps> = ({ authenticationState, authUrlBase, redirectUrl, /*baseApiUrl,*/ children }) => {
14
+ export const AuthRequiredComponent: React.FC<IAuthRequiredComponentProps> = ({ authenticationState, authUrlBase, redirectUrl, children }) => {
16
15
  const location = useLocation()
17
16
  const queryParams = new URLSearchParams(location.search)
18
17
  const authUuid = queryParams.get(AuthUtils.authUuidQueryStringName)
19
18
 
20
19
  useEffect(() => {
21
- // if (!authenticationState.payload && !authenticationState.options?.loading) {
22
20
  if (!new AuthenticationStateHelper({ state: authenticationState, }).authenticated && !authenticationState.options?.loading) {
23
21
  if (!authUuid) {
24
22
  if (!authUrlBase.includes('/login'))
25
23
  authUrlBase = `${authUrlBase}/login`
24
+
25
+ localStorage.clear()
26
+ sessionStorage.clear()
27
+ document.cookie.split(";").forEach(cookie => {
28
+ const name = cookie.split("=")[0].trim();
29
+ document.cookie = `${name}=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/;`;
30
+ });
31
+
26
32
  window.location.href = `${authUrlBase}?${AuthUtils.authToRedirectQueryStringName}=${encodeURIComponent(redirectUrl)}`
27
33
  }
28
34
  }
29
35
  }, [authenticationState]);
30
36
 
31
- // if (!authenticationState.payload) {
32
37
  if (!new AuthenticationStateHelper({ state: authenticationState, }).authenticated) {
33
38
  return null;
34
39
  }
@@ -1,4 +1,4 @@
1
- import { createAsyncThunk, createSlice } from '@reduxjs/toolkit';
1
+ import { createAsyncThunk, createSlice, PayloadAction } from '@reduxjs/toolkit';
2
2
  import { AuthenticationsApiClient, IAuthentication, IAuthenticationRequestBodyDefault, IAuthenticationRequestBodyFromGoogleToken, IAuthenticationRequestBodyFromUuid, IAuthenticationTokenData, IUser } from 'datacenter-lib-common-ts';
3
3
  import { WebUtils } from 'fwork-jsts-common';
4
4
  import { jwtDecode } from 'jwt-decode'; // dont use jsonwebtokens package here, its only for node projects
@@ -63,7 +63,7 @@ export const authenticationSlice = createSlice({
63
63
  name: 'authenticationSlice',
64
64
  initialState: initState,
65
65
  reducers: {
66
- set: (state, action) => {
66
+ set: (state, action: PayloadAction<IAuthenticationState>) => {
67
67
  state.payload = action.payload.payload
68
68
  WebUtils.setCookie('@authenticationState', JSON.stringify(state), 1)
69
69
  },
@@ -0,0 +1,78 @@
1
+ import { Divider, ListItemText, Menu, MenuItem, PopoverVirtualElement } from "@mui/material"
2
+ import { IUser } from "datacenter-lib-common-ts"
3
+ import React from "react"
4
+ import { MdLogout } from "react-icons/md"
5
+
6
+ interface Props {
7
+ user: IUser,
8
+ anchorEl?: Element | PopoverVirtualElement | (() => Element) | (() => PopoverVirtualElement) | null | undefined
9
+ open: boolean
10
+ onClose?: () => void
11
+ onLogOut?: () => void
12
+ onProfile?: () => void
13
+ }
14
+
15
+ export const UserDropdownMenu = ({
16
+ user,
17
+ anchorEl,
18
+ open,
19
+ onClose,
20
+ onLogOut,
21
+ onProfile,
22
+ }: Props) => {
23
+ return (
24
+ <>
25
+ <Menu
26
+ anchorEl={anchorEl}
27
+ open={open}
28
+ onClose={onClose}
29
+ anchorOrigin={{ vertical: "bottom", horizontal: "right" }}
30
+ transformOrigin={{ vertical: "top", horizontal: "right" }}
31
+ PaperProps={{
32
+ sx: {
33
+ marginTop: .5,
34
+ minWidth: 260,
35
+ borderRadius: 2,
36
+ boxShadow: "0 8px 24px rgba(0,0,0,0.12)",
37
+ overflow: "hidden",
38
+ },
39
+ }}
40
+ MenuListProps={{ sx: { p: 0 } }}
41
+ >
42
+ <MenuItem
43
+ onClick={onProfile}
44
+ sx={{
45
+ gap: 1,
46
+ p: 2,
47
+ // py: 1.2,
48
+ fontWeight: 500,
49
+ }}
50
+ >
51
+ <ListItemText
52
+ primary={user.name}
53
+ secondary={user.email}
54
+ />
55
+ </MenuItem>
56
+
57
+ <Divider style={{margin: 0}}/>
58
+
59
+ {/* Logout */}
60
+ <MenuItem
61
+ onClick={onLogOut}
62
+ sx={{
63
+ gap: 1,
64
+ py: 1.2,
65
+ fontWeight: 500,
66
+ color: "error.main",
67
+ "&:hover": {
68
+ backgroundColor: "rgba(211, 47, 47, 0.08)",
69
+ },
70
+ }}
71
+ >
72
+ <MdLogout size={20} />
73
+ Sair
74
+ </MenuItem>
75
+ </Menu>
76
+ </>
77
+ )
78
+ }
@@ -1,9 +1,10 @@
1
- import LogoutIcon from '@mui/icons-material/Logout'
2
- import { Avatar, IconButton, Menu, MenuItem } from "@mui/material"
1
+ import PersonIcon from "@mui/icons-material/Person"
2
+ import { Avatar, IconButton } from "@mui/material"
3
3
  import { IUser } from "datacenter-lib-common-ts"
4
4
  import React, { useState } from "react"
5
5
  import { useDispatch } from 'react-redux'
6
6
  import { authenticationStateLogout } from './authentication.slice'
7
+ import { UserDropdownMenu } from './userDropdownMenu'
7
8
 
8
9
  export interface IUserOptionsComponentProps {
9
10
  user: IUser,
@@ -17,38 +18,27 @@ export const UserOptionsComponent: React.FC<IUserOptionsComponentProps> = ({ use
17
18
  const openMenu = Boolean(menuAnchor)
18
19
 
19
20
  return <>
20
- <Menu
21
- id="basic-menu"
21
+ <UserDropdownMenu
22
+ user={user}
22
23
  anchorEl={menuAnchor}
23
24
  open={openMenu}
24
25
  onClose={() => setAnchorElemnt(null)}
25
- MenuListProps={{
26
- 'aria-labelledby': 'basic-button',
27
- }}>
28
- <MenuItem
29
- style={{ display: 'flex', gap: 10 }}
30
- onClick={() => {
31
- let authUrl = `${datacenterAuthBaseUrl}/profile`
32
- window.open(authUrl, '_blank')?.focus()
33
- setAnchorElemnt(null)
34
- }}
35
- >
36
- {user.name}
37
- </MenuItem>
38
- <MenuItem
39
- style={{ display: 'flex', gap: 10 }}
40
- onClick={() => {
41
- dispatch(authenticationStateLogout())
42
- if (onLogOut) onLogOut()
43
- setAnchorElemnt(null)
44
- }}
45
- >
46
- <LogoutIcon /> Sair
47
- </MenuItem>
48
- </Menu>
26
+ onLogOut={() => {
27
+ dispatch(authenticationStateLogout())
28
+ if (onLogOut) onLogOut()
29
+ setAnchorElemnt(null)
30
+ }}
31
+ onProfile={() => {
32
+ let authUrl = `${datacenterAuthBaseUrl}/profile`
33
+ window.open(authUrl, '_blank')?.focus()
34
+ setAnchorElemnt(null)
35
+ }}
36
+ />
49
37
 
50
38
  <IconButton
51
39
  onClick={e => setAnchorElemnt(e.currentTarget)}
52
- ><Avatar src={user.imageUrl} /></IconButton>
40
+ ><Avatar src={user.imageUrl}>
41
+ <PersonIcon />
42
+ </Avatar></IconButton>
53
43
  </>
54
44
  }