@eeacms/volto-clms-theme 1.0.113 → 1.0.116
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 +1398 -1779
- package/package.json +2 -2
- package/src/actions/index.js +2 -0
- package/src/actions/profile/delete_profile.js +20 -0
- package/src/components/Blocks/CclHomeBgImageBlock/CclGreenBgView.jsx +1 -1
- package/src/components/Blocks/CclHomeUsersBlock/CclHomeUsersBlockEdit.jsx +17 -3
- package/src/components/Blocks/CclHomeUsersBlock/CclHomeUsersBlockView.jsx +32 -9
- package/src/components/Blocks/CclHomeUsersBlock/HomeUsersSchema.js +7 -4
- package/src/components/Blocks/CustomTemplates/VoltoListingBlock/CclListingWorkOpportunities.jsx +4 -1
- package/src/components/Blocks/CustomTemplates/VoltoSearchBlock/DoubleRangeFacet.jsx +1 -3
- package/src/components/Blocks/CustomTemplates/VoltoSearchBlock/rewriteOptions.js +1 -1
- package/src/components/Blocks/CustomTemplates/VoltoTabsBlock/RoutingHOC.jsx +6 -1
- package/src/components/CLMSDatasetDetailView/DataSetInfoContent.jsx +7 -8
- package/src/components/CLMSDatasetDetailView/DownloadDataSetContent.jsx +4 -0
- package/src/components/CLMSLoginView/CLMSLogin.jsx +30 -13
- package/src/components/CLMSNewsItemView/CLMSNewsItemView.jsx +2 -2
- package/src/components/CLMSProfileView/CLMSDeleteProfileView.jsx +53 -0
- package/src/components/CLMSProfileView/CLMSProfileView.jsx +4 -0
- package/src/components/CLMSProfileView/index.js +1 -0
- package/src/components/CLMSSubscriptionView/ConfirmSubscriptionView.jsx +4 -4
- package/src/components/CLMSSubscriptionView/SubscriptionView.jsx +76 -33
- package/src/components/CLMSWorkOpportunityView/WorkOpportunityView.jsx +7 -1
- package/src/components/CclCard/CclCard.jsx +4 -4
- package/src/components/CclLoginModal/CclLoginModal.jsx +34 -13
- package/src/components/CclUtils/dateFormats.js +18 -0
- package/src/components/CclUtils/index.js +6 -1
- package/src/customizations/volto/components/manage/UniversalLink/UniversalLink.jsx +2 -1
- package/src/customizations/volto/components/theme/Logout/Logout.jsx +4 -4
- package/src/reducers/index.js +2 -0
- package/src/reducers/profile/delete_profile_reducer.js +41 -0
- package/src/reducers/subscription/subscription_reducer.js +5 -1
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@eeacms/volto-clms-theme",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.116",
|
|
4
4
|
"description": "volto-clms-theme: Volto theme for CLMS site",
|
|
5
5
|
"main": "src/index.js",
|
|
6
6
|
"author": "CodeSyntax for the European Environment Agency",
|
|
@@ -55,7 +55,7 @@
|
|
|
55
55
|
"react-svg": "14.0.4",
|
|
56
56
|
"slick-carousel": "1.8.1",
|
|
57
57
|
"volto-dropdownmenu": "2.2.7",
|
|
58
|
-
"volto-form-block": "2.
|
|
58
|
+
"volto-form-block": "2.4.1",
|
|
59
59
|
"react-input-range": "^1.3.0",
|
|
60
60
|
"lightgallery": "^2.4.0",
|
|
61
61
|
"validator": "13.7.0"
|
package/src/actions/index.js
CHANGED
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Delete profle.
|
|
3
|
+
* @module actions/newsletter
|
|
4
|
+
*/
|
|
5
|
+
export const DELETE_PROFILE = 'DELETE_PROFILE';
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* Delete profle.
|
|
9
|
+
* @function delProfile
|
|
10
|
+
* @returns {Object} Get extra items action.
|
|
11
|
+
*/
|
|
12
|
+
export function delProfile() {
|
|
13
|
+
return {
|
|
14
|
+
type: DELETE_PROFILE,
|
|
15
|
+
request: {
|
|
16
|
+
op: 'del',
|
|
17
|
+
path: `/@delete-user-profile`,
|
|
18
|
+
},
|
|
19
|
+
};
|
|
20
|
+
}
|
|
@@ -10,7 +10,7 @@ const CclGreenBgView = (props) => {
|
|
|
10
10
|
<div
|
|
11
11
|
className="ccl-banner-top-main"
|
|
12
12
|
style={{
|
|
13
|
-
backgroundImage: `url(${data?.image?.url}/@@images/image/
|
|
13
|
+
backgroundImage: `url(${data?.image?.url}/@@images/image/huge)`,
|
|
14
14
|
}}
|
|
15
15
|
>
|
|
16
16
|
{isEditMode && <CclHomeImageEditor {...props} />}
|
|
@@ -57,7 +57,7 @@ const CclHomeUsersBlockEdit = ({
|
|
|
57
57
|
}}
|
|
58
58
|
aria-hidden="true"
|
|
59
59
|
>
|
|
60
|
-
{data.title}
|
|
60
|
+
{data.title || 'Home users block'}
|
|
61
61
|
</div>
|
|
62
62
|
<div>
|
|
63
63
|
<div className={'line'}>
|
|
@@ -91,8 +91,22 @@ const CclHomeUsersBlockEdit = ({
|
|
|
91
91
|
/>
|
|
92
92
|
</div>
|
|
93
93
|
<div className={'card-text'}>
|
|
94
|
-
<div className="card-title">
|
|
95
|
-
|
|
94
|
+
<div className="card-title">
|
|
95
|
+
{panel.title
|
|
96
|
+
? panel.title
|
|
97
|
+
: panel.productUrl &&
|
|
98
|
+
panel.productUrl.length > 0 &&
|
|
99
|
+
panel.productUrl[0]['@id'].indexOf('http') !== 0
|
|
100
|
+
? panel.productUrl[0].title
|
|
101
|
+
: panel.title}
|
|
102
|
+
</div>
|
|
103
|
+
<div className="card-description">
|
|
104
|
+
{panel.description
|
|
105
|
+
? panel.description
|
|
106
|
+
: panel.productUrl && panel.productUrl.length > 0
|
|
107
|
+
? panel.productUrl[0].description
|
|
108
|
+
: panel.description}
|
|
109
|
+
</div>
|
|
96
110
|
</div>
|
|
97
111
|
</div>
|
|
98
112
|
</div>
|
|
@@ -4,7 +4,7 @@ import CclButton from '@eeacms/volto-clms-theme/components/CclButton/CclButton';
|
|
|
4
4
|
import 'slick-carousel/slick/slick.css';
|
|
5
5
|
import 'slick-carousel/slick/slick-theme.css';
|
|
6
6
|
import './styles.less';
|
|
7
|
-
import {
|
|
7
|
+
import { ConditionalLink } from '@plone/volto/components';
|
|
8
8
|
|
|
9
9
|
const CclHomeUsersBlockView = (props) => {
|
|
10
10
|
const settings = {
|
|
@@ -42,7 +42,6 @@ const CclHomeUsersBlockView = (props) => {
|
|
|
42
42
|
let cards = data?.customCards?.blocks_layout?.items.map(
|
|
43
43
|
(uid) => data.customCards.blocks[uid],
|
|
44
44
|
);
|
|
45
|
-
|
|
46
45
|
return (
|
|
47
46
|
<div className="home-meet-container">
|
|
48
47
|
<div className="ccl-container">
|
|
@@ -57,6 +56,13 @@ const CclHomeUsersBlockView = (props) => {
|
|
|
57
56
|
src={`${card.image.url}/@@images/image`}
|
|
58
57
|
alt={card.image.alt}
|
|
59
58
|
/>
|
|
59
|
+
) : card.productUrl &&
|
|
60
|
+
card.productUrl.length > 0 &&
|
|
61
|
+
card.productUrl[0].image_field ? (
|
|
62
|
+
<img
|
|
63
|
+
src={`${card.productUrl[0]['@id']}/@@images/${card.productUrl[0].image_field}/preview`}
|
|
64
|
+
alt={card?.productUrl[0].title || 'Placeholder'}
|
|
65
|
+
/>
|
|
60
66
|
) : (
|
|
61
67
|
<img
|
|
62
68
|
src={
|
|
@@ -66,14 +72,31 @@ const CclHomeUsersBlockView = (props) => {
|
|
|
66
72
|
/>
|
|
67
73
|
)}
|
|
68
74
|
</div>
|
|
69
|
-
<
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
75
|
+
<ConditionalLink
|
|
76
|
+
condition={card.productUrl && card.productUrl.length > 0}
|
|
77
|
+
item={
|
|
78
|
+
card.productUrl && card.productUrl.length > 0
|
|
79
|
+
? card.productUrl[0]
|
|
80
|
+
: {}
|
|
81
|
+
}
|
|
73
82
|
>
|
|
74
|
-
<h4>
|
|
75
|
-
|
|
76
|
-
|
|
83
|
+
<h4>
|
|
84
|
+
{card.title
|
|
85
|
+
? card.title
|
|
86
|
+
: card.productUrl &&
|
|
87
|
+
card.productUrl.length > 0 &&
|
|
88
|
+
card.productUrl[0]['@id'].indexOf('http') !== 0
|
|
89
|
+
? card.productUrl[0].title
|
|
90
|
+
: card.title}
|
|
91
|
+
</h4>
|
|
92
|
+
</ConditionalLink>
|
|
93
|
+
<p>
|
|
94
|
+
{card.description
|
|
95
|
+
? card.description
|
|
96
|
+
: card.productUrl && card.productUrl.length > 0
|
|
97
|
+
? card.productUrl[0].description
|
|
98
|
+
: card.description}
|
|
99
|
+
</p>
|
|
77
100
|
</div>
|
|
78
101
|
</div>
|
|
79
102
|
))}
|
|
@@ -28,7 +28,7 @@ export const CardBlockSchema = () => ({
|
|
|
28
28
|
{
|
|
29
29
|
id: 'default',
|
|
30
30
|
title: 'Default',
|
|
31
|
-
fields: ['title', 'description', '
|
|
31
|
+
fields: ['title', 'description', 'productUrl'],
|
|
32
32
|
},
|
|
33
33
|
],
|
|
34
34
|
properties: {
|
|
@@ -42,9 +42,12 @@ export const CardBlockSchema = () => ({
|
|
|
42
42
|
title: 'Product description',
|
|
43
43
|
type: 'string',
|
|
44
44
|
},
|
|
45
|
-
|
|
46
|
-
title: 'url',
|
|
47
|
-
|
|
45
|
+
productUrl: {
|
|
46
|
+
title: 'Object or url',
|
|
47
|
+
widget: 'object_browser',
|
|
48
|
+
mode: 'link',
|
|
49
|
+
selectedItemAttrs: ['description', 'image_field'],
|
|
50
|
+
allowExternals: true,
|
|
48
51
|
},
|
|
49
52
|
},
|
|
50
53
|
required: ['product'],
|
package/src/components/Blocks/CustomTemplates/VoltoListingBlock/CclListingWorkOpportunities.jsx
CHANGED
|
@@ -3,6 +3,7 @@ import PropTypes from 'prop-types';
|
|
|
3
3
|
import { defineMessages, useIntl } from 'react-intl';
|
|
4
4
|
import { useSelector } from 'react-redux';
|
|
5
5
|
import { Link } from 'react-router-dom';
|
|
6
|
+
import { workOpportunitiesCclDateTimeFormat } from '@eeacms/volto-clms-theme/components/CclUtils';
|
|
6
7
|
|
|
7
8
|
const messages = defineMessages({
|
|
8
9
|
ProcurementNo: {
|
|
@@ -21,6 +22,8 @@ const messages = defineMessages({
|
|
|
21
22
|
|
|
22
23
|
const CclWorkOpportunity = (props) => {
|
|
23
24
|
const { item, intl, user } = props;
|
|
25
|
+
const lang = useSelector((state) => state.intl.locale);
|
|
26
|
+
|
|
24
27
|
return (
|
|
25
28
|
<div className="card-work">
|
|
26
29
|
{user.roles && user.roles.includes('Manager') && (
|
|
@@ -52,7 +55,7 @@ const CclWorkOpportunity = (props) => {
|
|
|
52
55
|
<span className="card-work-title">
|
|
53
56
|
{intl.formatMessage(messages.SubmissionDeadline)}
|
|
54
57
|
</span>
|
|
55
|
-
{
|
|
58
|
+
{workOpportunitiesCclDateTimeFormat(item.submission_deadline, lang)}
|
|
56
59
|
</div>
|
|
57
60
|
</div>
|
|
58
61
|
);
|
|
@@ -57,9 +57,7 @@ const DoubleRangeFacet = (props) => {
|
|
|
57
57
|
tabIndex={0}
|
|
58
58
|
role={'button'}
|
|
59
59
|
>
|
|
60
|
-
<legend className="ccl-form-legend">
|
|
61
|
-
{facet.title} {startingValues.min} - {startingValues.max}
|
|
62
|
-
</legend>
|
|
60
|
+
<legend className="ccl-form-legend">{facet.title}</legend>
|
|
63
61
|
</div>
|
|
64
62
|
<div>
|
|
65
63
|
<Segment basic padded>
|
|
@@ -16,7 +16,12 @@ const RoutingHOC = (TabView) =>
|
|
|
16
16
|
) {
|
|
17
17
|
return rTabsList[0];
|
|
18
18
|
}
|
|
19
|
-
|
|
19
|
+
if (
|
|
20
|
+
window.location.hash.match(/.*&?#?tab=(.*)/) &&
|
|
21
|
+
window.location.hash.match(/.*&?#?tab=(.*)/).length > 1
|
|
22
|
+
) {
|
|
23
|
+
return rTabsList[window.location.hash.match(/.*&?#?tab=(.*)/)[1] - 1];
|
|
24
|
+
}
|
|
20
25
|
}
|
|
21
26
|
React.useEffect(() => {
|
|
22
27
|
const isReload =
|
|
@@ -85,6 +85,13 @@ const DataSetInfoContent = (props) => {
|
|
|
85
85
|
></CclInfoDescription>
|
|
86
86
|
)}
|
|
87
87
|
</CclInfoContainer>
|
|
88
|
+
{citation?.data && citation?.data !== '<p><br/></p>' && (
|
|
89
|
+
<CclCitation
|
|
90
|
+
title="Citation status"
|
|
91
|
+
marginBottom={true}
|
|
92
|
+
children={<StringToHTML string={citation?.data} />}
|
|
93
|
+
></CclCitation>
|
|
94
|
+
)}
|
|
88
95
|
<div className="dataset-info-documents dropdown">
|
|
89
96
|
<div className="accordion-block">
|
|
90
97
|
{renderAccordion(geonetwork_identifiers?.items, libraries) && (
|
|
@@ -192,14 +199,6 @@ const DataSetInfoContent = (props) => {
|
|
|
192
199
|
)}
|
|
193
200
|
</div>
|
|
194
201
|
</div>
|
|
195
|
-
|
|
196
|
-
{citation?.data && citation?.data !== '<p><br/></p>' && (
|
|
197
|
-
<CclCitation
|
|
198
|
-
title="Citation status"
|
|
199
|
-
marginBottom={true}
|
|
200
|
-
children={<StringToHTML string={citation?.data} />}
|
|
201
|
-
></CclCitation>
|
|
202
|
-
)}
|
|
203
202
|
</div>
|
|
204
203
|
);
|
|
205
204
|
};
|
|
@@ -34,6 +34,10 @@ const DownloadDataSetContent = (data) => {
|
|
|
34
34
|
>
|
|
35
35
|
Go to download by area
|
|
36
36
|
</CclButton>
|
|
37
|
+
) : data.mapviewer_istimeseries === true ? (
|
|
38
|
+
<CclButton url={location.pathname + '/download-by-area'}>
|
|
39
|
+
Go to download by area and time
|
|
40
|
+
</CclButton>
|
|
37
41
|
) : (
|
|
38
42
|
<CclButton url={location.pathname + '/download-by-area'}>
|
|
39
43
|
Go to download by area
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import React, { useEffect } from 'react';
|
|
2
2
|
import { useSelector } from 'react-redux';
|
|
3
3
|
import config from '@plone/volto/registry';
|
|
4
|
+
import { UniversalLink } from '@plone/volto/components';
|
|
4
5
|
import { toPublicURL } from '@plone/volto/helpers/Url/Url';
|
|
5
6
|
import './CLMSLogin.css';
|
|
6
7
|
|
|
@@ -29,33 +30,49 @@ function CLMSLoginView(props) {
|
|
|
29
30
|
<h1 className="page-title">Registration / Login</h1>
|
|
30
31
|
<div className="modal-login-text">
|
|
31
32
|
<p>
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
33
|
+
EU Login, the European Commission Authentication Service, enables
|
|
34
|
+
you to access various web applications centrally using the same
|
|
35
|
+
e-mail and password. You can read more{' '}
|
|
36
|
+
<UniversalLink
|
|
37
|
+
openLinkInNewTab
|
|
38
|
+
href="https://ecas.ec.europa.eu/cas/about.html"
|
|
39
|
+
>
|
|
40
|
+
here
|
|
41
|
+
</UniversalLink>
|
|
37
42
|
.
|
|
38
43
|
</p>
|
|
39
44
|
<p>
|
|
40
|
-
|
|
41
|
-
When you clik on the following link, you will be sent to EU Login
|
|
42
|
-
and after a successful login there you will be redirected back to
|
|
43
|
-
this site.
|
|
45
|
+
If you have EU Login account, please click 'Login using EU Login'.
|
|
44
46
|
</p>
|
|
45
47
|
<p>
|
|
46
|
-
If you have
|
|
47
|
-
<
|
|
48
|
+
If you don't have EU Login account, please folloe this{' '}
|
|
49
|
+
<UniversalLink
|
|
50
|
+
openLinkInNewTab
|
|
51
|
+
href="https://ecas.ec.europa.eu/cas/eim/external/register.cgi"
|
|
52
|
+
>
|
|
53
|
+
link
|
|
54
|
+
</UniversalLink>{' '}
|
|
55
|
+
to create it
|
|
56
|
+
</p>
|
|
57
|
+
<p>
|
|
58
|
+
If you have othe questions, please contact our
|
|
59
|
+
<UniversalLink openLinkInNewTab href="/en/service-desk">
|
|
60
|
+
{' '}
|
|
61
|
+
Service desk
|
|
62
|
+
</UniversalLink>
|
|
63
|
+
.
|
|
48
64
|
</p>
|
|
49
65
|
</div>
|
|
50
66
|
</div>
|
|
51
67
|
<div className="login-button">
|
|
52
68
|
<div className="modal-buttons">
|
|
53
|
-
<
|
|
69
|
+
<UniversalLink
|
|
54
70
|
href={toPublicURL(loginUrl) || '#'}
|
|
71
|
+
openLinkInNewTab
|
|
55
72
|
className="ccl-button ccl-button-green"
|
|
56
73
|
>
|
|
57
74
|
Login using EU Login
|
|
58
|
-
</
|
|
75
|
+
</UniversalLink>
|
|
59
76
|
</div>
|
|
60
77
|
</div>
|
|
61
78
|
</>
|
|
@@ -2,7 +2,7 @@ import React from 'react';
|
|
|
2
2
|
import { StringToHTML } from '@eeacms/volto-clms-theme/components/CclUtils';
|
|
3
3
|
import { hasBlocksData } from '@plone/volto/helpers';
|
|
4
4
|
import RenderBlocks from '@plone/volto/components/theme/View/RenderBlocks';
|
|
5
|
-
import {
|
|
5
|
+
import { cclDateFormat } from '@eeacms/volto-clms-theme/components/CclUtils';
|
|
6
6
|
import { LightGalleryListing } from '@eeacms/volto-clms-theme/components/CLMSMeetingView/CclLightGallery';
|
|
7
7
|
import CclListingCards from '@eeacms/volto-clms-theme/components/Blocks/CustomTemplates/VoltoListingBlock/CclListingCards';
|
|
8
8
|
import config from '@plone/volto/registry';
|
|
@@ -54,7 +54,7 @@ const CLMSNewsItemView = (props) => {
|
|
|
54
54
|
<h1 className="page-title">{content.title}</h1>
|
|
55
55
|
<div className="news-detail">
|
|
56
56
|
<div className="news-detail-date">
|
|
57
|
-
{
|
|
57
|
+
{cclDateFormat(content?.effective)}
|
|
58
58
|
</div>
|
|
59
59
|
{content?.image && (
|
|
60
60
|
<figure className="news-detail-image">
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* CLMSProfileView container.
|
|
3
|
+
* @module components/CLMSProfileView/CLMSProfileView
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
import React from 'react';
|
|
7
|
+
|
|
8
|
+
import { injectIntl } from 'react-intl';
|
|
9
|
+
import { Container } from 'semantic-ui-react';
|
|
10
|
+
import CclButton from '@eeacms/volto-clms-theme/components/CclButton/CclButton';
|
|
11
|
+
import { delProfile } from '../../actions';
|
|
12
|
+
import { useDispatch, useSelector } from 'react-redux';
|
|
13
|
+
import { useHistory } from 'react-router-dom';
|
|
14
|
+
import { logout } from '@plone/volto/actions';
|
|
15
|
+
|
|
16
|
+
export const CLMSDeleteProfileView = (props) => {
|
|
17
|
+
const dispatch = useDispatch();
|
|
18
|
+
let history = useHistory();
|
|
19
|
+
|
|
20
|
+
const isDeleted = useSelector((state) => state.profile_delete.loaded)
|
|
21
|
+
? true
|
|
22
|
+
: false;
|
|
23
|
+
|
|
24
|
+
function handleClick() {
|
|
25
|
+
dispatch(delProfile());
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
if (isDeleted === true) {
|
|
29
|
+
history.push('/');
|
|
30
|
+
dispatch(logout());
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
return (
|
|
34
|
+
<Container>
|
|
35
|
+
<div>
|
|
36
|
+
<h1 className="page-title">Delete your profile</h1>
|
|
37
|
+
<p>Click in the button bellow to your profile.</p>
|
|
38
|
+
|
|
39
|
+
<CclButton
|
|
40
|
+
to="profile#Delete-profile"
|
|
41
|
+
mode={'filled'}
|
|
42
|
+
onClick={() => {
|
|
43
|
+
handleClick();
|
|
44
|
+
}}
|
|
45
|
+
>
|
|
46
|
+
Delete
|
|
47
|
+
</CclButton>
|
|
48
|
+
</div>
|
|
49
|
+
</Container>
|
|
50
|
+
);
|
|
51
|
+
};
|
|
52
|
+
|
|
53
|
+
export default injectIntl(CLMSDeleteProfileView);
|
|
@@ -11,6 +11,7 @@ import {
|
|
|
11
11
|
CLMSApiTokensView,
|
|
12
12
|
CLMSNewsletterSubscriberView,
|
|
13
13
|
CLMSUserProfileView,
|
|
14
|
+
CLMSDeleteProfileView,
|
|
14
15
|
} from '@eeacms/volto-clms-theme/components/CLMSProfileView';
|
|
15
16
|
import React, { Component } from 'react';
|
|
16
17
|
|
|
@@ -75,6 +76,9 @@ class CLMSProfileView extends Component {
|
|
|
75
76
|
<SubscriptionView type={subscription?.type} />
|
|
76
77
|
</div>
|
|
77
78
|
))}
|
|
79
|
+
<div tabTitle="Delete profile">
|
|
80
|
+
<CLMSDeleteProfileView />
|
|
81
|
+
</div>
|
|
78
82
|
</CclTabs>
|
|
79
83
|
) : (
|
|
80
84
|
<Unauthorized />
|
|
@@ -2,3 +2,4 @@ export CLMSProfileView from './CLMSProfileView';
|
|
|
2
2
|
export CLMSUserProfileView from './CLMSUserProfileView';
|
|
3
3
|
export CLMSApiTokensView from './CLMSApiTokensView';
|
|
4
4
|
export CLMSNewsletterSubscriberView from './CLMSNewsletterSubscriberView';
|
|
5
|
+
export CLMSDeleteProfileView from './CLMSDeleteProfileView';
|
|
@@ -111,8 +111,8 @@ class ConfirmSubscriptionView extends Component {
|
|
|
111
111
|
type:
|
|
112
112
|
this.props.type[0].toUpperCase() + this.props.type.slice(1),
|
|
113
113
|
subscribe_or_unsubscribe: this.props.isUnsubscribe
|
|
114
|
-
? '
|
|
115
|
-
: '
|
|
114
|
+
? 'unsubscription'
|
|
115
|
+
: 'subscription',
|
|
116
116
|
})}
|
|
117
117
|
</h1>
|
|
118
118
|
<div className="event-detail">
|
|
@@ -120,8 +120,8 @@ class ConfirmSubscriptionView extends Component {
|
|
|
120
120
|
<p>
|
|
121
121
|
{this.props.intl.formatMessage(messages.description, {
|
|
122
122
|
subscribe_or_unsubscribe: this.props.isUnsubscribe
|
|
123
|
-
? '
|
|
124
|
-
: '
|
|
123
|
+
? 'unsubscription'
|
|
124
|
+
: 'subscription',
|
|
125
125
|
})}
|
|
126
126
|
</p>
|
|
127
127
|
</div>
|