Skip to content

Commit 604bfa5

Browse files
committed
FIX Use correct versioned state badge designs in campaign admin list items
1 parent 6ad9000 commit 604bfa5

File tree

5 files changed

+31
-12
lines changed

5 files changed

+31
-12
lines changed

client/dist/js/bundle.js

+1-1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

client/dist/styles/bundle.css

+1-1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

client/src/containers/CampaignAdmin/CampaignAdmin.scss

+4-1
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,6 @@
6363
}
6464

6565
.list-group-item {
66-
6766
&:hover {
6867
.campaign-admin__item-links--is-linked {
6968
opacity: 1;
@@ -82,6 +81,10 @@
8281
.campaign-admin__item-links__number {
8382
opacity: 1;
8483
}
84+
85+
.versioned-badge {
86+
color: $white;
87+
}
8588
}
8689

8790
.list-group-item__heading {

client/src/containers/CampaignAdmin/CampaignAdminItem.js

+24-8
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import React, { Component } from 'react';
22
import i18n from 'i18n';
3+
import { inject } from 'lib/Injector';
34
import { UncontrolledTooltip } from 'reactstrap';
45
import formatWrittenNumber from 'lib/formatWrittenNumber';
56
import PropTypes from 'prop-types';
@@ -111,8 +112,10 @@ class CampaignAdminItem extends Component {
111112

112113
render() {
113114
let thumbnail = null;
114-
const badge = {};
115-
const { campaign, item } = this.props;
115+
const badge = {
116+
status: 'none',
117+
};
118+
const { campaign, item, VersionedBadgeComponent } = this.props;
116119

117120
// @todo customise these status messages for already-published changesets
118121

@@ -121,20 +124,20 @@ class CampaignAdminItem extends Component {
121124
if (campaign.State === 'open') {
122125
switch (item.ChangeType) {
123126
case 'created':
124-
badge.className = 'badge badge-warning list-group-item__status';
127+
badge.status = 'draft';
125128
badge.Title = i18n._t('CampaignAdmin.DRAFT', 'Draft');
126129
break;
127130
case 'modified':
128-
badge.className = 'badge badge-warning list-group-item__status';
131+
badge.status = 'modified';
129132
badge.Title = i18n._t('CampaignAdmin.MODIFIED', 'Modified');
130133
break;
131134
case 'deleted':
132-
badge.className = 'badge badge-error list-group-item__status';
135+
badge.status = 'removed';
133136
badge.Title = i18n._t('CampaignAdmin.REMOVED', 'Removed');
134137
break;
135138
case 'none':
136139
default:
137-
badge.className = 'badge badge-success list-group-item__status';
140+
badge.status = 'live';
138141
badge.Title = i18n._t('CampaignAdmin.NO_CHANGES', 'No changes');
139142
break;
140143
}
@@ -157,7 +160,11 @@ class CampaignAdminItem extends Component {
157160
<h4 className="list-group-item__heading" title={item.Title}>{item.Title}</h4>
158161
{links}
159162
{badge.className && badge.Title &&
160-
<span className={badge.className}>{badge.Title}</span>
163+
<VersionedBadgeComponent
164+
extraClass="list-group-item__status"
165+
status={badge.status}
166+
message={badge.Title}
167+
/>
161168
}
162169
</div>
163170
</div>
@@ -170,6 +177,15 @@ CampaignAdminItem.propTypes = {
170177
item: PropTypes.object.isRequired,
171178
isLinked: PropTypes.bool,
172179
selected: PropTypes.bool,
180+
VersionedBadgeComponent: PropTypes.oneOfType([PropTypes.node, PropTypes.func]),
173181
};
174182

175-
export default CampaignAdminItem;
183+
export { CampaignAdminItem as Component };
184+
185+
export default inject(
186+
['VersionedBadge'],
187+
(VersionedBadgeComponent) => ({
188+
VersionedBadgeComponent,
189+
}),
190+
() => 'CampaignAdmin.CampaignAdmin.ListItem'
191+
)(CampaignAdminItem);

client/src/containers/CampaignAdmin/tests/CampaignAdminItem-test.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ jest.mock('reactstrap');
44

55
import React from 'react';
66
import ReactTestUtils from 'react-dom/test-utils';
7-
import CampaignAdminItem from '../CampaignAdminItem';
7+
import { Component as CampaignAdminItem } from '../CampaignAdminItem';
88

99
describe('CampaignAdminItem', () => {
1010
let props = null;

0 commit comments

Comments
 (0)