cozy-bar 23.1.0 → 24.1.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.
@@ -12,9 +12,12 @@ var _cozyFlags = _interopRequireDefault(require("cozy-flags"));
12
12
  var _Typography = _interopRequireDefault(require("cozy-ui/transpiled/react/Typography"));
13
13
  var _applications = require("cozy-client/dist/models/applications");
14
14
  var _AppItem = _interopRequireDefault(require("./components/AppItem"));
15
+ var _ShortcutItem = _interopRequireDefault(require("./components/ShortcutItem"));
16
+ var _EntrypointItem = _interopRequireDefault(require("./components/EntrypointItem"));
15
17
  var _AppItemPlaceholder = _interopRequireDefault(require("./components/AppItemPlaceholder"));
16
18
  var _useI18n2 = _interopRequireDefault(require("../useI18n"));
17
19
  var _reducers = require("../../lib/reducers");
20
+ var _helper = require("./helper");
18
21
  var styles = {
19
22
  "apps-menu-grid": "apps-menu-grid",
20
23
  "apps-menu-grid-item-wrapper": "apps-menu-grid-item-wrapper",
@@ -24,6 +27,7 @@ var styles = {
24
27
  var AppsMenuContent = function AppsMenuContent(_ref) {
25
28
  var isFetchingApps = _ref.isFetchingApps,
26
29
  apps = _ref.apps,
30
+ shortcuts = _ref.shortcuts,
27
31
  homeApp = _ref.homeApp,
28
32
  closeMenu = _ref.closeMenu;
29
33
  var _useI18n = (0, _useI18n2.default)(),
@@ -50,6 +54,7 @@ var AppsMenuContent = function AppsMenuContent(_ref) {
50
54
  return app.slug !== homeSlug;
51
55
  });
52
56
  var sortedApps = (0, _cozyFlags.default)('apps.sort') ? (0, _applications.sortApplicationsList)(displayedApps, (0, _cozyFlags.default)('apps.sort')) : displayedApps;
57
+ var entrypoints = (0, _helper.buildEntrypoints)(apps);
53
58
  return /*#__PURE__*/_react.default.createElement("div", {
54
59
  className: styles['apps-menu-grid']
55
60
  }, sortedApps.map(function (app, index) {
@@ -58,6 +63,16 @@ var AppsMenuContent = function AppsMenuContent(_ref) {
58
63
  app: app,
59
64
  onAppSwitch: closeMenu
60
65
  });
66
+ }), shortcuts.map(function (shortcut, index) {
67
+ return /*#__PURE__*/_react.default.createElement(_ShortcutItem.default, {
68
+ key: index,
69
+ shortcut: shortcut
70
+ });
71
+ }), entrypoints.map(function (entrypoint) {
72
+ return /*#__PURE__*/_react.default.createElement(_EntrypointItem.default, {
73
+ key: entrypoint.name,
74
+ entrypoint: entrypoint
75
+ });
61
76
  }));
62
77
  };
63
78
  AppsMenuContent.propTypes = {
@@ -0,0 +1,71 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.default = exports.EntrypointItem = void 0;
8
+ var _react = _interopRequireDefault(require("react"));
9
+ var _cozyClient = require("cozy-client");
10
+ var _styles = require("cozy-ui/transpiled/react/styles");
11
+ var _Buttons = _interopRequireDefault(require("cozy-ui/transpiled/react/Buttons"));
12
+ var _Typography = _interopRequireDefault(require("cozy-ui/transpiled/react/Typography"));
13
+ var _classnames = _interopRequireDefault(require("classnames"));
14
+ var _useI18n2 = _interopRequireDefault(require("../../useI18n"));
15
+ var styles = {
16
+ "apps-menu-grid": "apps-menu-grid",
17
+ "apps-menu-grid-item-wrapper": "apps-menu-grid-item-wrapper",
18
+ "apps-menu-grid-item": "apps-menu-grid-item",
19
+ "apps-menu-grid-item-icon": "apps-menu-grid-item-icon"
20
+ };
21
+ var useStyles = (0, _styles.makeStyles)(function () {
22
+ return {
23
+ text: {
24
+ lineHeight: '22.5px',
25
+ fontSize: '12px',
26
+ fontWeight: 400
27
+ }
28
+ };
29
+ });
30
+ var EntrypointItem = exports.EntrypointItem = function EntrypointItem(_ref) {
31
+ var entrypoint = _ref.entrypoint;
32
+ var client = (0, _cozyClient.useClient)();
33
+ var classes = useStyles();
34
+ var _useI18n = (0, _useI18n2.default)(),
35
+ lang = _useI18n.lang;
36
+ var cozyUrl = client.getStackClient().uri;
37
+ var _client$getInstanceOp = client.getInstanceOptions(),
38
+ subDomainType = _client$getInstanceOp.subdomain;
39
+ var entrypointUrl = (0, _cozyClient.generateWebLink)({
40
+ cozyUrl: cozyUrl,
41
+ subDomainType: subDomainType,
42
+ slug: entrypoint.slug,
43
+ pathname: '/',
44
+ hash: entrypoint.hash
45
+ });
46
+ var title = entrypoint.title[lang] || entrypoint.title['en'];
47
+ return /*#__PURE__*/_react.default.createElement(_Buttons.default, {
48
+ height: "auto",
49
+ component: "a",
50
+ target: "_blank",
51
+ variant: "text",
52
+ href: entrypointUrl,
53
+ title: title,
54
+ className: (0, _classnames.default)(styles['apps-menu-grid-item-wrapper'], 'u-bdrs-5'),
55
+ label: /*#__PURE__*/_react.default.createElement("div", {
56
+ className: styles['apps-menu-grid-item']
57
+ }, /*#__PURE__*/_react.default.createElement("div", {
58
+ className: styles['apps-menu-grid-item-icon']
59
+ }, /*#__PURE__*/_react.default.createElement("img", {
60
+ className: "u-bdrs-5",
61
+ src: "data:image/svg+xml;base64,".concat(entrypoint.icon),
62
+ alt: "",
63
+ width: 42,
64
+ height: 42
65
+ })), /*#__PURE__*/_react.default.createElement(_Typography.default, {
66
+ noWrap: true,
67
+ className: classes.text
68
+ }, title))
69
+ });
70
+ };
71
+ var _default = exports.default = EntrypointItem;
@@ -0,0 +1,71 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.default = exports.ShortcutItem = void 0;
8
+ var _react = _interopRequireDefault(require("react"));
9
+ var _cozyClient = require("cozy-client");
10
+ var _file = require("cozy-client/dist/models/file");
11
+ var _styles = require("cozy-ui/transpiled/react/styles");
12
+ var _Buttons = _interopRequireDefault(require("cozy-ui/transpiled/react/Buttons"));
13
+ var _Typography = _interopRequireDefault(require("cozy-ui/transpiled/react/Typography"));
14
+ var _classnames = _interopRequireDefault(require("classnames"));
15
+ var styles = {
16
+ "apps-menu-grid": "apps-menu-grid",
17
+ "apps-menu-grid-item-wrapper": "apps-menu-grid-item-wrapper",
18
+ "apps-menu-grid-item": "apps-menu-grid-item",
19
+ "apps-menu-grid-item-icon": "apps-menu-grid-item-icon"
20
+ };
21
+ var useStyles = (0, _styles.makeStyles)(function () {
22
+ return {
23
+ text: {
24
+ lineHeight: '22.5px',
25
+ fontSize: '12px',
26
+ fontWeight: 400
27
+ }
28
+ };
29
+ });
30
+ var ShortcutItem = exports.ShortcutItem = function ShortcutItem(_ref) {
31
+ var _shortcutInfos$data;
32
+ var shortcut = _ref.shortcut;
33
+ var client = (0, _cozyClient.useClient)();
34
+ var classes = useStyles();
35
+ var _useFetchShortcut = (0, _cozyClient.useFetchShortcut)(client, shortcut._id),
36
+ shortcutInfos = _useFetchShortcut.shortcutInfos,
37
+ shortcutImg = _useFetchShortcut.shortcutImg;
38
+ var _splitFilename = (0, _file.splitFilename)(shortcut),
39
+ filename = _splitFilename.filename;
40
+ var url = (shortcutInfos === null || shortcutInfos === void 0 || (_shortcutInfos$data = shortcutInfos.data) === null || _shortcutInfos$data === void 0 ? void 0 : _shortcutInfos$data.url) || '#';
41
+ var shortcutImgSrc = (0, _file.getShortcutImgSrc)(shortcut);
42
+ return /*#__PURE__*/_react.default.createElement(_Buttons.default, {
43
+ height: "auto",
44
+ component: "a",
45
+ target: "_blank",
46
+ variant: "text",
47
+ href: url,
48
+ title: filename,
49
+ className: (0, _classnames.default)(styles['apps-menu-grid-item-wrapper'], 'u-bdrs-5'),
50
+ label: /*#__PURE__*/_react.default.createElement("div", {
51
+ className: styles['apps-menu-grid-item']
52
+ }, /*#__PURE__*/_react.default.createElement("div", {
53
+ className: styles['apps-menu-grid-item-icon']
54
+ }, shortcutImgSrc ? /*#__PURE__*/_react.default.createElement("img", {
55
+ src: shortcutImgSrc,
56
+ alt: "",
57
+ width: 42,
58
+ height: 42
59
+ }) : /*#__PURE__*/_react.default.createElement("img", {
60
+ className: "u-bdrs-5",
61
+ src: shortcutImg,
62
+ alt: "",
63
+ width: 42,
64
+ height: 42
65
+ })), /*#__PURE__*/_react.default.createElement(_Typography.default, {
66
+ noWrap: true,
67
+ className: classes.text
68
+ }, filename))
69
+ });
70
+ };
71
+ var _default = exports.default = ShortcutItem;
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.buildEntrypoints = void 0;
8
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
9
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
10
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2.default)(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
11
+ var buildEntrypoints = exports.buildEntrypoints = function buildEntrypoints(apps) {
12
+ return apps.flatMap(function (app) {
13
+ if (!app.entrypoints) return [];
14
+ return app.entrypoints.map(function (entrypoint) {
15
+ return _objectSpread(_objectSpread({}, entrypoint), {}, {
16
+ slug: app.slug
17
+ });
18
+ });
19
+ });
20
+ };
@@ -26,7 +26,8 @@ var useStyles = (0, _styles.makeStyles)({
26
26
  }
27
27
  }
28
28
  });
29
- var AppsMenu = function AppsMenu() {
29
+ var AppsMenu = function AppsMenu(_ref) {
30
+ var shortcuts = _ref.shortcuts;
30
31
  var _useState = (0, _react.useState)(false),
31
32
  _useState2 = (0, _slicedToArray2.default)(_useState, 2),
32
33
  isOpen = _useState2[0],
@@ -80,6 +81,7 @@ var AppsMenu = function AppsMenu() {
80
81
  paper: 'u-bdrs-7'
81
82
  }
82
83
  }, /*#__PURE__*/_react.default.createElement(_AppsMenuContent.default, {
84
+ shortcuts: shortcuts,
83
85
  closeMenu: toggleMenu
84
86
  })));
85
87
  };
@@ -48,6 +48,7 @@ var Bar = exports.Bar = function Bar(_ref) {
48
48
  var client = (0, _cozyClient.useClient)();
49
49
  var _useBreakpoints = (0, _Breakpoints.useBreakpoints)(),
50
50
  isMobile = _useBreakpoints.isMobile;
51
+ var shortcuts = (0, _cozyClient.useFetchHomeShortcuts)();
51
52
  var isSearchEnabled = searchOptions.enabled && !isPublic;
52
53
  var fetchInitialData = (0, _react.useCallback)(function () {
53
54
  if (!isPublic) {
@@ -108,7 +109,9 @@ var Bar = exports.Bar = function Bar(_ref) {
108
109
  // Drive will rely on cozy-bar embedded search and we will be able
109
110
  // to remove this special case
110
111
  if (appSlug === 'drive' && isMobile && barSearch) return null;
111
- return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_HelpLink.default, null), /*#__PURE__*/_react.default.createElement(_AppsMenu.default, null), /*#__PURE__*/_react.default.createElement(_UserMenu.default, {
112
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_HelpLink.default, null), /*#__PURE__*/_react.default.createElement(_AppsMenu.default, {
113
+ shortcuts: shortcuts
114
+ }), /*#__PURE__*/_react.default.createElement(_UserMenu.default, {
112
115
  onLogOut: onLogOut
113
116
  }));
114
117
  };
package/dist/index.js CHANGED
@@ -71,4 +71,4 @@ var _BarProvider = _interopRequireDefault(require("./components/BarProvider"));
71
71
  var _reducers = require("./lib/reducers");
72
72
  /* global __VERSION__ */
73
73
 
74
- var version = exports.version = "\"23.1.0\"";
74
+ var version = exports.version = "\"24.1.0\"";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "cozy-bar",
3
- "version": "23.1.0",
3
+ "version": "24.1.0",
4
4
  "description": "cozy-bar.js library, a small lib provided by cozy-stack to inject the Cozy-bar component into each app",
5
5
  "main": "dist/index.js",
6
6
  "author": "Cozy Cloud <contact@cozycloud.cc> (https://cozy.io/)",
@@ -42,7 +42,7 @@
42
42
  "babel-plugin-module-resolver": "^4.0.0",
43
43
  "babel-plugin-transform-define": "^2.0.0",
44
44
  "babel-preset-cozy-app": "^2.8.1",
45
- "cozy-client": "^57.7.0",
45
+ "cozy-client": "^60.12.1",
46
46
  "cozy-dataproxy-lib": "^4.1.0",
47
47
  "cozy-device-helper": "2.6.0",
48
48
  "cozy-flags": "^4.6.1",
@@ -76,7 +76,7 @@
76
76
  },
77
77
  "peerDependencies": {
78
78
  "@cozy/minilog": ">=1.0.0",
79
- "cozy-client": ">=57.7.0",
79
+ "cozy-client": ">=60.12.1",
80
80
  "cozy-dataproxy-lib": ">=4.1.0",
81
81
  "cozy-device-helper": ">=2.6.0",
82
82
  "cozy-flags": ">=4.6.1",