@blaze-cms/plugin-admin-core-ui 0.129.0-project-admin-customisations.0 → 0.129.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (104) hide show
  1. package/CHANGELOG.md +13 -13
  2. package/README.md +0 -97
  3. package/lib/components/Header/Header.js +3 -3
  4. package/lib/components/Header/Header.js.map +1 -1
  5. package/lib/components/Layout/Layout.js +4 -5
  6. package/lib/components/Layout/Layout.js.map +1 -1
  7. package/lib/components/Layout/components/Grid/Grid.js +82 -3
  8. package/lib/components/Layout/components/Grid/Grid.js.map +1 -1
  9. package/lib/components/SideBar/SideBar.js +19 -4
  10. package/lib/components/SideBar/SideBar.js.map +1 -1
  11. package/lib/constants.js +1 -1
  12. package/lib/constants.js.map +1 -1
  13. package/lib/containers/Home/Home.js +1 -1
  14. package/lib/containers/Home/Home.js.map +1 -1
  15. package/lib/index.js +9 -13
  16. package/lib/index.js.map +1 -1
  17. package/lib-es/components/Header/Header.js +3 -3
  18. package/lib-es/components/Header/Header.js.map +1 -1
  19. package/lib-es/components/Layout/Layout.js +4 -5
  20. package/lib-es/components/Layout/Layout.js.map +1 -1
  21. package/lib-es/components/Layout/components/Grid/Grid.js +49 -8
  22. package/lib-es/components/Layout/components/Grid/Grid.js.map +1 -1
  23. package/lib-es/components/SideBar/SideBar.js +12 -3
  24. package/lib-es/components/SideBar/SideBar.js.map +1 -1
  25. package/lib-es/constants.js +1 -1
  26. package/lib-es/constants.js.map +1 -1
  27. package/lib-es/containers/Home/Home.js +1 -1
  28. package/lib-es/containers/Home/Home.js.map +1 -1
  29. package/lib-es/index.js +9 -9
  30. package/lib-es/index.js.map +1 -1
  31. package/package.json +8 -9
  32. package/src/components/Header/Header.js +7 -9
  33. package/src/components/Layout/Layout.js +7 -11
  34. package/src/components/Layout/components/Grid/Grid.js +50 -7
  35. package/src/components/SideBar/SideBar.js +9 -5
  36. package/src/constants.js +1 -3
  37. package/src/containers/Home/Home.js +1 -1
  38. package/src/index.js +6 -7
  39. package/lib/components/Layout/Background.js +0 -26
  40. package/lib/components/Layout/Background.js.map +0 -1
  41. package/lib/components/Menu/Icons/ChevronDown.js +0 -27
  42. package/lib/components/Menu/Icons/ChevronDown.js.map +0 -1
  43. package/lib/components/Menu/Icons/ChevronUp.js +0 -27
  44. package/lib/components/Menu/Icons/ChevronUp.js.map +0 -1
  45. package/lib/components/Menu/Items/MenuActionItem.js +0 -37
  46. package/lib/components/Menu/Items/MenuActionItem.js.map +0 -1
  47. package/lib/components/Menu/Items/MenuItem.js +0 -73
  48. package/lib/components/Menu/Items/MenuItem.js.map +0 -1
  49. package/lib/components/Menu/Items/MenuLinkItem.js +0 -36
  50. package/lib/components/Menu/Items/MenuLinkItem.js.map +0 -1
  51. package/lib/components/Menu/Menu.js +0 -86
  52. package/lib/components/Menu/Menu.js.map +0 -1
  53. package/lib/components/Menu/Section/MenuSection.js +0 -28
  54. package/lib/components/Menu/Section/MenuSection.js.map +0 -1
  55. package/lib/components/Menu/Section/MenuSectionCollapsible.js +0 -91
  56. package/lib/components/Menu/Section/MenuSectionCollapsible.js.map +0 -1
  57. package/lib/components/Menu/Section/MenuSectionItem.js +0 -40
  58. package/lib/components/Menu/Section/MenuSectionItem.js.map +0 -1
  59. package/lib/components/Menu/Section/MenuSectionItems.js +0 -33
  60. package/lib/components/Menu/Section/MenuSectionItems.js.map +0 -1
  61. package/lib/components/Menu/index.js +0 -12
  62. package/lib/components/Menu/index.js.map +0 -1
  63. package/lib/utils/menu-handler-singleton.js +0 -114
  64. package/lib/utils/menu-handler-singleton.js.map +0 -1
  65. package/lib-es/components/Layout/Background.js +0 -16
  66. package/lib-es/components/Layout/Background.js.map +0 -1
  67. package/lib-es/components/Menu/Icons/ChevronDown.js +0 -16
  68. package/lib-es/components/Menu/Icons/ChevronDown.js.map +0 -1
  69. package/lib-es/components/Menu/Icons/ChevronUp.js +0 -16
  70. package/lib-es/components/Menu/Icons/ChevronUp.js.map +0 -1
  71. package/lib-es/components/Menu/Items/MenuActionItem.js +0 -31
  72. package/lib-es/components/Menu/Items/MenuActionItem.js.map +0 -1
  73. package/lib-es/components/Menu/Items/MenuItem.js +0 -64
  74. package/lib-es/components/Menu/Items/MenuItem.js.map +0 -1
  75. package/lib-es/components/Menu/Items/MenuLinkItem.js +0 -28
  76. package/lib-es/components/Menu/Items/MenuLinkItem.js.map +0 -1
  77. package/lib-es/components/Menu/Menu.js +0 -40
  78. package/lib-es/components/Menu/Menu.js.map +0 -1
  79. package/lib-es/components/Menu/Section/MenuSection.js +0 -18
  80. package/lib-es/components/Menu/Section/MenuSection.js.map +0 -1
  81. package/lib-es/components/Menu/Section/MenuSectionCollapsible.js +0 -67
  82. package/lib-es/components/Menu/Section/MenuSectionCollapsible.js.map +0 -1
  83. package/lib-es/components/Menu/Section/MenuSectionItem.js +0 -30
  84. package/lib-es/components/Menu/Section/MenuSectionItem.js.map +0 -1
  85. package/lib-es/components/Menu/Section/MenuSectionItems.js +0 -20
  86. package/lib-es/components/Menu/Section/MenuSectionItems.js.map +0 -1
  87. package/lib-es/components/Menu/index.js +0 -3
  88. package/lib-es/components/Menu/index.js.map +0 -1
  89. package/lib-es/utils/menu-handler-singleton.js +0 -55
  90. package/lib-es/utils/menu-handler-singleton.js.map +0 -1
  91. package/src/components/Layout/Background.js +0 -16
  92. package/src/components/Layout/bg.svg +0 -22
  93. package/src/components/Menu/Icons/ChevronDown.js +0 -16
  94. package/src/components/Menu/Icons/ChevronUp.js +0 -16
  95. package/src/components/Menu/Items/MenuActionItem.js +0 -30
  96. package/src/components/Menu/Items/MenuItem.js +0 -49
  97. package/src/components/Menu/Items/MenuLinkItem.js +0 -25
  98. package/src/components/Menu/Menu.js +0 -48
  99. package/src/components/Menu/Section/MenuSection.js +0 -16
  100. package/src/components/Menu/Section/MenuSectionCollapsible.js +0 -59
  101. package/src/components/Menu/Section/MenuSectionItem.js +0 -28
  102. package/src/components/Menu/Section/MenuSectionItems.js +0 -17
  103. package/src/components/Menu/index.js +0 -3
  104. package/src/utils/menu-handler-singleton.js +0 -64
@@ -7,15 +7,15 @@ const Header = ({
7
7
  isLoggedIn,
8
8
  isOpenMenu,
9
9
  onMenuClick
10
- }) => /*#__PURE__*/React.createElement(React.Fragment, null, isLoggedIn && /*#__PURE__*/React.createElement("header", {
10
+ }) => /*#__PURE__*/React.createElement("header", {
11
11
  className: "header"
12
- }, /*#__PURE__*/React.createElement("div", {
12
+ }, isLoggedIn && /*#__PURE__*/React.createElement("div", {
13
13
  className: "header__menu"
14
14
  }, /*#__PURE__*/React.createElement(Menu, {
15
15
  isOpenMenu: isOpenMenu,
16
16
  onMenuClick: onMenuClick,
17
17
  id: "menu-button"
18
- })), /*#__PURE__*/React.createElement(Logo, LOGO_PROPS), /*#__PURE__*/React.createElement(SearchAdmin, null)));
18
+ })), /*#__PURE__*/React.createElement(Logo, LOGO_PROPS), isLoggedIn && /*#__PURE__*/React.createElement(SearchAdmin, null));
19
19
  Header.propTypes = {
20
20
  isLoggedIn: PropTypes.bool,
21
21
  isOpenMenu: PropTypes.bool.isRequired,
@@ -1 +1 @@
1
- {"version":3,"file":"Header.js","names":["React","PropTypes","SearchAdmin","Menu","Logo","LOGO_PROPS","Header","isLoggedIn","isOpenMenu","onMenuClick","createElement","Fragment","className","id","propTypes","bool","isRequired","func","defaultProps"],"sources":["../../../src/components/Header/Header.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { SearchAdmin } from '@blaze-cms/plugin-search-ui';\nimport { Menu, Logo } from './components';\nimport { LOGO_PROPS } from '../../constants';\n\nconst Header = ({ isLoggedIn, isOpenMenu, onMenuClick }) => (\n <>\n {isLoggedIn && (\n <header className=\"header\">\n <div className=\"header__menu\">\n <Menu isOpenMenu={isOpenMenu} onMenuClick={onMenuClick} id=\"menu-button\" />\n </div>\n <Logo {...LOGO_PROPS} />\n <SearchAdmin />\n </header>\n )}\n </>\n);\n\nHeader.propTypes = {\n isLoggedIn: PropTypes.bool,\n isOpenMenu: PropTypes.bool.isRequired,\n onMenuClick: PropTypes.func.isRequired\n};\n\nHeader.defaultProps = {\n isLoggedIn: false\n};\n\nexport default Header;\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,SAAS,MAAM,YAAY;AAClC,SAASC,WAAW,QAAQ,6BAA6B;AACzD,SAASC,IAAI,EAAEC,IAAI,QAAQ,cAAc;AACzC,SAASC,UAAU,QAAQ,iBAAiB;AAE5C,MAAMC,MAAM,GAAGA,CAAC;EAAEC,UAAU;EAAEC,UAAU;EAAEC;AAAY,CAAC,kBACrDT,KAAA,CAAAU,aAAA,CAAAV,KAAA,CAAAW,QAAA,QACGJ,UAAU,iBACTP,KAAA,CAAAU,aAAA;EAAQE,SAAS,EAAC;AAAQ,gBACxBZ,KAAA,CAAAU,aAAA;EAAKE,SAAS,EAAC;AAAc,gBAC3BZ,KAAA,CAAAU,aAAA,CAACP,IAAI;EAACK,UAAU,EAAEA,UAAW;EAACC,WAAW,EAAEA,WAAY;EAACI,EAAE,EAAC;AAAa,CAAE,CACvE,CAAC,eACNb,KAAA,CAAAU,aAAA,CAACN,IAAI,EAAKC,UAAa,CAAC,eACxBL,KAAA,CAAAU,aAAA,CAACR,WAAW,MAAE,CACR,CAEV,CACH;AAEDI,MAAM,CAACQ,SAAS,GAAG;EACjBP,UAAU,EAAEN,SAAS,CAACc,IAAI;EAC1BP,UAAU,EAAEP,SAAS,CAACc,IAAI,CAACC,UAAU;EACrCP,WAAW,EAAER,SAAS,CAACgB,IAAI,CAACD;AAC9B,CAAC;AAEDV,MAAM,CAACY,YAAY,GAAG;EACpBX,UAAU,EAAE;AACd,CAAC;AAED,eAAeD,MAAM"}
1
+ {"version":3,"file":"Header.js","names":["React","PropTypes","SearchAdmin","Menu","Logo","LOGO_PROPS","Header","isLoggedIn","isOpenMenu","onMenuClick","createElement","className","id","propTypes","bool","isRequired","func","defaultProps"],"sources":["../../../src/components/Header/Header.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { SearchAdmin } from '@blaze-cms/plugin-search-ui';\nimport { Menu, Logo } from './components';\nimport { LOGO_PROPS } from '../../constants';\n\nconst Header = ({ isLoggedIn, isOpenMenu, onMenuClick }) => (\n <header className=\"header\">\n {isLoggedIn && (\n <div className=\"header__menu\">\n <Menu isOpenMenu={isOpenMenu} onMenuClick={onMenuClick} id=\"menu-button\" />\n </div>\n )}\n <Logo {...LOGO_PROPS} />\n {isLoggedIn && <SearchAdmin />}\n </header>\n);\n\nHeader.propTypes = {\n isLoggedIn: PropTypes.bool,\n isOpenMenu: PropTypes.bool.isRequired,\n onMenuClick: PropTypes.func.isRequired\n};\n\nHeader.defaultProps = {\n isLoggedIn: false\n};\n\nexport default Header;\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,SAAS,MAAM,YAAY;AAClC,SAASC,WAAW,QAAQ,6BAA6B;AACzD,SAASC,IAAI,EAAEC,IAAI,QAAQ,cAAc;AACzC,SAASC,UAAU,QAAQ,iBAAiB;AAE5C,MAAMC,MAAM,GAAGA,CAAC;EAAEC,UAAU;EAAEC,UAAU;EAAEC;AAAY,CAAC,kBACrDT,KAAA,CAAAU,aAAA;EAAQC,SAAS,EAAC;AAAQ,GACvBJ,UAAU,iBACTP,KAAA,CAAAU,aAAA;EAAKC,SAAS,EAAC;AAAc,gBAC3BX,KAAA,CAAAU,aAAA,CAACP,IAAI;EAACK,UAAU,EAAEA,UAAW;EAACC,WAAW,EAAEA,WAAY;EAACG,EAAE,EAAC;AAAa,CAAE,CACvE,CACN,eACDZ,KAAA,CAAAU,aAAA,CAACN,IAAI,EAAKC,UAAa,CAAC,EACvBE,UAAU,iBAAIP,KAAA,CAAAU,aAAA,CAACR,WAAW,MAAE,CACvB,CACT;AAEDI,MAAM,CAACO,SAAS,GAAG;EACjBN,UAAU,EAAEN,SAAS,CAACa,IAAI;EAC1BN,UAAU,EAAEP,SAAS,CAACa,IAAI,CAACC,UAAU;EACrCN,WAAW,EAAER,SAAS,CAACe,IAAI,CAACD;AAC9B,CAAC;AAEDT,MAAM,CAACW,YAAY,GAAG;EACpBV,UAAU,EAAE;AACd,CAAC;AAED,eAAeD,MAAM"}
@@ -3,17 +3,16 @@ import PropTypes from 'prop-types';
3
3
  import { Query } from '@apollo/client/react/components';
4
4
  import { getQuery } from '@blaze-cms/admin-ui-utils';
5
5
  import { Login } from '@blaze-cms/plugin-auth-ui';
6
+ import Header from '../Header';
6
7
  import { Grid } from './components';
7
- import Background from './Background';
8
8
  import '@blaze-cms/admin-ui-styles/main.scss';
9
- import Header from '../Header';
10
9
  const Layout = ({
11
10
  children
12
11
  }) => {
13
12
  const [isOpenMenu, setOpenMenu] = useState(true);
14
13
  const onMenuClick = () => setOpenMenu(!isOpenMenu);
15
14
  return /*#__PURE__*/React.createElement("div", {
16
- className: "site-container grid--site-container"
15
+ className: "site-container grid grid--site-container"
17
16
  }, /*#__PURE__*/React.createElement(Query, {
18
17
  query: getQuery('GET_USER_AUTH_DATA'),
19
18
  errorPolicy: "all"
@@ -30,11 +29,11 @@ const Layout = ({
30
29
  isLoggedIn: isLoggedIn,
31
30
  onMenuClick: onMenuClick,
32
31
  isOpenMenu: isOpenMenu
33
- }), isLoggedIn ? /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Grid, {
32
+ }), isLoggedIn ? /*#__PURE__*/React.createElement(Grid, {
34
33
  isOpenMenu: isOpenMenu,
35
34
  onMenuClick: onMenuClick,
36
35
  userData: userData
37
- }, children)) : /*#__PURE__*/React.createElement(Background, null, /*#__PURE__*/React.createElement(Login, null)));
36
+ }, children) : /*#__PURE__*/React.createElement(Login, null));
38
37
  }));
39
38
  };
40
39
  Layout.propTypes = {
@@ -1 +1 @@
1
- {"version":3,"file":"Layout.js","names":["React","useState","PropTypes","Query","getQuery","Login","Grid","Background","Header","Layout","children","isOpenMenu","setOpenMenu","onMenuClick","createElement","className","query","errorPolicy","data","session","isLoggedIn","userData","Fragment","propTypes","oneOfType","arrayOf","node","isRequired"],"sources":["../../../src/components/Layout/Layout.js"],"sourcesContent":["import React, { useState } from 'react';\nimport PropTypes from 'prop-types';\nimport { Query } from '@apollo/client/react/components';\nimport { getQuery } from '@blaze-cms/admin-ui-utils';\nimport { Login } from '@blaze-cms/plugin-auth-ui';\nimport { Grid } from './components';\nimport Background from './Background';\nimport '@blaze-cms/admin-ui-styles/main.scss';\nimport Header from '../Header';\n\nconst Layout = ({ children }) => {\n const [isOpenMenu, setOpenMenu] = useState(true);\n const onMenuClick = () => setOpenMenu(!isOpenMenu);\n return (\n <div className=\"site-container grid--site-container\">\n <Query query={getQuery('GET_USER_AUTH_DATA')} errorPolicy=\"all\">\n {({ data = {} }) => {\n const { session: { isLoggedIn, userData = {} } = {} } = data;\n\n return (\n <>\n <Header isLoggedIn={isLoggedIn} onMenuClick={onMenuClick} isOpenMenu={isOpenMenu} />\n {isLoggedIn ? (\n <>\n <Grid isOpenMenu={isOpenMenu} onMenuClick={onMenuClick} userData={userData}>\n {children}\n </Grid>\n </>\n ) : (\n <Background>\n <Login />\n </Background>\n )}\n </>\n );\n }}\n </Query>\n </div>\n );\n};\n\nLayout.propTypes = {\n children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]).isRequired\n};\n\nexport default Layout;\n"],"mappings":"AAAA,OAAOA,KAAK,IAAIC,QAAQ,QAAQ,OAAO;AACvC,OAAOC,SAAS,MAAM,YAAY;AAClC,SAASC,KAAK,QAAQ,iCAAiC;AACvD,SAASC,QAAQ,QAAQ,2BAA2B;AACpD,SAASC,KAAK,QAAQ,2BAA2B;AACjD,SAASC,IAAI,QAAQ,cAAc;AACnC,OAAOC,UAAU,MAAM,cAAc;AACrC,OAAO,sCAAsC;AAC7C,OAAOC,MAAM,MAAM,WAAW;AAE9B,MAAMC,MAAM,GAAGA,CAAC;EAAEC;AAAS,CAAC,KAAK;EAC/B,MAAM,CAACC,UAAU,EAAEC,WAAW,CAAC,GAAGX,QAAQ,CAAC,IAAI,CAAC;EAChD,MAAMY,WAAW,GAAGA,CAAA,KAAMD,WAAW,CAAC,CAACD,UAAU,CAAC;EAClD,oBACEX,KAAA,CAAAc,aAAA;IAAKC,SAAS,EAAC;EAAqC,gBAClDf,KAAA,CAAAc,aAAA,CAACX,KAAK;IAACa,KAAK,EAAEZ,QAAQ,CAAC,oBAAoB,CAAE;IAACa,WAAW,EAAC;EAAK,GAC5D,CAAC;IAAEC,IAAI,GAAG,CAAC;EAAE,CAAC,KAAK;IAClB,MAAM;MAAEC,OAAO,EAAE;QAAEC,UAAU;QAAEC,QAAQ,GAAG,CAAC;MAAE,CAAC,GAAG,CAAC;IAAE,CAAC,GAAGH,IAAI;IAE5D,oBACElB,KAAA,CAAAc,aAAA,CAAAd,KAAA,CAAAsB,QAAA,qBACEtB,KAAA,CAAAc,aAAA,CAACN,MAAM;MAACY,UAAU,EAAEA,UAAW;MAACP,WAAW,EAAEA,WAAY;MAACF,UAAU,EAAEA;IAAW,CAAE,CAAC,EACnFS,UAAU,gBACTpB,KAAA,CAAAc,aAAA,CAAAd,KAAA,CAAAsB,QAAA,qBACEtB,KAAA,CAAAc,aAAA,CAACR,IAAI;MAACK,UAAU,EAAEA,UAAW;MAACE,WAAW,EAAEA,WAAY;MAACQ,QAAQ,EAAEA;IAAS,GACxEX,QACG,CACN,CAAC,gBAEHV,KAAA,CAAAc,aAAA,CAACP,UAAU,qBACTP,KAAA,CAAAc,aAAA,CAACT,KAAK,MAAE,CACE,CAEd,CAAC;EAEP,CACK,CACJ,CAAC;AAEV,CAAC;AAEDI,MAAM,CAACc,SAAS,GAAG;EACjBb,QAAQ,EAAER,SAAS,CAACsB,SAAS,CAAC,CAACtB,SAAS,CAACuB,OAAO,CAACvB,SAAS,CAACwB,IAAI,CAAC,EAAExB,SAAS,CAACwB,IAAI,CAAC,CAAC,CAACC;AACrF,CAAC;AAED,eAAelB,MAAM"}
1
+ {"version":3,"file":"Layout.js","names":["React","useState","PropTypes","Query","getQuery","Login","Header","Grid","Layout","children","isOpenMenu","setOpenMenu","onMenuClick","createElement","className","query","errorPolicy","data","session","isLoggedIn","userData","Fragment","propTypes","oneOfType","arrayOf","node","isRequired"],"sources":["../../../src/components/Layout/Layout.js"],"sourcesContent":["import React, { useState } from 'react';\nimport PropTypes from 'prop-types';\nimport { Query } from '@apollo/client/react/components';\nimport { getQuery } from '@blaze-cms/admin-ui-utils';\nimport { Login } from '@blaze-cms/plugin-auth-ui';\nimport Header from '../Header';\nimport { Grid } from './components';\n\nimport '@blaze-cms/admin-ui-styles/main.scss';\n\nconst Layout = ({ children }) => {\n const [isOpenMenu, setOpenMenu] = useState(true);\n const onMenuClick = () => setOpenMenu(!isOpenMenu);\n return (\n <div className=\"site-container grid grid--site-container\">\n <Query query={getQuery('GET_USER_AUTH_DATA')} errorPolicy=\"all\">\n {({ data = {} }) => {\n const { session: { isLoggedIn, userData = {} } = {} } = data;\n\n return (\n <>\n <Header isLoggedIn={isLoggedIn} onMenuClick={onMenuClick} isOpenMenu={isOpenMenu} />\n {isLoggedIn ? (\n <Grid isOpenMenu={isOpenMenu} onMenuClick={onMenuClick} userData={userData}>\n {children}\n </Grid>\n ) : (\n <Login />\n )}\n </>\n );\n }}\n </Query>\n </div>\n );\n};\n\nLayout.propTypes = {\n children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]).isRequired\n};\n\nexport default Layout;\n"],"mappings":"AAAA,OAAOA,KAAK,IAAIC,QAAQ,QAAQ,OAAO;AACvC,OAAOC,SAAS,MAAM,YAAY;AAClC,SAASC,KAAK,QAAQ,iCAAiC;AACvD,SAASC,QAAQ,QAAQ,2BAA2B;AACpD,SAASC,KAAK,QAAQ,2BAA2B;AACjD,OAAOC,MAAM,MAAM,WAAW;AAC9B,SAASC,IAAI,QAAQ,cAAc;AAEnC,OAAO,sCAAsC;AAE7C,MAAMC,MAAM,GAAGA,CAAC;EAAEC;AAAS,CAAC,KAAK;EAC/B,MAAM,CAACC,UAAU,EAAEC,WAAW,CAAC,GAAGV,QAAQ,CAAC,IAAI,CAAC;EAChD,MAAMW,WAAW,GAAGA,CAAA,KAAMD,WAAW,CAAC,CAACD,UAAU,CAAC;EAClD,oBACEV,KAAA,CAAAa,aAAA;IAAKC,SAAS,EAAC;EAA0C,gBACvDd,KAAA,CAAAa,aAAA,CAACV,KAAK;IAACY,KAAK,EAAEX,QAAQ,CAAC,oBAAoB,CAAE;IAACY,WAAW,EAAC;EAAK,GAC5D,CAAC;IAAEC,IAAI,GAAG,CAAC;EAAE,CAAC,KAAK;IAClB,MAAM;MAAEC,OAAO,EAAE;QAAEC,UAAU;QAAEC,QAAQ,GAAG,CAAC;MAAE,CAAC,GAAG,CAAC;IAAE,CAAC,GAAGH,IAAI;IAE5D,oBACEjB,KAAA,CAAAa,aAAA,CAAAb,KAAA,CAAAqB,QAAA,qBACErB,KAAA,CAAAa,aAAA,CAACP,MAAM;MAACa,UAAU,EAAEA,UAAW;MAACP,WAAW,EAAEA,WAAY;MAACF,UAAU,EAAEA;IAAW,CAAE,CAAC,EACnFS,UAAU,gBACTnB,KAAA,CAAAa,aAAA,CAACN,IAAI;MAACG,UAAU,EAAEA,UAAW;MAACE,WAAW,EAAEA,WAAY;MAACQ,QAAQ,EAAEA;IAAS,GACxEX,QACG,CAAC,gBAEPT,KAAA,CAAAa,aAAA,CAACR,KAAK,MAAE,CAEV,CAAC;EAEP,CACK,CACJ,CAAC;AAEV,CAAC;AAEDG,MAAM,CAACc,SAAS,GAAG;EACjBb,QAAQ,EAAEP,SAAS,CAACqB,SAAS,CAAC,CAACrB,SAAS,CAACsB,OAAO,CAACtB,SAAS,CAACuB,IAAI,CAAC,EAAEvB,SAAS,CAACuB,IAAI,CAAC,CAAC,CAACC;AACrF,CAAC;AAED,eAAelB,MAAM"}
@@ -1,18 +1,59 @@
1
- import React from 'react';
1
+ import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
3
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
4
+ import React, { useState, useEffect } from 'react';
2
5
  import PropTypes from 'prop-types';
6
+ import { useApolloClient } from '@apollo/client';
7
+ import { getQuery, MainContextProvider } from '@blaze-cms/admin-ui-utils';
3
8
  import SideBar from '../../../SideBar';
4
9
  const Grid = ({
5
10
  children,
6
11
  isOpenMenu,
7
12
  onMenuClick,
8
13
  userData
9
- }) => /*#__PURE__*/React.createElement("div", {
10
- className: "main-content grid grid--main-content"
11
- }, /*#__PURE__*/React.createElement(SideBar, {
12
- isOpenMenu: isOpenMenu,
13
- onMenuClick: onMenuClick,
14
- userData: userData
15
- }), children);
14
+ }) => {
15
+ const [menuItems, setMenuItems] = useState(null);
16
+ const client = useApolloClient();
17
+ useEffect(() => {
18
+ (async () => {
19
+ const {
20
+ data: {
21
+ getMenuItems
22
+ }
23
+ } = await client.query({
24
+ query: getQuery('GET_MENU_ITEMS')
25
+ });
26
+ const parsedMenuItems = getMenuItems.map(([key, {
27
+ header,
28
+ items
29
+ }]) => [key, {
30
+ header,
31
+ items: items.map(item => _objectSpread(_objectSpread({}, item), {}, {
32
+ isDisplayedPrompt: true
33
+ }))
34
+ }]);
35
+ if (!menuItems) {
36
+ setMenuItems(parsedMenuItems);
37
+ }
38
+ })();
39
+ }, [client, menuItems]);
40
+ const updateItems = items => {
41
+ setMenuItems(items);
42
+ };
43
+ return menuItems ? /*#__PURE__*/React.createElement(MainContextProvider, {
44
+ value: {
45
+ menuItems,
46
+ setMenuItems: items => updateItems(items)
47
+ }
48
+ }, /*#__PURE__*/React.createElement("div", {
49
+ className: "main-content grid grid--main-content"
50
+ }, /*#__PURE__*/React.createElement(SideBar, {
51
+ isOpenMenu: isOpenMenu,
52
+ menuItems: menuItems,
53
+ onMenuClick: onMenuClick,
54
+ userData: userData
55
+ }), children)) : 'loading';
56
+ };
16
57
  Grid.propTypes = {
17
58
  children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]).isRequired,
18
59
  isOpenMenu: PropTypes.bool.isRequired,
@@ -1 +1 @@
1
- {"version":3,"file":"Grid.js","names":["React","PropTypes","SideBar","Grid","children","isOpenMenu","onMenuClick","userData","createElement","className","propTypes","oneOfType","arrayOf","node","isRequired","bool","func","object","defaultProps"],"sources":["../../../../../src/components/Layout/components/Grid/Grid.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport SideBar from '../../../SideBar';\n\nconst Grid = ({ children, isOpenMenu, onMenuClick, userData }) => (\n <div className=\"main-content grid grid--main-content\">\n <SideBar isOpenMenu={isOpenMenu} onMenuClick={onMenuClick} userData={userData} />\n {children}\n </div>\n);\n\nGrid.propTypes = {\n children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]).isRequired,\n isOpenMenu: PropTypes.bool.isRequired,\n onMenuClick: PropTypes.func.isRequired,\n userData: PropTypes.object\n};\n\nGrid.defaultProps = {\n userData: {}\n};\n\nexport default Grid;\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,SAAS,MAAM,YAAY;AAClC,OAAOC,OAAO,MAAM,kBAAkB;AAEtC,MAAMC,IAAI,GAAGA,CAAC;EAAEC,QAAQ;EAAEC,UAAU;EAAEC,WAAW;EAAEC;AAAS,CAAC,kBAC3DP,KAAA,CAAAQ,aAAA;EAAKC,SAAS,EAAC;AAAsC,gBACnDT,KAAA,CAAAQ,aAAA,CAACN,OAAO;EAACG,UAAU,EAAEA,UAAW;EAACC,WAAW,EAAEA,WAAY;EAACC,QAAQ,EAAEA;AAAS,CAAE,CAAC,EAChFH,QACE,CACN;AAEDD,IAAI,CAACO,SAAS,GAAG;EACfN,QAAQ,EAAEH,SAAS,CAACU,SAAS,CAAC,CAACV,SAAS,CAACW,OAAO,CAACX,SAAS,CAACY,IAAI,CAAC,EAAEZ,SAAS,CAACY,IAAI,CAAC,CAAC,CAACC,UAAU;EAC7FT,UAAU,EAAEJ,SAAS,CAACc,IAAI,CAACD,UAAU;EACrCR,WAAW,EAAEL,SAAS,CAACe,IAAI,CAACF,UAAU;EACtCP,QAAQ,EAAEN,SAAS,CAACgB;AACtB,CAAC;AAEDd,IAAI,CAACe,YAAY,GAAG;EAClBX,QAAQ,EAAE,CAAC;AACb,CAAC;AAED,eAAeJ,IAAI"}
1
+ {"version":3,"file":"Grid.js","names":["React","useState","useEffect","PropTypes","useApolloClient","getQuery","MainContextProvider","SideBar","Grid","children","isOpenMenu","onMenuClick","userData","menuItems","setMenuItems","client","data","getMenuItems","query","parsedMenuItems","map","key","header","items","item","_objectSpread","isDisplayedPrompt","updateItems","createElement","value","className","propTypes","oneOfType","arrayOf","node","isRequired","bool","func","object","defaultProps"],"sources":["../../../../../src/components/Layout/components/Grid/Grid.js"],"sourcesContent":["import React, { useState, useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport { useApolloClient } from '@apollo/client';\nimport { getQuery, MainContextProvider } from '@blaze-cms/admin-ui-utils';\nimport SideBar from '../../../SideBar';\n\nconst Grid = ({ children, isOpenMenu, onMenuClick, userData }) => {\n const [menuItems, setMenuItems] = useState(null);\n const client = useApolloClient();\n\n useEffect(\n () => {\n (async () => {\n const {\n data: { getMenuItems }\n } = await client.query({ query: getQuery('GET_MENU_ITEMS') });\n\n const parsedMenuItems = getMenuItems.map(([key, { header, items }]) => [\n key,\n {\n header,\n items: items.map(item => ({ ...item, isDisplayedPrompt: true }))\n }\n ]);\n\n if (!menuItems) {\n setMenuItems(parsedMenuItems);\n }\n })();\n },\n [client, menuItems]\n );\n\n const updateItems = items => {\n setMenuItems(items);\n };\n\n return menuItems ? (\n <MainContextProvider value={{ menuItems, setMenuItems: items => updateItems(items) }}>\n <div className=\"main-content grid grid--main-content\">\n <SideBar\n isOpenMenu={isOpenMenu}\n menuItems={menuItems}\n onMenuClick={onMenuClick}\n userData={userData}\n />\n {children}\n </div>\n </MainContextProvider>\n ) : (\n 'loading'\n );\n};\n\nGrid.propTypes = {\n children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]).isRequired,\n isOpenMenu: PropTypes.bool.isRequired,\n onMenuClick: PropTypes.func.isRequired,\n userData: PropTypes.object\n};\n\nGrid.defaultProps = {\n userData: {}\n};\n\nexport default Grid;\n"],"mappings":";;;AAAA,OAAOA,KAAK,IAAIC,QAAQ,EAAEC,SAAS,QAAQ,OAAO;AAClD,OAAOC,SAAS,MAAM,YAAY;AAClC,SAASC,eAAe,QAAQ,gBAAgB;AAChD,SAASC,QAAQ,EAAEC,mBAAmB,QAAQ,2BAA2B;AACzE,OAAOC,OAAO,MAAM,kBAAkB;AAEtC,MAAMC,IAAI,GAAGA,CAAC;EAAEC,QAAQ;EAAEC,UAAU;EAAEC,WAAW;EAAEC;AAAS,CAAC,KAAK;EAChE,MAAM,CAACC,SAAS,EAAEC,YAAY,CAAC,GAAGb,QAAQ,CAAC,IAAI,CAAC;EAChD,MAAMc,MAAM,GAAGX,eAAe,CAAC,CAAC;EAEhCF,SAAS,CACP,MAAM;IACJ,CAAC,YAAY;MACX,MAAM;QACJc,IAAI,EAAE;UAAEC;QAAa;MACvB,CAAC,GAAG,MAAMF,MAAM,CAACG,KAAK,CAAC;QAAEA,KAAK,EAAEb,QAAQ,CAAC,gBAAgB;MAAE,CAAC,CAAC;MAE7D,MAAMc,eAAe,GAAGF,YAAY,CAACG,GAAG,CAAC,CAAC,CAACC,GAAG,EAAE;QAAEC,MAAM;QAAEC;MAAM,CAAC,CAAC,KAAK,CACrEF,GAAG,EACH;QACEC,MAAM;QACNC,KAAK,EAAEA,KAAK,CAACH,GAAG,CAACI,IAAI,IAAAC,aAAA,CAAAA,aAAA,KAAUD,IAAI;UAAEE,iBAAiB,EAAE;QAAI,EAAG;MACjE,CAAC,CACF,CAAC;MAEF,IAAI,CAACb,SAAS,EAAE;QACdC,YAAY,CAACK,eAAe,CAAC;MAC/B;IACF,CAAC,EAAE,CAAC;EACN,CAAC,EACD,CAACJ,MAAM,EAAEF,SAAS,CACpB,CAAC;EAED,MAAMc,WAAW,GAAGJ,KAAK,IAAI;IAC3BT,YAAY,CAACS,KAAK,CAAC;EACrB,CAAC;EAED,OAAOV,SAAS,gBACdb,KAAA,CAAA4B,aAAA,CAACtB,mBAAmB;IAACuB,KAAK,EAAE;MAAEhB,SAAS;MAAEC,YAAY,EAAES,KAAK,IAAII,WAAW,CAACJ,KAAK;IAAE;EAAE,gBACnFvB,KAAA,CAAA4B,aAAA;IAAKE,SAAS,EAAC;EAAsC,gBACnD9B,KAAA,CAAA4B,aAAA,CAACrB,OAAO;IACNG,UAAU,EAAEA,UAAW;IACvBG,SAAS,EAAEA,SAAU;IACrBF,WAAW,EAAEA,WAAY;IACzBC,QAAQ,EAAEA;EAAS,CACpB,CAAC,EACDH,QACE,CACc,CAAC,GAEtB,SACD;AACH,CAAC;AAEDD,IAAI,CAACuB,SAAS,GAAG;EACftB,QAAQ,EAAEN,SAAS,CAAC6B,SAAS,CAAC,CAAC7B,SAAS,CAAC8B,OAAO,CAAC9B,SAAS,CAAC+B,IAAI,CAAC,EAAE/B,SAAS,CAAC+B,IAAI,CAAC,CAAC,CAACC,UAAU;EAC7FzB,UAAU,EAAEP,SAAS,CAACiC,IAAI,CAACD,UAAU;EACrCxB,WAAW,EAAER,SAAS,CAACkC,IAAI,CAACF,UAAU;EACtCvB,QAAQ,EAAET,SAAS,CAACmC;AACtB,CAAC;AAED9B,IAAI,CAAC+B,YAAY,GAAG;EAClB3B,QAAQ,EAAE,CAAC;AACb,CAAC;AAED,eAAeJ,IAAI"}
@@ -1,11 +1,14 @@
1
+ import _extends from "@babel/runtime/helpers/extends";
1
2
  import React from 'react';
3
+ import { Link } from 'react-router-dom';
2
4
  import classnames from 'classnames';
3
5
  import PropTypes from 'prop-types';
4
6
  import { useApolloClient } from '@apollo/client';
5
7
  import Avatar from '@blaze-react/avatar';
6
8
  import { handleLogout } from '@blaze-cms/core-auth-ui';
7
- import Menu from '../Menu';
9
+ import { SideBlock } from './components';
8
10
  const SideBar = ({
11
+ menuItems,
9
12
  isOpenMenu,
10
13
  onMenuClick,
11
14
  userData
@@ -33,11 +36,16 @@ const SideBar = ({
33
36
  onClick: onMenuClick
34
37
  }, /*#__PURE__*/React.createElement("i", {
35
38
  className: "material-icons"
36
- }, "keyboard_arrow_left")), /*#__PURE__*/React.createElement("div", {
39
+ }, "keyboard_arrow_left")), /*#__PURE__*/React.createElement(Link, {
40
+ to: "/",
41
+ className: "side-nav__block-home"
42
+ }, "Dashboard"), /*#__PURE__*/React.createElement("div", {
37
43
  className: sideNavWrapperClassname,
38
44
  "data-testid": "sidenav",
39
45
  id: "side-nav__wrapper"
40
- }, /*#__PURE__*/React.createElement(Menu, null)), /*#__PURE__*/React.createElement("div", {
46
+ }, menuItems.length ? menuItems.map(([, data]) => /*#__PURE__*/React.createElement(SideBlock, _extends({
47
+ key: data.header
48
+ }, data))) : 'Not available content types'), /*#__PURE__*/React.createElement("div", {
41
49
  className: "side-nav__user"
42
50
  }, /*#__PURE__*/React.createElement("div", {
43
51
  className: "side-nav__user--info"
@@ -60,6 +68,7 @@ const SideBar = ({
60
68
  }, "Log off")));
61
69
  };
62
70
  SideBar.propTypes = {
71
+ menuItems: PropTypes.array.isRequired,
63
72
  isOpenMenu: PropTypes.bool.isRequired,
64
73
  onMenuClick: PropTypes.func.isRequired,
65
74
  userData: PropTypes.object.isRequired
@@ -1 +1 @@
1
- {"version":3,"file":"SideBar.js","names":["React","classnames","PropTypes","useApolloClient","Avatar","handleLogout","Menu","SideBar","isOpenMenu","onMenuClick","userData","client","firstname","lastname","username","sideNavClassname","sideNavWrapperClassname","createElement","className","role","id","onClick","window","location","href","propTypes","bool","isRequired","func","object"],"sources":["../../../src/components/SideBar/SideBar.js"],"sourcesContent":["import React from 'react';\nimport classnames from 'classnames';\nimport PropTypes from 'prop-types';\nimport { useApolloClient } from '@apollo/client';\nimport Avatar from '@blaze-react/avatar';\nimport { handleLogout } from '@blaze-cms/core-auth-ui';\nimport Menu from '../Menu';\n\nconst SideBar = ({ isOpenMenu, onMenuClick, userData }) => {\n const client = useApolloClient();\n\n const { firstname, lastname } = userData;\n const username = `${firstname} ${lastname}`;\n\n const sideNavClassname = classnames('side-nav', {\n 'side-nav--open': isOpenMenu,\n 'side-nav--close': !isOpenMenu\n });\n\n const sideNavWrapperClassname = classnames('side-nav__wrapper', {\n 'side-nav__wrapper--close': !isOpenMenu\n });\n\n return (\n <div data-testid=\"sidebar\" className={sideNavClassname}>\n <div\n role=\"button\"\n className=\"side-nav__button open\"\n id=\"side-nav-button\"\n onClick={onMenuClick}>\n <i className=\"material-icons\">keyboard_arrow_left</i>\n </div>\n {/* <Link to=\"/\" className=\"side-nav__block-home\">\n Dashboard\n </Link> */}\n <div className={sideNavWrapperClassname} data-testid=\"sidenav\" id=\"side-nav__wrapper\">\n <Menu />\n </div>\n <div className=\"side-nav__user\">\n <div className=\"side-nav__user--info\">\n <Avatar username={username} />\n <span className=\"user-name\">{username}</span>\n </div>\n <div className=\"side-nav__user--button\">\n <span\n id=\"logout-button\"\n role=\"button\"\n onClick={async () => {\n await handleLogout(client);\n window.location.href = '/';\n }}\n className=\"material-icons\">\n power_settings_new\n </span>\n </div>\n <span className=\"side-nav__user--toggle\">Log off</span>\n </div>\n </div>\n );\n};\n\nSideBar.propTypes = {\n isOpenMenu: PropTypes.bool.isRequired,\n onMenuClick: PropTypes.func.isRequired,\n userData: PropTypes.object.isRequired\n};\n\nexport default SideBar;\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,UAAU,MAAM,YAAY;AACnC,OAAOC,SAAS,MAAM,YAAY;AAClC,SAASC,eAAe,QAAQ,gBAAgB;AAChD,OAAOC,MAAM,MAAM,qBAAqB;AACxC,SAASC,YAAY,QAAQ,yBAAyB;AACtD,OAAOC,IAAI,MAAM,SAAS;AAE1B,MAAMC,OAAO,GAAGA,CAAC;EAAEC,UAAU;EAAEC,WAAW;EAAEC;AAAS,CAAC,KAAK;EACzD,MAAMC,MAAM,GAAGR,eAAe,CAAC,CAAC;EAEhC,MAAM;IAAES,SAAS;IAAEC;EAAS,CAAC,GAAGH,QAAQ;EACxC,MAAMI,QAAQ,GAAI,GAAEF,SAAU,IAAGC,QAAS,EAAC;EAE3C,MAAME,gBAAgB,GAAGd,UAAU,CAAC,UAAU,EAAE;IAC9C,gBAAgB,EAAEO,UAAU;IAC5B,iBAAiB,EAAE,CAACA;EACtB,CAAC,CAAC;EAEF,MAAMQ,uBAAuB,GAAGf,UAAU,CAAC,mBAAmB,EAAE;IAC9D,0BAA0B,EAAE,CAACO;EAC/B,CAAC,CAAC;EAEF,oBACER,KAAA,CAAAiB,aAAA;IAAK,eAAY,SAAS;IAACC,SAAS,EAAEH;EAAiB,gBACrDf,KAAA,CAAAiB,aAAA;IACEE,IAAI,EAAC,QAAQ;IACbD,SAAS,EAAC,uBAAuB;IACjCE,EAAE,EAAC,iBAAiB;IACpBC,OAAO,EAAEZ;EAAY,gBACrBT,KAAA,CAAAiB,aAAA;IAAGC,SAAS,EAAC;EAAgB,GAAC,qBAAsB,CACjD,CAAC,eAINlB,KAAA,CAAAiB,aAAA;IAAKC,SAAS,EAAEF,uBAAwB;IAAC,eAAY,SAAS;IAACI,EAAE,EAAC;EAAmB,gBACnFpB,KAAA,CAAAiB,aAAA,CAACX,IAAI,MAAE,CACJ,CAAC,eACNN,KAAA,CAAAiB,aAAA;IAAKC,SAAS,EAAC;EAAgB,gBAC7BlB,KAAA,CAAAiB,aAAA;IAAKC,SAAS,EAAC;EAAsB,gBACnClB,KAAA,CAAAiB,aAAA,CAACb,MAAM;IAACU,QAAQ,EAAEA;EAAS,CAAE,CAAC,eAC9Bd,KAAA,CAAAiB,aAAA;IAAMC,SAAS,EAAC;EAAW,GAAEJ,QAAe,CACzC,CAAC,eACNd,KAAA,CAAAiB,aAAA;IAAKC,SAAS,EAAC;EAAwB,gBACrClB,KAAA,CAAAiB,aAAA;IACEG,EAAE,EAAC,eAAe;IAClBD,IAAI,EAAC,QAAQ;IACbE,OAAO,EAAE,MAAAA,CAAA,KAAY;MACnB,MAAMhB,YAAY,CAACM,MAAM,CAAC;MAC1BW,MAAM,CAACC,QAAQ,CAACC,IAAI,GAAG,GAAG;IAC5B,CAAE;IACFN,SAAS,EAAC;EAAgB,GAAC,oBAEvB,CACH,CAAC,eACNlB,KAAA,CAAAiB,aAAA;IAAMC,SAAS,EAAC;EAAwB,GAAC,SAAa,CACnD,CACF,CAAC;AAEV,CAAC;AAEDX,OAAO,CAACkB,SAAS,GAAG;EAClBjB,UAAU,EAAEN,SAAS,CAACwB,IAAI,CAACC,UAAU;EACrClB,WAAW,EAAEP,SAAS,CAAC0B,IAAI,CAACD,UAAU;EACtCjB,QAAQ,EAAER,SAAS,CAAC2B,MAAM,CAACF;AAC7B,CAAC;AAED,eAAepB,OAAO"}
1
+ {"version":3,"file":"SideBar.js","names":["React","Link","classnames","PropTypes","useApolloClient","Avatar","handleLogout","SideBlock","SideBar","menuItems","isOpenMenu","onMenuClick","userData","client","firstname","lastname","username","sideNavClassname","sideNavWrapperClassname","createElement","className","role","id","onClick","to","length","map","data","_extends","key","header","window","location","href","propTypes","array","isRequired","bool","func","object"],"sources":["../../../src/components/SideBar/SideBar.js"],"sourcesContent":["import React from 'react';\nimport { Link } from 'react-router-dom';\nimport classnames from 'classnames';\nimport PropTypes from 'prop-types';\nimport { useApolloClient } from '@apollo/client';\nimport Avatar from '@blaze-react/avatar';\nimport { handleLogout } from '@blaze-cms/core-auth-ui';\nimport { SideBlock } from './components';\n\nconst SideBar = ({ menuItems, isOpenMenu, onMenuClick, userData }) => {\n const client = useApolloClient();\n\n const { firstname, lastname } = userData;\n const username = `${firstname} ${lastname}`;\n\n const sideNavClassname = classnames('side-nav', {\n 'side-nav--open': isOpenMenu,\n 'side-nav--close': !isOpenMenu\n });\n\n const sideNavWrapperClassname = classnames('side-nav__wrapper', {\n 'side-nav__wrapper--close': !isOpenMenu\n });\n\n return (\n <div data-testid=\"sidebar\" className={sideNavClassname}>\n <div\n role=\"button\"\n className=\"side-nav__button open\"\n id=\"side-nav-button\"\n onClick={onMenuClick}>\n <i className=\"material-icons\">keyboard_arrow_left</i>\n </div>\n <Link to=\"/\" className=\"side-nav__block-home\">\n Dashboard\n </Link>\n <div className={sideNavWrapperClassname} data-testid=\"sidenav\" id=\"side-nav__wrapper\">\n {menuItems.length\n ? menuItems.map(([, data]) => <SideBlock key={data.header} {...data} />)\n : 'Not available content types'}\n </div>\n <div className=\"side-nav__user\">\n <div className=\"side-nav__user--info\">\n <Avatar username={username} />\n <span className=\"user-name\">{username}</span>\n </div>\n <div className=\"side-nav__user--button\">\n <span\n id=\"logout-button\"\n role=\"button\"\n onClick={async () => {\n await handleLogout(client);\n window.location.href = '/';\n }}\n className=\"material-icons\">\n power_settings_new\n </span>\n </div>\n <span className=\"side-nav__user--toggle\">Log off</span>\n </div>\n </div>\n );\n};\n\nSideBar.propTypes = {\n menuItems: PropTypes.array.isRequired,\n isOpenMenu: PropTypes.bool.isRequired,\n onMenuClick: PropTypes.func.isRequired,\n userData: PropTypes.object.isRequired\n};\n\nexport default SideBar;\n"],"mappings":";AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,IAAI,QAAQ,kBAAkB;AACvC,OAAOC,UAAU,MAAM,YAAY;AACnC,OAAOC,SAAS,MAAM,YAAY;AAClC,SAASC,eAAe,QAAQ,gBAAgB;AAChD,OAAOC,MAAM,MAAM,qBAAqB;AACxC,SAASC,YAAY,QAAQ,yBAAyB;AACtD,SAASC,SAAS,QAAQ,cAAc;AAExC,MAAMC,OAAO,GAAGA,CAAC;EAAEC,SAAS;EAAEC,UAAU;EAAEC,WAAW;EAAEC;AAAS,CAAC,KAAK;EACpE,MAAMC,MAAM,GAAGT,eAAe,CAAC,CAAC;EAEhC,MAAM;IAAEU,SAAS;IAAEC;EAAS,CAAC,GAAGH,QAAQ;EACxC,MAAMI,QAAQ,GAAI,GAAEF,SAAU,IAAGC,QAAS,EAAC;EAE3C,MAAME,gBAAgB,GAAGf,UAAU,CAAC,UAAU,EAAE;IAC9C,gBAAgB,EAAEQ,UAAU;IAC5B,iBAAiB,EAAE,CAACA;EACtB,CAAC,CAAC;EAEF,MAAMQ,uBAAuB,GAAGhB,UAAU,CAAC,mBAAmB,EAAE;IAC9D,0BAA0B,EAAE,CAACQ;EAC/B,CAAC,CAAC;EAEF,oBACEV,KAAA,CAAAmB,aAAA;IAAK,eAAY,SAAS;IAACC,SAAS,EAAEH;EAAiB,gBACrDjB,KAAA,CAAAmB,aAAA;IACEE,IAAI,EAAC,QAAQ;IACbD,SAAS,EAAC,uBAAuB;IACjCE,EAAE,EAAC,iBAAiB;IACpBC,OAAO,EAAEZ;EAAY,gBACrBX,KAAA,CAAAmB,aAAA;IAAGC,SAAS,EAAC;EAAgB,GAAC,qBAAsB,CACjD,CAAC,eACNpB,KAAA,CAAAmB,aAAA,CAAClB,IAAI;IAACuB,EAAE,EAAC,GAAG;IAACJ,SAAS,EAAC;EAAsB,GAAC,WAExC,CAAC,eACPpB,KAAA,CAAAmB,aAAA;IAAKC,SAAS,EAAEF,uBAAwB;IAAC,eAAY,SAAS;IAACI,EAAE,EAAC;EAAmB,GAClFb,SAAS,CAACgB,MAAM,GACbhB,SAAS,CAACiB,GAAG,CAAC,CAAC,GAAGC,IAAI,CAAC,kBAAK3B,KAAA,CAAAmB,aAAA,CAACZ,SAAS,EAAAqB,QAAA;IAACC,GAAG,EAAEF,IAAI,CAACG;EAAO,GAAKH,IAAI,CAAG,CAAC,CAAC,GACtE,6BACD,CAAC,eACN3B,KAAA,CAAAmB,aAAA;IAAKC,SAAS,EAAC;EAAgB,gBAC7BpB,KAAA,CAAAmB,aAAA;IAAKC,SAAS,EAAC;EAAsB,gBACnCpB,KAAA,CAAAmB,aAAA,CAACd,MAAM;IAACW,QAAQ,EAAEA;EAAS,CAAE,CAAC,eAC9BhB,KAAA,CAAAmB,aAAA;IAAMC,SAAS,EAAC;EAAW,GAAEJ,QAAe,CACzC,CAAC,eACNhB,KAAA,CAAAmB,aAAA;IAAKC,SAAS,EAAC;EAAwB,gBACrCpB,KAAA,CAAAmB,aAAA;IACEG,EAAE,EAAC,eAAe;IAClBD,IAAI,EAAC,QAAQ;IACbE,OAAO,EAAE,MAAAA,CAAA,KAAY;MACnB,MAAMjB,YAAY,CAACO,MAAM,CAAC;MAC1BkB,MAAM,CAACC,QAAQ,CAACC,IAAI,GAAG,GAAG;IAC5B,CAAE;IACFb,SAAS,EAAC;EAAgB,GAAC,oBAEvB,CACH,CAAC,eACNpB,KAAA,CAAAmB,aAAA;IAAMC,SAAS,EAAC;EAAwB,GAAC,SAAa,CACnD,CACF,CAAC;AAEV,CAAC;AAEDZ,OAAO,CAAC0B,SAAS,GAAG;EAClBzB,SAAS,EAAEN,SAAS,CAACgC,KAAK,CAACC,UAAU;EACrC1B,UAAU,EAAEP,SAAS,CAACkC,IAAI,CAACD,UAAU;EACrCzB,WAAW,EAAER,SAAS,CAACmC,IAAI,CAACF,UAAU;EACtCxB,QAAQ,EAAET,SAAS,CAACoC,MAAM,CAACH;AAC7B,CAAC;AAED,eAAe5B,OAAO"}
@@ -1,6 +1,6 @@
1
1
  const PLUGIN_NAME = 'admin-core-ui';
2
2
  const LOGO_PROPS = {
3
- src: process.env.BLAZE_ADMIN_HEAD_LOGO_URL || 'https://images.thisisblaze.com/logo-98-148.png'
3
+ src: 'https://images.thisisblaze.com/logo-85-30.png'
4
4
  };
5
5
  const DEFAULT_LABEL = {
6
6
  text: 'See more',
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","names":["PLUGIN_NAME","LOGO_PROPS","src","process","env","BLAZE_ADMIN_HEAD_LOGO_URL","DEFAULT_LABEL","text","icon","ACTIVE_LABEL","DOWN_ICON"],"sources":["../src/constants.js"],"sourcesContent":["const PLUGIN_NAME = 'admin-core-ui';\nconst LOGO_PROPS = {\n src: process.env.BLAZE_ADMIN_HEAD_LOGO_URL || 'https://images.thisisblaze.com/logo-98-148.png'\n};\n\nconst DEFAULT_LABEL = {\n text: 'See more',\n icon: 'down'\n};\n\nconst ACTIVE_LABEL = {\n text: 'See less',\n icon: 'up'\n};\n\nconst DOWN_ICON = 'down';\n\nexport { PLUGIN_NAME, LOGO_PROPS, ACTIVE_LABEL, DEFAULT_LABEL, DOWN_ICON };\n"],"mappings":"AAAA,MAAMA,WAAW,GAAG,eAAe;AACnC,MAAMC,UAAU,GAAG;EACjBC,GAAG,EAAEC,OAAO,CAACC,GAAG,CAACC,yBAAyB,IAAI;AAChD,CAAC;AAED,MAAMC,aAAa,GAAG;EACpBC,IAAI,EAAE,UAAU;EAChBC,IAAI,EAAE;AACR,CAAC;AAED,MAAMC,YAAY,GAAG;EACnBF,IAAI,EAAE,UAAU;EAChBC,IAAI,EAAE;AACR,CAAC;AAED,MAAME,SAAS,GAAG,MAAM;AAExB,SAASV,WAAW,EAAEC,UAAU,EAAEQ,YAAY,EAAEH,aAAa,EAAEI,SAAS"}
1
+ {"version":3,"file":"constants.js","names":["PLUGIN_NAME","LOGO_PROPS","src","DEFAULT_LABEL","text","icon","ACTIVE_LABEL","DOWN_ICON"],"sources":["../src/constants.js"],"sourcesContent":["const PLUGIN_NAME = 'admin-core-ui';\nconst LOGO_PROPS = { src: 'https://images.thisisblaze.com/logo-85-30.png' };\n\nconst DEFAULT_LABEL = {\n text: 'See more',\n icon: 'down'\n};\n\nconst ACTIVE_LABEL = {\n text: 'See less',\n icon: 'up'\n};\n\nconst DOWN_ICON = 'down';\n\nexport { PLUGIN_NAME, LOGO_PROPS, ACTIVE_LABEL, DEFAULT_LABEL, DOWN_ICON };\n"],"mappings":"AAAA,MAAMA,WAAW,GAAG,eAAe;AACnC,MAAMC,UAAU,GAAG;EAAEC,GAAG,EAAE;AAAgD,CAAC;AAE3E,MAAMC,aAAa,GAAG;EACpBC,IAAI,EAAE,UAAU;EAChBC,IAAI,EAAE;AACR,CAAC;AAED,MAAMC,YAAY,GAAG;EACnBF,IAAI,EAAE,UAAU;EAChBC,IAAI,EAAE;AACR,CAAC;AAED,MAAME,SAAS,GAAG,MAAM;AAExB,SAASP,WAAW,EAAEC,UAAU,EAAEK,YAAY,EAAEH,aAAa,EAAEI,SAAS"}
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- const Home = () => /*#__PURE__*/React.createElement("div", null);
2
+ const Home = () => /*#__PURE__*/React.createElement("div", null, "Home");
3
3
  Home.displayName = 'Home';
4
4
  export default Home;
5
5
  //# sourceMappingURL=Home.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Home.js","names":["React","Home","createElement","displayName"],"sources":["../../../src/containers/Home/Home.js"],"sourcesContent":["import React from 'react';\n\nconst Home = () => <div />;\n\nHome.displayName = 'Home';\n\nexport default Home;\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AAEzB,MAAMC,IAAI,GAAGA,CAAA,kBAAMD,KAAA,CAAAE,aAAA,YAAM,CAAC;AAE1BD,IAAI,CAACE,WAAW,GAAG,MAAM;AAEzB,eAAeF,IAAI"}
1
+ {"version":3,"file":"Home.js","names":["React","Home","createElement","displayName"],"sources":["../../../src/containers/Home/Home.js"],"sourcesContent":["import React from 'react';\n\nconst Home = () => <div>Home</div>;\n\nHome.displayName = 'Home';\n\nexport default Home;\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AAEzB,MAAMC,IAAI,GAAGA,CAAA,kBAAMD,KAAA,CAAAE,aAAA,cAAK,MAAS,CAAC;AAElCD,IAAI,CAACE,WAAW,GAAG,MAAM;AAEzB,eAAeF,IAAI"}
package/lib-es/index.js CHANGED
@@ -2,9 +2,9 @@ import React from 'react';
2
2
  import { Layout } from './components';
3
3
  import pkg from '../package.json';
4
4
  import { PLUGIN_NAME } from './constants';
5
- import menuHandler from './utils/menu-handler-singleton';
5
+ import getMenuItemsResolver from './utils/get-menu-items-resolver';
6
6
  const Home = React.lazy(() => import( /* webpackChunkName: 'Home' */'./containers'));
7
- async function load(app, options = {}) {
7
+ async function load(app) {
8
8
  const home = {
9
9
  path: '/',
10
10
  exact: true,
@@ -12,14 +12,14 @@ async function load(app, options = {}) {
12
12
  component: Home
13
13
  };
14
14
  app.addRoute(home);
15
- menuHandler.setApp(app);
15
+ app.addQueryResolver('getMenuItems', getMenuItemsResolver(app));
16
16
  app.setLayout(Layout);
17
- const {
18
- menuConfig = {}
19
- } = options;
20
- app.events.once('admin:menu:config:load:after', ({
21
- addConfig
22
- }) => addConfig(menuConfig));
17
+ app.events.once('load:menu-section', addSection => {
18
+ addSection('plugins', {
19
+ header: 'plugins',
20
+ order: 200
21
+ });
22
+ });
23
23
  return {
24
24
  name: PLUGIN_NAME,
25
25
  version: pkg.version
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["React","Layout","pkg","PLUGIN_NAME","menuHandler","Home","lazy","load","app","options","home","path","exact","key","component","addRoute","setApp","setLayout","menuConfig","events","once","addConfig","name","version","pluginName"],"sources":["../src/index.js"],"sourcesContent":["import React from 'react';\nimport { Layout } from './components';\nimport pkg from '../package.json';\nimport { PLUGIN_NAME } from './constants';\nimport menuHandler from './utils/menu-handler-singleton';\n\nconst Home = React.lazy(() => import(/* webpackChunkName: 'Home' */ './containers'));\n\nasync function load(app, options = {}) {\n const home = {\n path: '/',\n exact: true,\n key: 'home',\n component: Home\n };\n\n app.addRoute(home);\n\n menuHandler.setApp(app);\n\n app.setLayout(Layout);\n\n const { menuConfig = {} } = options;\n\n app.events.once('admin:menu:config:load:after', ({ addConfig }) => addConfig(menuConfig));\n\n return {\n name: PLUGIN_NAME,\n version: pkg.version\n };\n}\n\nload.pluginName = PLUGIN_NAME;\n\nexport default load;\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,MAAM,QAAQ,cAAc;AACrC,OAAOC,GAAG,MAAM,iBAAiB;AACjC,SAASC,WAAW,QAAQ,aAAa;AACzC,OAAOC,WAAW,MAAM,gCAAgC;AAExD,MAAMC,IAAI,GAAGL,KAAK,CAACM,IAAI,CAAC,MAAM,MAAM,EAAC,8BAA+B,cAAc,CAAC,CAAC;AAEpF,eAAeC,IAAIA,CAACC,GAAG,EAAEC,OAAO,GAAG,CAAC,CAAC,EAAE;EACrC,MAAMC,IAAI,GAAG;IACXC,IAAI,EAAE,GAAG;IACTC,KAAK,EAAE,IAAI;IACXC,GAAG,EAAE,MAAM;IACXC,SAAS,EAAET;EACb,CAAC;EAEDG,GAAG,CAACO,QAAQ,CAACL,IAAI,CAAC;EAElBN,WAAW,CAACY,MAAM,CAACR,GAAG,CAAC;EAEvBA,GAAG,CAACS,SAAS,CAAChB,MAAM,CAAC;EAErB,MAAM;IAAEiB,UAAU,GAAG,CAAC;EAAE,CAAC,GAAGT,OAAO;EAEnCD,GAAG,CAACW,MAAM,CAACC,IAAI,CAAC,8BAA8B,EAAE,CAAC;IAAEC;EAAU,CAAC,KAAKA,SAAS,CAACH,UAAU,CAAC,CAAC;EAEzF,OAAO;IACLI,IAAI,EAAEnB,WAAW;IACjBoB,OAAO,EAAErB,GAAG,CAACqB;EACf,CAAC;AACH;AAEAhB,IAAI,CAACiB,UAAU,GAAGrB,WAAW;AAE7B,eAAeI,IAAI"}
1
+ {"version":3,"file":"index.js","names":["React","Layout","pkg","PLUGIN_NAME","getMenuItemsResolver","Home","lazy","load","app","home","path","exact","key","component","addRoute","addQueryResolver","setLayout","events","once","addSection","header","order","name","version","pluginName"],"sources":["../src/index.js"],"sourcesContent":["import React from 'react';\nimport { Layout } from './components';\nimport pkg from '../package.json';\nimport { PLUGIN_NAME } from './constants';\nimport getMenuItemsResolver from './utils/get-menu-items-resolver';\n\nconst Home = React.lazy(() => import(/* webpackChunkName: 'Home' */ './containers'));\n\nasync function load(app) {\n const home = {\n path: '/',\n exact: true,\n key: 'home',\n component: Home\n };\n app.addRoute(home);\n\n app.addQueryResolver('getMenuItems', getMenuItemsResolver(app));\n\n app.setLayout(Layout);\n\n app.events.once('load:menu-section', addSection => {\n addSection('plugins', { header: 'plugins', order: 200 });\n });\n\n return {\n name: PLUGIN_NAME,\n version: pkg.version\n };\n}\n\nload.pluginName = PLUGIN_NAME;\n\nexport default load;\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,MAAM,QAAQ,cAAc;AACrC,OAAOC,GAAG,MAAM,iBAAiB;AACjC,SAASC,WAAW,QAAQ,aAAa;AACzC,OAAOC,oBAAoB,MAAM,iCAAiC;AAElE,MAAMC,IAAI,GAAGL,KAAK,CAACM,IAAI,CAAC,MAAM,MAAM,EAAC,8BAA+B,cAAc,CAAC,CAAC;AAEpF,eAAeC,IAAIA,CAACC,GAAG,EAAE;EACvB,MAAMC,IAAI,GAAG;IACXC,IAAI,EAAE,GAAG;IACTC,KAAK,EAAE,IAAI;IACXC,GAAG,EAAE,MAAM;IACXC,SAAS,EAAER;EACb,CAAC;EACDG,GAAG,CAACM,QAAQ,CAACL,IAAI,CAAC;EAElBD,GAAG,CAACO,gBAAgB,CAAC,cAAc,EAAEX,oBAAoB,CAACI,GAAG,CAAC,CAAC;EAE/DA,GAAG,CAACQ,SAAS,CAACf,MAAM,CAAC;EAErBO,GAAG,CAACS,MAAM,CAACC,IAAI,CAAC,mBAAmB,EAAEC,UAAU,IAAI;IACjDA,UAAU,CAAC,SAAS,EAAE;MAAEC,MAAM,EAAE,SAAS;MAAEC,KAAK,EAAE;IAAI,CAAC,CAAC;EAC1D,CAAC,CAAC;EAEF,OAAO;IACLC,IAAI,EAAEnB,WAAW;IACjBoB,OAAO,EAAErB,GAAG,CAACqB;EACf,CAAC;AACH;AAEAhB,IAAI,CAACiB,UAAU,GAAGrB,WAAW;AAE7B,eAAeI,IAAI"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@blaze-cms/plugin-admin-core-ui",
3
- "version": "0.129.0-project-admin-customisations.0",
3
+ "version": "0.129.0",
4
4
  "description": "Blaze plugin admin core ui",
5
5
  "main": "lib/index.js",
6
6
  "module": "lib-es/index.js",
@@ -27,11 +27,11 @@
27
27
  },
28
28
  "license": "GPL-3.0",
29
29
  "dependencies": {
30
- "@blaze-cms/admin-ui-styles": "0.129.0-project-admin-customisations.0",
31
- "@blaze-cms/admin-ui-utils": "0.129.0-project-admin-customisations.0",
32
- "@blaze-cms/core-ui": "0.129.0-project-admin-customisations.0",
33
- "@blaze-cms/plugin-search-ui": "0.129.0-project-admin-customisations.0",
34
- "@blaze-cms/setup-ui": "0.129.0-project-admin-customisations.0",
30
+ "@blaze-cms/admin-ui-styles": "^0.128.1",
31
+ "@blaze-cms/admin-ui-utils": "^0.129.0",
32
+ "@blaze-cms/core-ui": "^0.129.0",
33
+ "@blaze-cms/plugin-search-ui": "^0.129.0",
34
+ "@blaze-cms/setup-ui": "^0.128.1",
35
35
  "@blaze-react/avatar": "0.5.19",
36
36
  "@blaze-react/button": "0.5.19",
37
37
  "@blaze-react/input": "0.5.30",
@@ -47,13 +47,12 @@
47
47
  "react-router-dom": "^5.0.1"
48
48
  },
49
49
  "devDependencies": {
50
- "@blaze-cms/plugin-auth-ui": "0.129.0-project-admin-customisations.0",
51
- "lodash.merge": "^4.6.2",
50
+ "@blaze-cms/plugin-auth-ui": "^0.129.0",
52
51
  "waait": "1.0.5"
53
52
  },
54
53
  "eslintIgnore": [
55
54
  "lib/*",
56
55
  "lib-es/*"
57
56
  ],
58
- "gitHead": "e277f858e06d9e30c22e355ea5b44132ef5e910c"
57
+ "gitHead": "43e8a5d929313c50f8edb27358da7278299ce6c6"
59
58
  }
@@ -5,17 +5,15 @@ import { Menu, Logo } from './components';
5
5
  import { LOGO_PROPS } from '../../constants';
6
6
 
7
7
  const Header = ({ isLoggedIn, isOpenMenu, onMenuClick }) => (
8
- <>
8
+ <header className="header">
9
9
  {isLoggedIn && (
10
- <header className="header">
11
- <div className="header__menu">
12
- <Menu isOpenMenu={isOpenMenu} onMenuClick={onMenuClick} id="menu-button" />
13
- </div>
14
- <Logo {...LOGO_PROPS} />
15
- <SearchAdmin />
16
- </header>
10
+ <div className="header__menu">
11
+ <Menu isOpenMenu={isOpenMenu} onMenuClick={onMenuClick} id="menu-button" />
12
+ </div>
17
13
  )}
18
- </>
14
+ <Logo {...LOGO_PROPS} />
15
+ {isLoggedIn && <SearchAdmin />}
16
+ </header>
19
17
  );
20
18
 
21
19
  Header.propTypes = {
@@ -3,16 +3,16 @@ import PropTypes from 'prop-types';
3
3
  import { Query } from '@apollo/client/react/components';
4
4
  import { getQuery } from '@blaze-cms/admin-ui-utils';
5
5
  import { Login } from '@blaze-cms/plugin-auth-ui';
6
+ import Header from '../Header';
6
7
  import { Grid } from './components';
7
- import Background from './Background';
8
+
8
9
  import '@blaze-cms/admin-ui-styles/main.scss';
9
- import Header from '../Header';
10
10
 
11
11
  const Layout = ({ children }) => {
12
12
  const [isOpenMenu, setOpenMenu] = useState(true);
13
13
  const onMenuClick = () => setOpenMenu(!isOpenMenu);
14
14
  return (
15
- <div className="site-container grid--site-container">
15
+ <div className="site-container grid grid--site-container">
16
16
  <Query query={getQuery('GET_USER_AUTH_DATA')} errorPolicy="all">
17
17
  {({ data = {} }) => {
18
18
  const { session: { isLoggedIn, userData = {} } = {} } = data;
@@ -21,15 +21,11 @@ const Layout = ({ children }) => {
21
21
  <>
22
22
  <Header isLoggedIn={isLoggedIn} onMenuClick={onMenuClick} isOpenMenu={isOpenMenu} />
23
23
  {isLoggedIn ? (
24
- <>
25
- <Grid isOpenMenu={isOpenMenu} onMenuClick={onMenuClick} userData={userData}>
26
- {children}
27
- </Grid>
28
- </>
24
+ <Grid isOpenMenu={isOpenMenu} onMenuClick={onMenuClick} userData={userData}>
25
+ {children}
26
+ </Grid>
29
27
  ) : (
30
- <Background>
31
- <Login />
32
- </Background>
28
+ <Login />
33
29
  )}
34
30
  </>
35
31
  );
@@ -1,13 +1,56 @@
1
- import React from 'react';
1
+ import React, { useState, useEffect } from 'react';
2
2
  import PropTypes from 'prop-types';
3
+ import { useApolloClient } from '@apollo/client';
4
+ import { getQuery, MainContextProvider } from '@blaze-cms/admin-ui-utils';
3
5
  import SideBar from '../../../SideBar';
4
6
 
5
- const Grid = ({ children, isOpenMenu, onMenuClick, userData }) => (
6
- <div className="main-content grid grid--main-content">
7
- <SideBar isOpenMenu={isOpenMenu} onMenuClick={onMenuClick} userData={userData} />
8
- {children}
9
- </div>
10
- );
7
+ const Grid = ({ children, isOpenMenu, onMenuClick, userData }) => {
8
+ const [menuItems, setMenuItems] = useState(null);
9
+ const client = useApolloClient();
10
+
11
+ useEffect(
12
+ () => {
13
+ (async () => {
14
+ const {
15
+ data: { getMenuItems }
16
+ } = await client.query({ query: getQuery('GET_MENU_ITEMS') });
17
+
18
+ const parsedMenuItems = getMenuItems.map(([key, { header, items }]) => [
19
+ key,
20
+ {
21
+ header,
22
+ items: items.map(item => ({ ...item, isDisplayedPrompt: true }))
23
+ }
24
+ ]);
25
+
26
+ if (!menuItems) {
27
+ setMenuItems(parsedMenuItems);
28
+ }
29
+ })();
30
+ },
31
+ [client, menuItems]
32
+ );
33
+
34
+ const updateItems = items => {
35
+ setMenuItems(items);
36
+ };
37
+
38
+ return menuItems ? (
39
+ <MainContextProvider value={{ menuItems, setMenuItems: items => updateItems(items) }}>
40
+ <div className="main-content grid grid--main-content">
41
+ <SideBar
42
+ isOpenMenu={isOpenMenu}
43
+ menuItems={menuItems}
44
+ onMenuClick={onMenuClick}
45
+ userData={userData}
46
+ />
47
+ {children}
48
+ </div>
49
+ </MainContextProvider>
50
+ ) : (
51
+ 'loading'
52
+ );
53
+ };
11
54
 
12
55
  Grid.propTypes = {
13
56
  children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]).isRequired,
@@ -1,12 +1,13 @@
1
1
  import React from 'react';
2
+ import { Link } from 'react-router-dom';
2
3
  import classnames from 'classnames';
3
4
  import PropTypes from 'prop-types';
4
5
  import { useApolloClient } from '@apollo/client';
5
6
  import Avatar from '@blaze-react/avatar';
6
7
  import { handleLogout } from '@blaze-cms/core-auth-ui';
7
- import Menu from '../Menu';
8
+ import { SideBlock } from './components';
8
9
 
9
- const SideBar = ({ isOpenMenu, onMenuClick, userData }) => {
10
+ const SideBar = ({ menuItems, isOpenMenu, onMenuClick, userData }) => {
10
11
  const client = useApolloClient();
11
12
 
12
13
  const { firstname, lastname } = userData;
@@ -30,11 +31,13 @@ const SideBar = ({ isOpenMenu, onMenuClick, userData }) => {
30
31
  onClick={onMenuClick}>
31
32
  <i className="material-icons">keyboard_arrow_left</i>
32
33
  </div>
33
- {/* <Link to="/" className="side-nav__block-home">
34
+ <Link to="/" className="side-nav__block-home">
34
35
  Dashboard
35
- </Link> */}
36
+ </Link>
36
37
  <div className={sideNavWrapperClassname} data-testid="sidenav" id="side-nav__wrapper">
37
- <Menu />
38
+ {menuItems.length
39
+ ? menuItems.map(([, data]) => <SideBlock key={data.header} {...data} />)
40
+ : 'Not available content types'}
38
41
  </div>
39
42
  <div className="side-nav__user">
40
43
  <div className="side-nav__user--info">
@@ -60,6 +63,7 @@ const SideBar = ({ isOpenMenu, onMenuClick, userData }) => {
60
63
  };
61
64
 
62
65
  SideBar.propTypes = {
66
+ menuItems: PropTypes.array.isRequired,
63
67
  isOpenMenu: PropTypes.bool.isRequired,
64
68
  onMenuClick: PropTypes.func.isRequired,
65
69
  userData: PropTypes.object.isRequired
package/src/constants.js CHANGED
@@ -1,7 +1,5 @@
1
1
  const PLUGIN_NAME = 'admin-core-ui';
2
- const LOGO_PROPS = {
3
- src: process.env.BLAZE_ADMIN_HEAD_LOGO_URL || 'https://images.thisisblaze.com/logo-98-148.png'
4
- };
2
+ const LOGO_PROPS = { src: 'https://images.thisisblaze.com/logo-85-30.png' };
5
3
 
6
4
  const DEFAULT_LABEL = {
7
5
  text: 'See more',
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
2
 
3
- const Home = () => <div />;
3
+ const Home = () => <div>Home</div>;
4
4
 
5
5
  Home.displayName = 'Home';
6
6
 
package/src/index.js CHANGED
@@ -2,27 +2,26 @@ import React from 'react';
2
2
  import { Layout } from './components';
3
3
  import pkg from '../package.json';
4
4
  import { PLUGIN_NAME } from './constants';
5
- import menuHandler from './utils/menu-handler-singleton';
5
+ import getMenuItemsResolver from './utils/get-menu-items-resolver';
6
6
 
7
7
  const Home = React.lazy(() => import(/* webpackChunkName: 'Home' */ './containers'));
8
8
 
9
- async function load(app, options = {}) {
9
+ async function load(app) {
10
10
  const home = {
11
11
  path: '/',
12
12
  exact: true,
13
13
  key: 'home',
14
14
  component: Home
15
15
  };
16
-
17
16
  app.addRoute(home);
18
17
 
19
- menuHandler.setApp(app);
18
+ app.addQueryResolver('getMenuItems', getMenuItemsResolver(app));
20
19
 
21
20
  app.setLayout(Layout);
22
21
 
23
- const { menuConfig = {} } = options;
24
-
25
- app.events.once('admin:menu:config:load:after', ({ addConfig }) => addConfig(menuConfig));
22
+ app.events.once('load:menu-section', addSection => {
23
+ addSection('plugins', { header: 'plugins', order: 200 });
24
+ });
26
25
 
27
26
  return {
28
27
  name: PLUGIN_NAME,