cozy-bar 12.3.0 → 13.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.
- package/README.md +0 -1
- package/dist/components/Bar.js +10 -3
- package/dist/components/Bar.spec.jsx +27 -3
- package/dist/components/BarComponent.js +2 -1
- package/dist/components/Drawer.js +20 -70
- package/dist/components/Drawer.spec.jsx +20 -22
- package/dist/components/Settings/SettingsContent.js +52 -167
- package/dist/components/Settings/StorageData.js +24 -17
- package/dist/components/Settings/actions/appearance.js +68 -0
- package/dist/components/Settings/actions/connectedDevices.js +63 -0
- package/dist/components/Settings/actions/connections.js +63 -0
- package/dist/components/Settings/actions/contact.js +63 -0
- package/dist/components/Settings/actions/help.js +60 -0
- package/dist/components/Settings/actions/index.js +85 -0
- package/dist/components/Settings/actions/logout.js +109 -0
- package/dist/components/Settings/actions/permissions.js +68 -0
- package/dist/components/Settings/actions/plans.js +78 -0
- package/dist/components/Settings/actions/profile.js +64 -0
- package/dist/components/Settings/actions/storage.js +71 -0
- package/dist/components/Settings/index.js +29 -139
- package/dist/index.js +1 -1
- package/dist/styles/bar.css +0 -8
- package/dist/styles/drawer.css +0 -10
- package/dist/styles/index.styl +0 -1
- package/dist/styles/settings.css +0 -12
- package/dist/stylesheet.css +0 -53
- package/package.json +6 -6
- package/dist/styles/storage.css +0 -22
package/README.md
CHANGED
|
@@ -158,7 +158,6 @@ You can reach the Cozy Community by:
|
|
|
158
158
|
|
|
159
159
|
cozy-bar is developed by Cozy Cloud and distributed under the [MIT].
|
|
160
160
|
|
|
161
|
-
|
|
162
161
|
[cozy]: https://cozy.io "Cozy Cloud"
|
|
163
162
|
[setup]: https://dev.cozy.io/#set-up-the-development-environment "Cozy dev docs: Set up the Development Environment"
|
|
164
163
|
[doctypes]: https://dev.cozy.io/#main-document-types
|
package/dist/components/Bar.js
CHANGED
|
@@ -19,6 +19,8 @@ var _reactRedux = require("react-redux");
|
|
|
19
19
|
|
|
20
20
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
21
21
|
|
|
22
|
+
var _Breakpoints = require("cozy-ui/transpiled/react/providers/Breakpoints");
|
|
23
|
+
|
|
22
24
|
var _Icon = _interopRequireDefault(require("cozy-ui/transpiled/react/Icon"));
|
|
23
25
|
|
|
24
26
|
var _cozyDeviceHelper = require("cozy-device-helper");
|
|
@@ -75,11 +77,16 @@ var Bar = function Bar(_ref) {
|
|
|
75
77
|
var _useI18n = (0, _useI18n2.default)(),
|
|
76
78
|
t = _useI18n.t;
|
|
77
79
|
|
|
80
|
+
var _useBreakpoints = (0, _Breakpoints.useBreakpoints)(),
|
|
81
|
+
isMobile = _useBreakpoints.isMobile;
|
|
82
|
+
|
|
78
83
|
var _useState = (0, _react.useState)(false),
|
|
79
84
|
_useState2 = (0, _slicedToArray2.default)(_useState, 2),
|
|
80
85
|
drawerVisible = _useState2[0],
|
|
81
86
|
setDrawerVisible = _useState2[1];
|
|
82
87
|
|
|
88
|
+
var showDrawerAndBurger = !isPublic && isMobile;
|
|
89
|
+
var showSettings = !isPublic && !isMobile;
|
|
83
90
|
var fetchInitialData = (0, _react.useCallback)(function () {
|
|
84
91
|
if (!isPublic) {
|
|
85
92
|
fetchContext();
|
|
@@ -131,7 +138,7 @@ var Bar = function Bar(_ref) {
|
|
|
131
138
|
} // data-tutorial attribute allows to be targeted in an application tutorial
|
|
132
139
|
|
|
133
140
|
|
|
134
|
-
return
|
|
141
|
+
return showDrawerAndBurger ? /*#__PURE__*/_react.default.createElement("button", {
|
|
135
142
|
type: "button",
|
|
136
143
|
className: "coz-bar-btn coz-bar-burger",
|
|
137
144
|
onClick: toggleDrawer,
|
|
@@ -147,7 +154,7 @@ var Bar = function Bar(_ref) {
|
|
|
147
154
|
};
|
|
148
155
|
|
|
149
156
|
var renderRight = function renderRight() {
|
|
150
|
-
return
|
|
157
|
+
return showSettings ? /*#__PURE__*/_react.default.createElement(_Settings.default, {
|
|
151
158
|
onLogOut: onLogOut
|
|
152
159
|
}) : null;
|
|
153
160
|
};
|
|
@@ -161,7 +168,7 @@ var Bar = function Bar(_ref) {
|
|
|
161
168
|
className: "coz-bar-container"
|
|
162
169
|
}, barLeft || renderLeft(), barCenter || renderCenter(), /*#__PURE__*/_react.default.createElement("div", {
|
|
163
170
|
className: "u-flex-grow"
|
|
164
|
-
}, barSearch), barRight || renderRight(),
|
|
171
|
+
}, barSearch), barRight || renderRight(), showDrawerAndBurger ? /*#__PURE__*/_react.default.createElement(_Drawer.default, {
|
|
165
172
|
visible: drawerVisible,
|
|
166
173
|
onClose: toggleDrawer,
|
|
167
174
|
drawerListener: function drawerListener() {
|
|
@@ -1,21 +1,45 @@
|
|
|
1
1
|
import React from 'react'
|
|
2
|
-
import { isFlagshipApp
|
|
2
|
+
import { isFlagshipApp } from 'cozy-device-helper'
|
|
3
3
|
import { BarLike } from 'test/lib/BarLike'
|
|
4
4
|
|
|
5
5
|
import { Bar } from './Bar'
|
|
6
6
|
import { fireEvent, render, screen } from '@testing-library/react'
|
|
7
7
|
import { createMockClient } from 'cozy-client'
|
|
8
|
+
import { useBreakpoints } from 'cozy-ui/transpiled/react/providers/Breakpoints'
|
|
9
|
+
|
|
10
|
+
import { useInstanceInfo } from 'cozy-client'
|
|
11
|
+
import { shouldDisplayOffers } from 'cozy-client/dist/models/instance'
|
|
8
12
|
|
|
9
13
|
jest.mock('cozy-device-helper', () => ({
|
|
10
14
|
...require.requireActual('cozy-device-helper'),
|
|
11
|
-
isMobileApp: jest.fn(),
|
|
12
15
|
isFlagshipApp: jest.fn()
|
|
13
16
|
}))
|
|
14
17
|
|
|
18
|
+
jest.mock('cozy-client', () => ({
|
|
19
|
+
...require.requireActual('cozy-client'),
|
|
20
|
+
useInstanceInfo: jest.fn()
|
|
21
|
+
}))
|
|
22
|
+
|
|
23
|
+
jest.mock('cozy-client/dist/models/instance', () => ({
|
|
24
|
+
...require.requireActual('cozy-client/dist/models/instance'),
|
|
25
|
+
shouldDisplayOffers: jest.fn()
|
|
26
|
+
}))
|
|
27
|
+
|
|
28
|
+
jest.mock('cozy-ui/transpiled/react/providers/Breakpoints', () => ({
|
|
29
|
+
...require.requireActual('cozy-ui/transpiled/react/providers/Breakpoints'),
|
|
30
|
+
__esModule: true,
|
|
31
|
+
useBreakpoints: jest.fn()
|
|
32
|
+
}))
|
|
33
|
+
|
|
15
34
|
describe('Bar', () => {
|
|
16
35
|
beforeEach(() => {
|
|
17
36
|
jest.resetAllMocks()
|
|
18
|
-
|
|
37
|
+
useBreakpoints.mockReturnValue({ isMobile: true })
|
|
38
|
+
shouldDisplayOffers.mockReturnValue(false)
|
|
39
|
+
useInstanceInfo.mockReturnValue({
|
|
40
|
+
isLoaded: true,
|
|
41
|
+
diskUsage: { data: { attributes: { used: 0 } } }
|
|
42
|
+
})
|
|
19
43
|
})
|
|
20
44
|
|
|
21
45
|
afterEach(() => {
|
|
@@ -162,7 +162,8 @@ var BarComponent = function BarComponent(_ref2) {
|
|
|
162
162
|
wrapperElement: wrapperElement,
|
|
163
163
|
setWrapperElement: setWrapperElement
|
|
164
164
|
}, /*#__PURE__*/_react.default.createElement(_CozyTheme.default, {
|
|
165
|
-
variant: themeVariant
|
|
165
|
+
variant: themeVariant,
|
|
166
|
+
ignoreCozySettings: options.isPublic
|
|
166
167
|
}, disableInternalStore ? /*#__PURE__*/_react.default.createElement(_Bar.default, (0, _extends2.default)({}, options, {
|
|
167
168
|
barSearch: barSearch,
|
|
168
169
|
barLeft: barLeft,
|
|
@@ -35,6 +35,12 @@ var _hammerjs = _interopRequireDefault(require("hammerjs"));
|
|
|
35
35
|
|
|
36
36
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
37
37
|
|
|
38
|
+
var _Divider = _interopRequireDefault(require("cozy-ui/transpiled/react/Divider"));
|
|
39
|
+
|
|
40
|
+
var _List = _interopRequireDefault(require("cozy-ui/transpiled/react/List"));
|
|
41
|
+
|
|
42
|
+
var _Paper = _interopRequireDefault(require("cozy-ui/transpiled/react/Paper"));
|
|
43
|
+
|
|
38
44
|
var _AppsContent = _interopRequireDefault(require("./Apps/AppsContent"));
|
|
39
45
|
|
|
40
46
|
var _SettingsContent = _interopRequireDefault(require("./Settings/SettingsContent"));
|
|
@@ -122,7 +128,6 @@ var Drawer = /*#__PURE__*/function (_Component) {
|
|
|
122
128
|
isScrolling: false,
|
|
123
129
|
isClosing: false
|
|
124
130
|
};
|
|
125
|
-
_this.handleLogout = _this.handleLogout.bind((0, _assertThisInitialized2.default)(_this));
|
|
126
131
|
return _this;
|
|
127
132
|
}
|
|
128
133
|
|
|
@@ -252,59 +257,15 @@ var Drawer = /*#__PURE__*/function (_Component) {
|
|
|
252
257
|
progress = Math.min(1.1, Math.max(0, progress));
|
|
253
258
|
this.asideRef.style.transform = 'translateX(-' + progress * 100 + '%)';
|
|
254
259
|
}
|
|
255
|
-
}, {
|
|
256
|
-
key: "handleLogout",
|
|
257
|
-
value: function () {
|
|
258
|
-
var _handleLogout = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee3() {
|
|
259
|
-
var _this$props, onLogOut, logOut, res;
|
|
260
|
-
|
|
261
|
-
return _regenerator.default.wrap(function _callee3$(_context3) {
|
|
262
|
-
while (1) {
|
|
263
|
-
switch (_context3.prev = _context3.next) {
|
|
264
|
-
case 0:
|
|
265
|
-
_this$props = this.props, onLogOut = _this$props.onLogOut, logOut = _this$props.logOut;
|
|
266
|
-
|
|
267
|
-
if (!(onLogOut && typeof onLogOut === 'function')) {
|
|
268
|
-
_context3.next = 6;
|
|
269
|
-
break;
|
|
270
|
-
}
|
|
271
|
-
|
|
272
|
-
res = onLogOut();
|
|
273
|
-
|
|
274
|
-
if (!(res instanceof Promise)) {
|
|
275
|
-
_context3.next = 6;
|
|
276
|
-
break;
|
|
277
|
-
}
|
|
278
|
-
|
|
279
|
-
_context3.next = 6;
|
|
280
|
-
return res;
|
|
281
|
-
|
|
282
|
-
case 6:
|
|
283
|
-
logOut();
|
|
284
|
-
|
|
285
|
-
case 7:
|
|
286
|
-
case "end":
|
|
287
|
-
return _context3.stop();
|
|
288
|
-
}
|
|
289
|
-
}
|
|
290
|
-
}, _callee3, this);
|
|
291
|
-
}));
|
|
292
|
-
|
|
293
|
-
function handleLogout() {
|
|
294
|
-
return _handleLogout.apply(this, arguments);
|
|
295
|
-
}
|
|
296
|
-
|
|
297
|
-
return handleLogout;
|
|
298
|
-
}()
|
|
299
260
|
}, {
|
|
300
261
|
key: "render",
|
|
301
262
|
value: function render() {
|
|
302
263
|
var _this3 = this;
|
|
303
264
|
|
|
304
|
-
var _this$
|
|
305
|
-
visible = _this$
|
|
306
|
-
|
|
307
|
-
|
|
265
|
+
var _this$props = this.props,
|
|
266
|
+
visible = _this$props.visible,
|
|
267
|
+
isInvertedTheme = _this$props.isInvertedTheme,
|
|
268
|
+
onLogOut = _this$props.onLogOut;
|
|
308
269
|
return /*#__PURE__*/_react.default.createElement("div", {
|
|
309
270
|
className: "coz-drawer-wrapper",
|
|
310
271
|
onClick: this.onDrawerClick,
|
|
@@ -321,15 +282,15 @@ var Drawer = /*#__PURE__*/function (_Component) {
|
|
|
321
282
|
}, /*#__PURE__*/_react.default.createElement(_AppsContent.default, {
|
|
322
283
|
onAppSwitch: this.close,
|
|
323
284
|
isInvertedTheme: isInvertedTheme
|
|
324
|
-
})), /*#__PURE__*/_react.default.createElement("
|
|
325
|
-
className: "coz-sep-flex"
|
|
326
|
-
}), /*#__PURE__*/_react.default.createElement("nav", {
|
|
285
|
+
})), /*#__PURE__*/_react.default.createElement(_Divider.default, null), /*#__PURE__*/_react.default.createElement("nav", {
|
|
327
286
|
className: "coz-drawer--settings"
|
|
328
|
-
}, /*#__PURE__*/_react.default.createElement(
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
287
|
+
}, /*#__PURE__*/_react.default.createElement(_Paper.default, {
|
|
288
|
+
elevation: 0,
|
|
289
|
+
square: true
|
|
290
|
+
}, /*#__PURE__*/_react.default.createElement(_List.default, null, /*#__PURE__*/_react.default.createElement(_SettingsContent.default, {
|
|
291
|
+
isDrawer: true,
|
|
292
|
+
onLogOut: onLogOut
|
|
293
|
+
}))))));
|
|
333
294
|
}
|
|
334
295
|
}]);
|
|
335
296
|
return Drawer;
|
|
@@ -341,28 +302,17 @@ Drawer.propTypes = {
|
|
|
341
302
|
onClose: _propTypes.default.func,
|
|
342
303
|
onLogOut: _propTypes.default.func,
|
|
343
304
|
isInvertedTheme: _propTypes.default.bool,
|
|
344
|
-
|
|
345
|
-
fetchSettingsData: _propTypes.default.func,
|
|
346
|
-
logOut: _propTypes.default.func
|
|
347
|
-
};
|
|
348
|
-
|
|
349
|
-
var mapStateToProps = function mapStateToProps(state) {
|
|
350
|
-
return {
|
|
351
|
-
storageData: (0, _reducers.getStorageData)(state)
|
|
352
|
-
};
|
|
305
|
+
fetchSettingsData: _propTypes.default.func
|
|
353
306
|
};
|
|
354
307
|
|
|
355
308
|
var mapDispatchToProps = function mapDispatchToProps(dispatch) {
|
|
356
309
|
return {
|
|
357
310
|
fetchSettingsData: function fetchSettingsData() {
|
|
358
311
|
return dispatch((0, _reducers.fetchSettingsData)());
|
|
359
|
-
},
|
|
360
|
-
logOut: function logOut() {
|
|
361
|
-
return dispatch((0, _reducers.logOut)());
|
|
362
312
|
}
|
|
363
313
|
};
|
|
364
314
|
};
|
|
365
315
|
|
|
366
|
-
var _default = (0, _reactRedux.connect)(
|
|
316
|
+
var _default = (0, _reactRedux.connect)(null, mapDispatchToProps)(Drawer);
|
|
367
317
|
|
|
368
318
|
exports.default = _default;
|
|
@@ -2,20 +2,35 @@ import React from 'react'
|
|
|
2
2
|
|
|
3
3
|
import { render, screen, fireEvent, act } from '@testing-library/react'
|
|
4
4
|
|
|
5
|
+
import { useInstanceInfo } from 'cozy-client'
|
|
6
|
+
|
|
5
7
|
import { Drawer } from './Drawer'
|
|
6
8
|
import { BarLike } from 'test/lib/BarLike'
|
|
7
9
|
|
|
10
|
+
jest.mock('cozy-client', () => ({
|
|
11
|
+
...require.requireActual('cozy-client'),
|
|
12
|
+
useInstanceInfo: jest.fn()
|
|
13
|
+
}))
|
|
14
|
+
|
|
8
15
|
const sleep = duration => new Promise(resolve => setTimeout(resolve, duration))
|
|
9
16
|
|
|
10
17
|
describe('bar', () => {
|
|
18
|
+
beforeEach(() => {
|
|
19
|
+
jest.resetAllMocks()
|
|
20
|
+
useInstanceInfo.mockReturnValue({
|
|
21
|
+
isLoaded: true,
|
|
22
|
+
diskUsage: { data: { attributes: { used: 0 } } }
|
|
23
|
+
})
|
|
24
|
+
})
|
|
25
|
+
|
|
11
26
|
describe('logout', () => {
|
|
12
27
|
const findLogoutButton = () => {
|
|
13
28
|
return screen.getByText('Log out')
|
|
14
29
|
}
|
|
15
|
-
const setup = ({ onLogOut
|
|
30
|
+
const setup = ({ onLogOut }) => {
|
|
16
31
|
render(
|
|
17
32
|
<BarLike>
|
|
18
|
-
<Drawer
|
|
33
|
+
<Drawer onLogOut={onLogOut} />
|
|
19
34
|
</BarLike>
|
|
20
35
|
)
|
|
21
36
|
}
|
|
@@ -34,9 +49,6 @@ describe('bar', () => {
|
|
|
34
49
|
it('should await the onLogOut', async () => {
|
|
35
50
|
let prom
|
|
36
51
|
const callOrder = []
|
|
37
|
-
const logOut = jest.fn().mockImplementation(() => {
|
|
38
|
-
callOrder.push('logOut')
|
|
39
|
-
})
|
|
40
52
|
|
|
41
53
|
const onLogOut = jest.fn().mockImplementation(async () => {
|
|
42
54
|
prom = sleep(100)
|
|
@@ -44,40 +56,26 @@ describe('bar', () => {
|
|
|
44
56
|
await prom
|
|
45
57
|
})
|
|
46
58
|
|
|
47
|
-
setup({
|
|
59
|
+
setup({ onLogOut })
|
|
48
60
|
|
|
49
61
|
act(() => {
|
|
50
62
|
clickLogout()
|
|
51
63
|
})
|
|
52
64
|
|
|
53
|
-
expect(logOut).not.toHaveBeenCalled()
|
|
54
65
|
await prom
|
|
55
66
|
await sleep(0)
|
|
56
67
|
|
|
57
|
-
expect(logOut).toHaveBeenCalled()
|
|
58
68
|
expect(onLogOut).toHaveBeenCalled()
|
|
59
|
-
expect(callOrder).toEqual(['onLogOut'
|
|
60
|
-
})
|
|
61
|
-
|
|
62
|
-
it('should work if onLogOut has not been passed', () => {
|
|
63
|
-
const logOut = jest.fn()
|
|
64
|
-
setup({ logOut })
|
|
65
|
-
act(() => {
|
|
66
|
-
clickLogout()
|
|
67
|
-
})
|
|
68
|
-
|
|
69
|
-
expect(logOut).toHaveBeenCalled()
|
|
69
|
+
expect(callOrder).toEqual(['onLogOut'])
|
|
70
70
|
})
|
|
71
71
|
|
|
72
72
|
it('should work if onLogOut does not return a promise', () => {
|
|
73
|
-
const logOut = jest.fn()
|
|
74
73
|
const onLogOut = jest.fn()
|
|
75
|
-
setup({
|
|
74
|
+
setup({ onLogOut })
|
|
76
75
|
act(() => {
|
|
77
76
|
clickLogout()
|
|
78
77
|
})
|
|
79
78
|
|
|
80
|
-
expect(logOut).toHaveBeenCalled()
|
|
81
79
|
expect(onLogOut).toHaveBeenCalled()
|
|
82
80
|
})
|
|
83
81
|
})
|
|
@@ -7,196 +7,81 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
7
7
|
});
|
|
8
8
|
exports.default = void 0;
|
|
9
9
|
|
|
10
|
-
var
|
|
10
|
+
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
11
11
|
|
|
12
|
-
var
|
|
12
|
+
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
|
|
13
13
|
|
|
14
|
-
var
|
|
14
|
+
var _react = _interopRequireDefault(require("react"));
|
|
15
15
|
|
|
16
|
-
var
|
|
16
|
+
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
17
17
|
|
|
18
18
|
var _cozyClient = require("cozy-client");
|
|
19
19
|
|
|
20
|
-
var
|
|
21
|
-
|
|
22
|
-
var _Openwith = _interopRequireDefault(require("cozy-ui/transpiled/react/Icons/Openwith"));
|
|
23
|
-
|
|
24
|
-
var _People = _interopRequireDefault(require("cozy-ui/transpiled/react/Icons/People"));
|
|
25
|
-
|
|
26
|
-
var _Palette = _interopRequireDefault(require("cozy-ui/transpiled/react/Icons/Palette"));
|
|
20
|
+
var _Actions = require("cozy-ui/transpiled/react/ActionsMenu/Actions");
|
|
27
21
|
|
|
28
|
-
var
|
|
22
|
+
var _ActionsMenu = _interopRequireDefault(require("cozy-ui/transpiled/react/ActionsMenu"));
|
|
29
23
|
|
|
30
|
-
var
|
|
24
|
+
var _ActionsItems = _interopRequireDefault(require("cozy-ui/transpiled/react/ActionsMenu/ActionsItems"));
|
|
31
25
|
|
|
32
|
-
var
|
|
26
|
+
var _actions = require("./actions");
|
|
33
27
|
|
|
34
|
-
var
|
|
35
|
-
|
|
36
|
-
var _Globe = _interopRequireDefault(require("cozy-ui/transpiled/react/Icons/Globe"));
|
|
37
|
-
|
|
38
|
-
var _Logout = _interopRequireDefault(require("cozy-ui/transpiled/react/Icons/Logout"));
|
|
39
|
-
|
|
40
|
-
var _Help = _interopRequireDefault(require("cozy-ui/transpiled/react/Icons/Help"));
|
|
41
|
-
|
|
42
|
-
var _Email = _interopRequireDefault(require("cozy-ui/transpiled/react/Icons/Email"));
|
|
43
|
-
|
|
44
|
-
var _helper = require("./helper");
|
|
28
|
+
var _useI18n2 = _interopRequireDefault(require("../useI18n"));
|
|
45
29
|
|
|
46
|
-
var
|
|
30
|
+
var SettingsContent = function SettingsContent(_ref) {
|
|
31
|
+
var anchorRef = _ref.anchorRef,
|
|
32
|
+
instanceInfo = _ref.instanceInfo,
|
|
33
|
+
onLogOut = _ref.onLogOut,
|
|
34
|
+
isDrawer = _ref.isDrawer,
|
|
35
|
+
onClose = _ref.onClose;
|
|
47
36
|
|
|
48
|
-
var
|
|
37
|
+
var _useI18n = (0, _useI18n2.default)(),
|
|
38
|
+
t = _useI18n.t;
|
|
49
39
|
|
|
50
|
-
var
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
color: "var(--iconTextColor)",
|
|
55
|
-
icon: icon
|
|
40
|
+
var actions = (0, _Actions.makeActions)([_actions.profile, _actions.appearance, _actions.plans, _actions.storage, _actions.permissions, _Actions.divider, _actions.connectedDevices, _actions.connections, _Actions.divider, _actions.help, _actions.contact, _actions.logout], {
|
|
41
|
+
t: t,
|
|
42
|
+
instanceInfo: instanceInfo,
|
|
43
|
+
onLogOut: onLogOut
|
|
56
44
|
});
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
return /*#__PURE__*/_react.default.createElement(
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
45
|
+
if (isDrawer) return /*#__PURE__*/_react.default.createElement(_ActionsItems.default, {
|
|
46
|
+
actions: actions
|
|
47
|
+
});
|
|
48
|
+
return /*#__PURE__*/_react.default.createElement(_ActionsMenu.default, {
|
|
49
|
+
ref: anchorRef,
|
|
50
|
+
open: true,
|
|
51
|
+
docs: [],
|
|
52
|
+
actions: actions,
|
|
53
|
+
anchorOrigin: {
|
|
54
|
+
vertical: 'bottom',
|
|
55
|
+
horizontal: 'right'
|
|
56
|
+
},
|
|
57
|
+
autoClose: true,
|
|
58
|
+
onClose: onClose
|
|
64
59
|
});
|
|
65
60
|
};
|
|
66
61
|
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
}, children);
|
|
72
|
-
};
|
|
73
|
-
|
|
74
|
-
var NavItem = function NavItem(_ref3) {
|
|
75
|
-
var children = _ref3.children;
|
|
76
|
-
return /*#__PURE__*/_react.default.createElement("li", {
|
|
77
|
-
className: "coz-nav-settings-item"
|
|
78
|
-
}, children);
|
|
62
|
+
SettingsContent.propTypes = {
|
|
63
|
+
instanceInfo: _propTypes.default.object,
|
|
64
|
+
onLogOut: _propTypes.default.func,
|
|
65
|
+
isDrawer: _propTypes.default.bool
|
|
79
66
|
};
|
|
80
67
|
|
|
81
|
-
var
|
|
82
|
-
var
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
isDrawer = _ref4$isDrawer === void 0 ? false : _ref4$isDrawer,
|
|
86
|
-
shoulDisplayViewOfferButton = _ref4.shoulDisplayViewOfferButton,
|
|
87
|
-
managerUrlPremiumLink = _ref4.managerUrlPremiumLink;
|
|
88
|
-
|
|
89
|
-
var _useI18n = (0, _useI18n2.default)(),
|
|
90
|
-
t = _useI18n.t;
|
|
68
|
+
var SettingsContentWithQuery = function SettingsContentWithQuery(props) {
|
|
69
|
+
var _useInstanceInfo = (0, _cozyClient.useInstanceInfo)(),
|
|
70
|
+
isLoaded = _useInstanceInfo.isLoaded,
|
|
71
|
+
instanceInfo = (0, _objectWithoutProperties2.default)(_useInstanceInfo, ["isLoaded"]);
|
|
91
72
|
|
|
92
|
-
|
|
93
|
-
return /*#__PURE__*/_react.default.createElement(
|
|
94
|
-
|
|
95
|
-
},
|
|
96
|
-
role: "menuitem",
|
|
97
|
-
href: (0, _helper.getSettingsLink)({
|
|
98
|
-
client: client,
|
|
99
|
-
hash: 'profile'
|
|
100
|
-
}),
|
|
101
|
-
target: "_self",
|
|
102
|
-
title: t('profile')
|
|
103
|
-
}, /*#__PURE__*/_react.default.createElement(MenuIcon, {
|
|
104
|
-
icon: _People.default
|
|
105
|
-
}), t('profile'))), (0, _cozyFlags.default)('ui.darkmode.enabled') && /*#__PURE__*/_react.default.createElement(NavItem, null, /*#__PURE__*/_react.default.createElement("a", {
|
|
106
|
-
role: "menuitem",
|
|
107
|
-
href: (0, _helper.getSettingsLink)({
|
|
108
|
-
client: client,
|
|
109
|
-
hash: 'appearance'
|
|
110
|
-
}),
|
|
111
|
-
target: "_self",
|
|
112
|
-
title: t('appearance')
|
|
113
|
-
}, /*#__PURE__*/_react.default.createElement(MenuIcon, {
|
|
114
|
-
icon: _Palette.default
|
|
115
|
-
}), t('appearance'))), (!isDrawer || !(0, _cozyDeviceHelper.isMobileApp)()) && shoulDisplayViewOfferButton && /*#__PURE__*/_react.default.createElement(NavItem, null, /*#__PURE__*/_react.default.createElement("a", {
|
|
116
|
-
role: "menuitem",
|
|
117
|
-
href: managerUrlPremiumLink,
|
|
118
|
-
target: "_self",
|
|
119
|
-
title: t('plans')
|
|
120
|
-
}, /*#__PURE__*/_react.default.createElement(MenuIcon, {
|
|
121
|
-
icon: _CozyCircle.default
|
|
122
|
-
}), t('plans'), !(0, _cozyFlags.default)('settings.subscription') && /*#__PURE__*/_react.default.createElement(ExternalLinkIcon, null))), /*#__PURE__*/_react.default.createElement(NavItem, null, /*#__PURE__*/_react.default.createElement("a", {
|
|
123
|
-
role: "menuitem",
|
|
124
|
-
target: "_self",
|
|
125
|
-
title: t('storage'),
|
|
126
|
-
href: (0, _helper.getSettingsLink)({
|
|
127
|
-
client: client,
|
|
128
|
-
hash: 'storage'
|
|
129
|
-
})
|
|
130
|
-
}, /*#__PURE__*/_react.default.createElement(MenuIcon, {
|
|
131
|
-
icon: _GraphCircle.default
|
|
132
|
-
}), /*#__PURE__*/_react.default.createElement("span", null, t('storage'), storageData ? /*#__PURE__*/_react.default.createElement(_StorageData.default, {
|
|
133
|
-
data: storageData
|
|
134
|
-
}) : null)))), /*#__PURE__*/_react.default.createElement(NavGroup, null, (0, _cozyFlags.default)('settings.permissions-dashboard') && /*#__PURE__*/_react.default.createElement(NavItem, null, /*#__PURE__*/_react.default.createElement("a", {
|
|
135
|
-
role: "menuitem",
|
|
136
|
-
href: (0, _helper.getSettingsLink)({
|
|
137
|
-
client: client,
|
|
138
|
-
hash: 'permissions/slug'
|
|
139
|
-
}),
|
|
140
|
-
target: "_self",
|
|
141
|
-
title: t('permissions')
|
|
142
|
-
}, /*#__PURE__*/_react.default.createElement(MenuIcon, {
|
|
143
|
-
icon: _Hand.default
|
|
144
|
-
}), t('permissions'))), /*#__PURE__*/_react.default.createElement(NavItem, null, /*#__PURE__*/_react.default.createElement("a", {
|
|
145
|
-
role: "menuitem",
|
|
146
|
-
href: (0, _helper.getSettingsLink)({
|
|
147
|
-
client: client,
|
|
148
|
-
hash: 'connectedDevices'
|
|
149
|
-
}),
|
|
150
|
-
target: "_self",
|
|
151
|
-
title: t('connectedDevices')
|
|
152
|
-
}, /*#__PURE__*/_react.default.createElement(MenuIcon, {
|
|
153
|
-
icon: _Devices.default
|
|
154
|
-
}), t('connectedDevices'))), /*#__PURE__*/_react.default.createElement(NavItem, null, /*#__PURE__*/_react.default.createElement("a", {
|
|
155
|
-
role: "menuitem",
|
|
156
|
-
href: (0, _helper.getSettingsLink)({
|
|
157
|
-
client: client,
|
|
158
|
-
hash: 'sessions'
|
|
159
|
-
}),
|
|
160
|
-
target: "_self",
|
|
161
|
-
title: t('connections')
|
|
162
|
-
}, /*#__PURE__*/_react.default.createElement(MenuIcon, {
|
|
163
|
-
icon: _Globe.default
|
|
164
|
-
}), t('connections')))), /*#__PURE__*/_react.default.createElement(NavGroup, null, !(0, _cozyDeviceHelper.isMobileApp)() && /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(NavItem, null, /*#__PURE__*/_react.default.createElement("a", {
|
|
165
|
-
role: "menuitem",
|
|
166
|
-
target: "_blank",
|
|
167
|
-
rel: "noopener noreferrer",
|
|
168
|
-
href: "https://support.cozy.io/",
|
|
169
|
-
title: t('help')
|
|
170
|
-
}, /*#__PURE__*/_react.default.createElement(MenuIcon, {
|
|
171
|
-
icon: _Help.default
|
|
172
|
-
}), t('help'), /*#__PURE__*/_react.default.createElement(ExternalLinkIcon, null))), /*#__PURE__*/_react.default.createElement(NavItem, null, /*#__PURE__*/_react.default.createElement("a", {
|
|
173
|
-
role: "menuitem",
|
|
174
|
-
href: (0, _helper.getSettingsLink)({
|
|
175
|
-
client: client,
|
|
176
|
-
hash: 'support'
|
|
177
|
-
}),
|
|
178
|
-
target: "_self",
|
|
179
|
-
title: t('contact')
|
|
180
|
-
}, /*#__PURE__*/_react.default.createElement(MenuIcon, {
|
|
181
|
-
icon: _Email.default
|
|
182
|
-
}), t('contact')))), /*#__PURE__*/_react.default.createElement(NavItem, null, /*#__PURE__*/_react.default.createElement("button", {
|
|
183
|
-
type: "button",
|
|
184
|
-
role: "menuitem",
|
|
185
|
-
onClick: onLogOut,
|
|
186
|
-
title: t('logout')
|
|
187
|
-
}, /*#__PURE__*/_react.default.createElement(MenuIcon, {
|
|
188
|
-
icon: _Logout.default
|
|
189
|
-
}), " ", t('logout')))));
|
|
73
|
+
if (!isLoaded) return null;
|
|
74
|
+
return /*#__PURE__*/_react.default.createElement(SettingsContent, (0, _extends2.default)({
|
|
75
|
+
instanceInfo: instanceInfo
|
|
76
|
+
}, props));
|
|
190
77
|
};
|
|
191
78
|
|
|
192
|
-
|
|
193
|
-
|
|
79
|
+
SettingsContentWithQuery.defaultProps = {
|
|
80
|
+
isDrawer: false
|
|
194
81
|
};
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
onLogOut: _propTypes.default.func.isRequired,
|
|
198
|
-
storageData: _propTypes.default.object,
|
|
82
|
+
SettingsContentWithQuery.propTypes = {
|
|
83
|
+
onLogOut: _propTypes.default.func,
|
|
199
84
|
isDrawer: _propTypes.default.bool
|
|
200
85
|
};
|
|
201
|
-
var _default =
|
|
86
|
+
var _default = SettingsContentWithQuery;
|
|
202
87
|
exports.default = _default;
|
|
@@ -9,28 +9,35 @@ exports.default = void 0;
|
|
|
9
9
|
|
|
10
10
|
var _react = _interopRequireDefault(require("react"));
|
|
11
11
|
|
|
12
|
-
var
|
|
12
|
+
var _cozyClient = require("cozy-client");
|
|
13
|
+
|
|
14
|
+
var _instance = require("cozy-client/dist/models/instance");
|
|
13
15
|
|
|
14
|
-
var
|
|
15
|
-
|
|
16
|
+
var _Progress = require("cozy-ui/transpiled/react/Progress");
|
|
17
|
+
|
|
18
|
+
var _useI18n2 = _interopRequireDefault(require("../useI18n"));
|
|
16
19
|
|
|
20
|
+
var StorageData = function StorageData() {
|
|
17
21
|
var _useI18n = (0, _useI18n2.default)(),
|
|
18
22
|
t = _useI18n.t;
|
|
19
23
|
|
|
20
|
-
var
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
24
|
+
var _useInstanceInfo = (0, _cozyClient.useInstanceInfo)(),
|
|
25
|
+
isLoaded = _useInstanceInfo.isLoaded,
|
|
26
|
+
diskUsage = _useInstanceInfo.diskUsage;
|
|
27
|
+
|
|
28
|
+
if (!isLoaded) return null; // we used this default quota set in getStorageData, we just reuse it here
|
|
29
|
+
|
|
30
|
+
var storageData = (0, _instance.makeDiskInfos)(diskUsage.data.attributes.used, diskUsage.data.attributes.quota || Math.max(Math.pow(10, 12), 10 * parseInt(diskUsage.data.attributes.used, 10)));
|
|
31
|
+
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, t('storage_phrase', {
|
|
32
|
+
diskUsage: storageData.humanDiskUsage,
|
|
33
|
+
diskQuota: storageData.humanDiskQuota
|
|
34
|
+
}), /*#__PURE__*/_react.default.createElement(_Progress.LinearProgress, {
|
|
35
|
+
style: {
|
|
36
|
+
width: '85%'
|
|
37
|
+
},
|
|
38
|
+
className: "u-mt-half",
|
|
39
|
+
variant: "determinate",
|
|
40
|
+
value: parseInt(storageData.percentUsage)
|
|
34
41
|
}));
|
|
35
42
|
};
|
|
36
43
|
|