cozy-sharing 37.5.4 → 37.5.5
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/CHANGELOG.md +4 -0
- package/dist/components/ShareDialogCozyToCozy.js +21 -108
- package/dist/components/ShareModal.js +2 -2
- package/dist/components/SharingContent.js +92 -0
- package/package.json +3 -3
- package/src/components/ShareDialogCozyToCozy.jsx +1 -87
- package/src/components/ShareModal.jsx +2 -2
- package/src/components/SharingContent.jsx +94 -0
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,10 @@
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
+
## [37.5.5](https://github.com/cozy/cozy-libs/compare/cozy-sharing@37.5.4...cozy-sharing@37.5.5) (2026-09-01)
|
|
7
|
+
|
|
8
|
+
**Note:** Version bump only for package cozy-sharing
|
|
9
|
+
|
|
6
10
|
## [37.5.4](https://github.com/cozy/cozy-libs/compare/cozy-sharing@37.5.3...cozy-sharing@37.5.4) (2026-08-31)
|
|
7
11
|
|
|
8
12
|
### Bug Fixes
|
|
@@ -5,117 +5,30 @@ import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
|
|
|
5
5
|
import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
|
|
6
6
|
var _excluded = ["showShareByLink", "showGenerateLinkButton", "autoOpenShareRestriction", "documentType", "document", "onShare", "recipients", "sharingDesc", "createContact", "onClose"];
|
|
7
7
|
import _regeneratorRuntime from "@babel/runtime/regenerator";
|
|
8
|
-
import cx from 'classnames';
|
|
9
8
|
import PropTypes from 'prop-types';
|
|
10
9
|
import React, { useCallback, useMemo, useState } from 'react';
|
|
11
10
|
import { useClient } from 'cozy-client';
|
|
12
11
|
import Button from 'cozy-ui/transpiled/react/Buttons';
|
|
13
|
-
import Typography from 'cozy-ui/transpiled/react/Typography';
|
|
14
12
|
import { useAlert } from 'cozy-ui/transpiled/react/providers/Alert';
|
|
15
|
-
import useBreakpoints from 'cozy-ui/transpiled/react/providers/Breakpoints';
|
|
16
13
|
import { useI18n } from 'twake-i18n';
|
|
17
|
-
import AntivirusAlert from './AntivirusAlert';
|
|
18
|
-
import { default as DumbShareByEmail } from './ShareByEmail';
|
|
19
14
|
import { default as DumbShareByLink } from './ShareByLink';
|
|
20
15
|
import ShareDialogTwoStepsConfirmationContainer from './ShareDialogTwoStepsConfirmationContainer';
|
|
21
16
|
import { ShareRecipientsLimitModal } from './ShareRecipientsLimitModal';
|
|
22
|
-
import
|
|
17
|
+
import SharingContent from './SharingContent';
|
|
23
18
|
import { getOrCreateFromArray } from '../helpers/contacts';
|
|
24
19
|
import { hasReachRecipientsLimit } from '../helpers/recipients';
|
|
25
20
|
import { getErrorMessage, getSuccessMessage } from '../helpers/share';
|
|
26
21
|
import { usePendingRecipients } from '../hooks/usePendingRecipients';
|
|
27
22
|
import { useSharingContext } from '../hooks/useSharingContext';
|
|
28
|
-
var styles = {
|
|
29
|
-
"share-modal-content": "share__share-modal-content___1iqEq",
|
|
30
|
-
"coz-form": "share__coz-form___1ICST",
|
|
31
|
-
"coz-form-group": "share__coz-form-group___VsQp7",
|
|
32
|
-
"coz-form-desc": "share__coz-form-desc___2mYN4",
|
|
33
|
-
"coz-form-label": "share__coz-form-label___bogBw",
|
|
34
|
-
"coz-form-label--error": "share__coz-form-label--error___3YPkf",
|
|
35
|
-
"coz-form-errors": "share__coz-form-errors___2xYRz",
|
|
36
|
-
"coz-form-controls": "share__coz-form-controls___H8kGc",
|
|
37
|
-
"coz-form-controls--full": "share__coz-form-controls--full___1oQXF",
|
|
38
|
-
"coz-form-controls--dispatch": "share__coz-form-controls--dispatch___1zIxt",
|
|
39
|
-
"error": "share__error___pwqPO",
|
|
40
|
-
"share-dialog-scrollable-content": "share__share-dialog-scrollable-content___2Xyoq",
|
|
41
|
-
"share-dialog-scrollable-body": "share__share-dialog-scrollable-body___2O5UT",
|
|
42
|
-
"share-dialog-members": "share__share-dialog-members___CNHKJ",
|
|
43
|
-
"share-byemail-onlybylink": "share__share-byemail-onlybylink___29W-t",
|
|
44
|
-
"aligned-dropdown-button": "share__aligned-dropdown-button___3crgG"
|
|
45
|
-
};
|
|
46
|
-
|
|
47
|
-
var SharingContent = function SharingContent(_ref) {
|
|
48
|
-
var document = _ref.document,
|
|
49
|
-
documentType = _ref.documentType,
|
|
50
|
-
hasSharedParent = _ref.hasSharedParent,
|
|
51
|
-
isOwner = _ref.isOwner,
|
|
52
|
-
onRevoke = _ref.onRevoke,
|
|
53
|
-
onRevokeSelf = _ref.onRevokeSelf,
|
|
54
|
-
recipients = _ref.recipients,
|
|
55
|
-
sharing = _ref.sharing,
|
|
56
|
-
showShareByEmail = _ref.showShareByEmail,
|
|
57
|
-
showShareOnlyByLink = _ref.showShareOnlyByLink,
|
|
58
|
-
showWhoHasAccess = _ref.showWhoHasAccess,
|
|
59
|
-
recipientsToBeConfirmed = _ref.recipientsToBeConfirmed,
|
|
60
|
-
verifyRecipient = _ref.verifyRecipient,
|
|
61
|
-
link = _ref.link,
|
|
62
|
-
permissions = _ref.permissions,
|
|
63
|
-
pendingRecipients = _ref.pendingRecipients,
|
|
64
|
-
onPendingRecipientsChange = _ref.onPendingRecipientsChange,
|
|
65
|
-
selectedOption = _ref.selectedOption,
|
|
66
|
-
onSelectedOptionChange = _ref.onSelectedOptionChange;
|
|
67
|
-
|
|
68
|
-
var _useI18n = useI18n(),
|
|
69
|
-
t = _useI18n.t;
|
|
70
|
-
|
|
71
|
-
var _useBreakpoints = useBreakpoints(),
|
|
72
|
-
isMobile = _useBreakpoints.isMobile;
|
|
73
23
|
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
className: cx('u-pt-1-half', isMobile ? 'u-ph-1' : 'u-ph-2')
|
|
78
|
-
}, /*#__PURE__*/React.createElement(AntivirusAlert, {
|
|
79
|
-
document: document
|
|
80
|
-
}), showShareOnlyByLink && /*#__PURE__*/React.createElement("div", {
|
|
81
|
-
className: styles['share-byemail-onlybylink']
|
|
82
|
-
}, t("".concat(documentType, ".share.shareByEmail.onlyByLink"), {
|
|
83
|
-
type: t("".concat(documentType, ".share.shareByEmail.type.").concat(document.type === 'directory' ? 'folder' : 'file'))
|
|
84
|
-
}), ' ', /*#__PURE__*/React.createElement("strong", null, t("".concat(documentType, ".share.shareByEmail.").concat(hasSharedParent ? 'hasSharedParent' : 'hasSharedChild')))), /*#__PURE__*/React.createElement(Typography, {
|
|
85
|
-
variant: "h6",
|
|
86
|
-
className: "u-mb-half"
|
|
87
|
-
}, t('Share.contacts.addUsers')), showShareByEmail && /*#__PURE__*/React.createElement(DumbShareByEmail, {
|
|
88
|
-
currentRecipients: recipients,
|
|
89
|
-
document: document,
|
|
90
|
-
documentType: documentType,
|
|
91
|
-
sharing: sharing,
|
|
92
|
-
pendingRecipients: pendingRecipients,
|
|
93
|
-
onPendingRecipientsChange: onPendingRecipientsChange,
|
|
94
|
-
selectedOption: selectedOption,
|
|
95
|
-
onSelectedOptionChange: onSelectedOptionChange,
|
|
96
|
-
enableCreateContact: true
|
|
97
|
-
})), showWhoHasAccess && /*#__PURE__*/React.createElement(WhoHasAccess, {
|
|
98
|
-
document: document,
|
|
99
|
-
documentType: documentType,
|
|
100
|
-
isOwner: isOwner,
|
|
101
|
-
onRevoke: onRevoke,
|
|
102
|
-
onRevokeSelf: onRevokeSelf,
|
|
103
|
-
recipients: recipients,
|
|
104
|
-
recipientsToBeConfirmed: recipientsToBeConfirmed,
|
|
105
|
-
verifyRecipient: verifyRecipient,
|
|
106
|
-
link: link,
|
|
107
|
-
permissions: permissions
|
|
108
|
-
}));
|
|
109
|
-
};
|
|
110
|
-
|
|
111
|
-
var SharingTitleFunction = function SharingTitleFunction(_ref2) {
|
|
112
|
-
var documentType = _ref2.documentType,
|
|
113
|
-
document = _ref2.document;
|
|
24
|
+
var SharingTitleFunction = function SharingTitleFunction(_ref) {
|
|
25
|
+
var documentType = _ref.documentType,
|
|
26
|
+
document = _ref.document;
|
|
114
27
|
return function SharingTitle() {
|
|
115
28
|
var _document$attributes;
|
|
116
29
|
|
|
117
|
-
var
|
|
118
|
-
t =
|
|
30
|
+
var _useI18n = useI18n(),
|
|
31
|
+
t = _useI18n.t;
|
|
119
32
|
|
|
120
33
|
var title = t("".concat(documentType, ".share.title"), {
|
|
121
34
|
name: document.name || ((_document$attributes = document.attributes) === null || _document$attributes === void 0 ? void 0 : _document$attributes.name)
|
|
@@ -124,21 +37,21 @@ var SharingTitleFunction = function SharingTitleFunction(_ref2) {
|
|
|
124
37
|
};
|
|
125
38
|
};
|
|
126
39
|
|
|
127
|
-
var ShareDialogCozyToCozy = function ShareDialogCozyToCozy(
|
|
128
|
-
var showShareByLink =
|
|
129
|
-
showGenerateLinkButton =
|
|
130
|
-
autoOpenShareRestriction =
|
|
131
|
-
documentType =
|
|
132
|
-
document =
|
|
133
|
-
onShare =
|
|
134
|
-
recipients =
|
|
135
|
-
sharingDesc =
|
|
136
|
-
createContact =
|
|
137
|
-
onClose =
|
|
138
|
-
props = _objectWithoutProperties(
|
|
139
|
-
|
|
140
|
-
var
|
|
141
|
-
t =
|
|
40
|
+
var ShareDialogCozyToCozy = function ShareDialogCozyToCozy(_ref2) {
|
|
41
|
+
var showShareByLink = _ref2.showShareByLink,
|
|
42
|
+
showGenerateLinkButton = _ref2.showGenerateLinkButton,
|
|
43
|
+
autoOpenShareRestriction = _ref2.autoOpenShareRestriction,
|
|
44
|
+
documentType = _ref2.documentType,
|
|
45
|
+
document = _ref2.document,
|
|
46
|
+
onShare = _ref2.onShare,
|
|
47
|
+
recipients = _ref2.recipients,
|
|
48
|
+
sharingDesc = _ref2.sharingDesc,
|
|
49
|
+
createContact = _ref2.createContact,
|
|
50
|
+
onClose = _ref2.onClose,
|
|
51
|
+
props = _objectWithoutProperties(_ref2, _excluded);
|
|
52
|
+
|
|
53
|
+
var _useI18n2 = useI18n(),
|
|
54
|
+
t = _useI18n2.t;
|
|
142
55
|
|
|
143
56
|
var client = useClient();
|
|
144
57
|
|
|
@@ -64,7 +64,6 @@ export var ShareModal = function ShareModal(_ref) {
|
|
|
64
64
|
twoStepsConfirmationMethods: twoStepsConfirmationMethods
|
|
65
65
|
});
|
|
66
66
|
};
|
|
67
|
-
export default ShareModal;
|
|
68
67
|
ShareModal.propTypes = {
|
|
69
68
|
autoOpenShareRestriction: PropTypes.bool,
|
|
70
69
|
createContact: PropTypes.func.isRequired,
|
|
@@ -87,4 +86,5 @@ ShareModal.propTypes = {
|
|
|
87
86
|
rejectRecipient: PropTypes.func,
|
|
88
87
|
recipientConfirmationDialogContent: PropTypes.func
|
|
89
88
|
})
|
|
90
|
-
};
|
|
89
|
+
};
|
|
90
|
+
export default ShareModal;
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
import cx from 'classnames';
|
|
2
|
+
import React from 'react';
|
|
3
|
+
import Typography from 'cozy-ui/transpiled/react/Typography';
|
|
4
|
+
import useBreakpoints from 'cozy-ui/transpiled/react/providers/Breakpoints';
|
|
5
|
+
import { useI18n } from 'twake-i18n';
|
|
6
|
+
import AntivirusAlert from './AntivirusAlert';
|
|
7
|
+
import { default as DumbShareByEmail } from './ShareByEmail';
|
|
8
|
+
import WhoHasAccess from './WhoHasAccess';
|
|
9
|
+
var styles = {
|
|
10
|
+
"share-modal-content": "share__share-modal-content___1iqEq",
|
|
11
|
+
"coz-form": "share__coz-form___1ICST",
|
|
12
|
+
"coz-form-group": "share__coz-form-group___VsQp7",
|
|
13
|
+
"coz-form-desc": "share__coz-form-desc___2mYN4",
|
|
14
|
+
"coz-form-label": "share__coz-form-label___bogBw",
|
|
15
|
+
"coz-form-label--error": "share__coz-form-label--error___3YPkf",
|
|
16
|
+
"coz-form-errors": "share__coz-form-errors___2xYRz",
|
|
17
|
+
"coz-form-controls": "share__coz-form-controls___H8kGc",
|
|
18
|
+
"coz-form-controls--full": "share__coz-form-controls--full___1oQXF",
|
|
19
|
+
"coz-form-controls--dispatch": "share__coz-form-controls--dispatch___1zIxt",
|
|
20
|
+
"error": "share__error___pwqPO",
|
|
21
|
+
"share-dialog-scrollable-content": "share__share-dialog-scrollable-content___2Xyoq",
|
|
22
|
+
"share-dialog-scrollable-body": "share__share-dialog-scrollable-body___2O5UT",
|
|
23
|
+
"share-dialog-members": "share__share-dialog-members___CNHKJ",
|
|
24
|
+
"share-byemail-onlybylink": "share__share-byemail-onlybylink___29W-t",
|
|
25
|
+
"aligned-dropdown-button": "share__aligned-dropdown-button___3crgG"
|
|
26
|
+
};
|
|
27
|
+
|
|
28
|
+
var SharingContent = function SharingContent(_ref) {
|
|
29
|
+
var document = _ref.document,
|
|
30
|
+
documentType = _ref.documentType,
|
|
31
|
+
hasSharedParent = _ref.hasSharedParent,
|
|
32
|
+
isOwner = _ref.isOwner,
|
|
33
|
+
onRevoke = _ref.onRevoke,
|
|
34
|
+
onRevokeSelf = _ref.onRevokeSelf,
|
|
35
|
+
recipients = _ref.recipients,
|
|
36
|
+
sharing = _ref.sharing,
|
|
37
|
+
showShareByEmail = _ref.showShareByEmail,
|
|
38
|
+
showShareOnlyByLink = _ref.showShareOnlyByLink,
|
|
39
|
+
showWhoHasAccess = _ref.showWhoHasAccess,
|
|
40
|
+
recipientsToBeConfirmed = _ref.recipientsToBeConfirmed,
|
|
41
|
+
verifyRecipient = _ref.verifyRecipient,
|
|
42
|
+
link = _ref.link,
|
|
43
|
+
permissions = _ref.permissions,
|
|
44
|
+
pendingRecipients = _ref.pendingRecipients,
|
|
45
|
+
onPendingRecipientsChange = _ref.onPendingRecipientsChange,
|
|
46
|
+
selectedOption = _ref.selectedOption,
|
|
47
|
+
onSelectedOptionChange = _ref.onSelectedOptionChange;
|
|
48
|
+
|
|
49
|
+
var _useI18n = useI18n(),
|
|
50
|
+
t = _useI18n.t;
|
|
51
|
+
|
|
52
|
+
var _useBreakpoints = useBreakpoints(),
|
|
53
|
+
isMobile = _useBreakpoints.isMobile;
|
|
54
|
+
|
|
55
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
56
|
+
className: cx(styles['share-modal-content'])
|
|
57
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
58
|
+
className: cx('u-pt-1-half', isMobile ? 'u-ph-1' : 'u-ph-2')
|
|
59
|
+
}, /*#__PURE__*/React.createElement(AntivirusAlert, {
|
|
60
|
+
document: document
|
|
61
|
+
}), showShareOnlyByLink && /*#__PURE__*/React.createElement("div", {
|
|
62
|
+
className: styles['share-byemail-onlybylink']
|
|
63
|
+
}, t("".concat(documentType, ".share.shareByEmail.onlyByLink"), {
|
|
64
|
+
type: t("".concat(documentType, ".share.shareByEmail.type.").concat(document.type === 'directory' ? 'folder' : 'file'))
|
|
65
|
+
}), ' ', /*#__PURE__*/React.createElement("strong", null, t("".concat(documentType, ".share.shareByEmail.").concat(hasSharedParent ? 'hasSharedParent' : 'hasSharedChild')))), /*#__PURE__*/React.createElement(Typography, {
|
|
66
|
+
variant: "h6",
|
|
67
|
+
className: "u-mb-half"
|
|
68
|
+
}, t('Share.contacts.addUsers')), showShareByEmail && /*#__PURE__*/React.createElement(DumbShareByEmail, {
|
|
69
|
+
currentRecipients: recipients,
|
|
70
|
+
document: document,
|
|
71
|
+
documentType: documentType,
|
|
72
|
+
sharing: sharing,
|
|
73
|
+
pendingRecipients: pendingRecipients,
|
|
74
|
+
onPendingRecipientsChange: onPendingRecipientsChange,
|
|
75
|
+
selectedOption: selectedOption,
|
|
76
|
+
onSelectedOptionChange: onSelectedOptionChange,
|
|
77
|
+
enableCreateContact: true
|
|
78
|
+
})), showWhoHasAccess && /*#__PURE__*/React.createElement(WhoHasAccess, {
|
|
79
|
+
document: document,
|
|
80
|
+
documentType: documentType,
|
|
81
|
+
isOwner: isOwner,
|
|
82
|
+
onRevoke: onRevoke,
|
|
83
|
+
onRevokeSelf: onRevokeSelf,
|
|
84
|
+
recipients: recipients,
|
|
85
|
+
recipientsToBeConfirmed: recipientsToBeConfirmed,
|
|
86
|
+
verifyRecipient: verifyRecipient,
|
|
87
|
+
link: link,
|
|
88
|
+
permissions: permissions
|
|
89
|
+
}));
|
|
90
|
+
};
|
|
91
|
+
|
|
92
|
+
export default SharingContent;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "cozy-sharing",
|
|
3
|
-
"version": "37.5.
|
|
3
|
+
"version": "37.5.5",
|
|
4
4
|
"description": "Provides sharing login for React applications.",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"author": "Cozy",
|
|
@@ -59,7 +59,7 @@
|
|
|
59
59
|
"cozy-intent": "^2.31.1",
|
|
60
60
|
"cozy-minilog": "^3.10.1",
|
|
61
61
|
"cozy-ui": "^140.5.0",
|
|
62
|
-
"cozy-ui-plus": "^12.3.
|
|
62
|
+
"cozy-ui-plus": "^12.3.14",
|
|
63
63
|
"jest": "30.3.0",
|
|
64
64
|
"jest-environment-jsdom": "30.3.0",
|
|
65
65
|
"react": "16.12.0",
|
|
@@ -85,5 +85,5 @@
|
|
|
85
85
|
"sideEffects": [
|
|
86
86
|
"*.css"
|
|
87
87
|
],
|
|
88
|
-
"gitHead": "
|
|
88
|
+
"gitHead": "319c4890af0fbee641e25a2cb7c1bd2501b57024"
|
|
89
89
|
}
|
|
@@ -1,106 +1,20 @@
|
|
|
1
|
-
import cx from 'classnames'
|
|
2
1
|
import PropTypes from 'prop-types'
|
|
3
2
|
import React, { useCallback, useMemo, useState } from 'react'
|
|
4
3
|
|
|
5
4
|
import { useClient } from 'cozy-client'
|
|
6
5
|
import Button from 'cozy-ui/transpiled/react/Buttons'
|
|
7
|
-
import Typography from 'cozy-ui/transpiled/react/Typography'
|
|
8
6
|
import { useAlert } from 'cozy-ui/transpiled/react/providers/Alert'
|
|
9
|
-
import useBreakpoints from 'cozy-ui/transpiled/react/providers/Breakpoints'
|
|
10
7
|
import { useI18n } from 'twake-i18n'
|
|
11
8
|
|
|
12
|
-
import AntivirusAlert from './AntivirusAlert'
|
|
13
|
-
import { default as DumbShareByEmail } from './ShareByEmail'
|
|
14
9
|
import { default as DumbShareByLink } from './ShareByLink'
|
|
15
10
|
import ShareDialogTwoStepsConfirmationContainer from './ShareDialogTwoStepsConfirmationContainer'
|
|
16
11
|
import { ShareRecipientsLimitModal } from './ShareRecipientsLimitModal'
|
|
17
|
-
import
|
|
12
|
+
import SharingContent from './SharingContent'
|
|
18
13
|
import { getOrCreateFromArray } from '../helpers/contacts'
|
|
19
14
|
import { hasReachRecipientsLimit } from '../helpers/recipients'
|
|
20
15
|
import { getErrorMessage, getSuccessMessage } from '../helpers/share'
|
|
21
16
|
import { usePendingRecipients } from '../hooks/usePendingRecipients'
|
|
22
17
|
import { useSharingContext } from '../hooks/useSharingContext'
|
|
23
|
-
import styles from '../styles/share.styl'
|
|
24
|
-
|
|
25
|
-
const SharingContent = ({
|
|
26
|
-
document,
|
|
27
|
-
documentType,
|
|
28
|
-
hasSharedParent,
|
|
29
|
-
isOwner,
|
|
30
|
-
onRevoke,
|
|
31
|
-
onRevokeSelf,
|
|
32
|
-
recipients,
|
|
33
|
-
sharing,
|
|
34
|
-
showShareByEmail,
|
|
35
|
-
showShareOnlyByLink,
|
|
36
|
-
showWhoHasAccess,
|
|
37
|
-
recipientsToBeConfirmed,
|
|
38
|
-
verifyRecipient,
|
|
39
|
-
link,
|
|
40
|
-
permissions,
|
|
41
|
-
pendingRecipients,
|
|
42
|
-
onPendingRecipientsChange,
|
|
43
|
-
selectedOption,
|
|
44
|
-
onSelectedOptionChange
|
|
45
|
-
}) => {
|
|
46
|
-
const { t } = useI18n()
|
|
47
|
-
const { isMobile } = useBreakpoints()
|
|
48
|
-
return (
|
|
49
|
-
<div className={cx(styles['share-modal-content'])}>
|
|
50
|
-
<div className={cx('u-pt-1-half', isMobile ? 'u-ph-1' : 'u-ph-2')}>
|
|
51
|
-
<AntivirusAlert document={document} />
|
|
52
|
-
{showShareOnlyByLink && (
|
|
53
|
-
<div className={styles['share-byemail-onlybylink']}>
|
|
54
|
-
{t(`${documentType}.share.shareByEmail.onlyByLink`, {
|
|
55
|
-
type: t(
|
|
56
|
-
`${documentType}.share.shareByEmail.type.${
|
|
57
|
-
document.type === 'directory' ? 'folder' : 'file'
|
|
58
|
-
}`
|
|
59
|
-
)
|
|
60
|
-
})}{' '}
|
|
61
|
-
<strong>
|
|
62
|
-
{t(
|
|
63
|
-
`${documentType}.share.shareByEmail.${
|
|
64
|
-
hasSharedParent ? 'hasSharedParent' : 'hasSharedChild'
|
|
65
|
-
}`
|
|
66
|
-
)}
|
|
67
|
-
</strong>
|
|
68
|
-
</div>
|
|
69
|
-
)}
|
|
70
|
-
<Typography variant="h6" className="u-mb-half">
|
|
71
|
-
{t('Share.contacts.addUsers')}
|
|
72
|
-
</Typography>
|
|
73
|
-
{showShareByEmail && (
|
|
74
|
-
<DumbShareByEmail
|
|
75
|
-
currentRecipients={recipients}
|
|
76
|
-
document={document}
|
|
77
|
-
documentType={documentType}
|
|
78
|
-
sharing={sharing}
|
|
79
|
-
pendingRecipients={pendingRecipients}
|
|
80
|
-
onPendingRecipientsChange={onPendingRecipientsChange}
|
|
81
|
-
selectedOption={selectedOption}
|
|
82
|
-
onSelectedOptionChange={onSelectedOptionChange}
|
|
83
|
-
enableCreateContact
|
|
84
|
-
/>
|
|
85
|
-
)}
|
|
86
|
-
</div>
|
|
87
|
-
{showWhoHasAccess && (
|
|
88
|
-
<WhoHasAccess
|
|
89
|
-
document={document}
|
|
90
|
-
documentType={documentType}
|
|
91
|
-
isOwner={isOwner}
|
|
92
|
-
onRevoke={onRevoke}
|
|
93
|
-
onRevokeSelf={onRevokeSelf}
|
|
94
|
-
recipients={recipients}
|
|
95
|
-
recipientsToBeConfirmed={recipientsToBeConfirmed}
|
|
96
|
-
verifyRecipient={verifyRecipient}
|
|
97
|
-
link={link}
|
|
98
|
-
permissions={permissions}
|
|
99
|
-
/>
|
|
100
|
-
)}
|
|
101
|
-
</div>
|
|
102
|
-
)
|
|
103
|
-
}
|
|
104
18
|
|
|
105
19
|
const SharingTitleFunction = ({ documentType, document }) =>
|
|
106
20
|
function SharingTitle() {
|
|
@@ -75,8 +75,6 @@ export const ShareModal = ({
|
|
|
75
75
|
)
|
|
76
76
|
}
|
|
77
77
|
|
|
78
|
-
export default ShareModal
|
|
79
|
-
|
|
80
78
|
ShareModal.propTypes = {
|
|
81
79
|
autoOpenShareRestriction: PropTypes.bool,
|
|
82
80
|
createContact: PropTypes.func.isRequired,
|
|
@@ -100,3 +98,5 @@ ShareModal.propTypes = {
|
|
|
100
98
|
recipientConfirmationDialogContent: PropTypes.func
|
|
101
99
|
})
|
|
102
100
|
}
|
|
101
|
+
|
|
102
|
+
export default ShareModal
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
import cx from 'classnames'
|
|
2
|
+
import React from 'react'
|
|
3
|
+
|
|
4
|
+
import Typography from 'cozy-ui/transpiled/react/Typography'
|
|
5
|
+
import useBreakpoints from 'cozy-ui/transpiled/react/providers/Breakpoints'
|
|
6
|
+
import { useI18n } from 'twake-i18n'
|
|
7
|
+
|
|
8
|
+
import AntivirusAlert from './AntivirusAlert'
|
|
9
|
+
import { default as DumbShareByEmail } from './ShareByEmail'
|
|
10
|
+
import WhoHasAccess from './WhoHasAccess'
|
|
11
|
+
import styles from '../styles/share.styl'
|
|
12
|
+
|
|
13
|
+
const SharingContent = ({
|
|
14
|
+
document,
|
|
15
|
+
documentType,
|
|
16
|
+
hasSharedParent,
|
|
17
|
+
isOwner,
|
|
18
|
+
onRevoke,
|
|
19
|
+
onRevokeSelf,
|
|
20
|
+
recipients,
|
|
21
|
+
sharing,
|
|
22
|
+
showShareByEmail,
|
|
23
|
+
showShareOnlyByLink,
|
|
24
|
+
showWhoHasAccess,
|
|
25
|
+
recipientsToBeConfirmed,
|
|
26
|
+
verifyRecipient,
|
|
27
|
+
link,
|
|
28
|
+
permissions,
|
|
29
|
+
pendingRecipients,
|
|
30
|
+
onPendingRecipientsChange,
|
|
31
|
+
selectedOption,
|
|
32
|
+
onSelectedOptionChange
|
|
33
|
+
}) => {
|
|
34
|
+
const { t } = useI18n()
|
|
35
|
+
const { isMobile } = useBreakpoints()
|
|
36
|
+
|
|
37
|
+
return (
|
|
38
|
+
<div className={cx(styles['share-modal-content'])}>
|
|
39
|
+
<div className={cx('u-pt-1-half', isMobile ? 'u-ph-1' : 'u-ph-2')}>
|
|
40
|
+
<AntivirusAlert document={document} />
|
|
41
|
+
{showShareOnlyByLink && (
|
|
42
|
+
<div className={styles['share-byemail-onlybylink']}>
|
|
43
|
+
{t(`${documentType}.share.shareByEmail.onlyByLink`, {
|
|
44
|
+
type: t(
|
|
45
|
+
`${documentType}.share.shareByEmail.type.${
|
|
46
|
+
document.type === 'directory' ? 'folder' : 'file'
|
|
47
|
+
}`
|
|
48
|
+
)
|
|
49
|
+
})}{' '}
|
|
50
|
+
<strong>
|
|
51
|
+
{t(
|
|
52
|
+
`${documentType}.share.shareByEmail.${
|
|
53
|
+
hasSharedParent ? 'hasSharedParent' : 'hasSharedChild'
|
|
54
|
+
}`
|
|
55
|
+
)}
|
|
56
|
+
</strong>
|
|
57
|
+
</div>
|
|
58
|
+
)}
|
|
59
|
+
<Typography variant="h6" className="u-mb-half">
|
|
60
|
+
{t('Share.contacts.addUsers')}
|
|
61
|
+
</Typography>
|
|
62
|
+
{showShareByEmail && (
|
|
63
|
+
<DumbShareByEmail
|
|
64
|
+
currentRecipients={recipients}
|
|
65
|
+
document={document}
|
|
66
|
+
documentType={documentType}
|
|
67
|
+
sharing={sharing}
|
|
68
|
+
pendingRecipients={pendingRecipients}
|
|
69
|
+
onPendingRecipientsChange={onPendingRecipientsChange}
|
|
70
|
+
selectedOption={selectedOption}
|
|
71
|
+
onSelectedOptionChange={onSelectedOptionChange}
|
|
72
|
+
enableCreateContact
|
|
73
|
+
/>
|
|
74
|
+
)}
|
|
75
|
+
</div>
|
|
76
|
+
{showWhoHasAccess && (
|
|
77
|
+
<WhoHasAccess
|
|
78
|
+
document={document}
|
|
79
|
+
documentType={documentType}
|
|
80
|
+
isOwner={isOwner}
|
|
81
|
+
onRevoke={onRevoke}
|
|
82
|
+
onRevokeSelf={onRevokeSelf}
|
|
83
|
+
recipients={recipients}
|
|
84
|
+
recipientsToBeConfirmed={recipientsToBeConfirmed}
|
|
85
|
+
verifyRecipient={verifyRecipient}
|
|
86
|
+
link={link}
|
|
87
|
+
permissions={permissions}
|
|
88
|
+
/>
|
|
89
|
+
)}
|
|
90
|
+
</div>
|
|
91
|
+
)
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
export default SharingContent
|