Skip to content

Commit 79aa80a

Browse files
author
Rashid Ksirov
committed
fix: move diff-mode select to header for tinder-mode
1 parent 5440a4a commit 79aa80a

File tree

6 files changed

+60
-12
lines changed

6 files changed

+60
-12
lines changed

lib/static/components/modals/screenshot-accepter/header.jsx

Lines changed: 20 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,9 @@ import ProgressBar from '../../progress-bar';
77
import Arrow from '../../icons/arrow';
88
import ArrowsClose from '../../icons/arrows-close';
99
import ControlButton from '../../controls/control-button';
10+
import ControlSelect from '../../controls/selects/control';
1011
import RetrySwitcher from '../../retry-switcher';
12+
import diffModes from '../../../../constants/diff-modes';
1113

1214
export default class ScreenshotAccepterHeader extends Component {
1315
static propTypes = {
@@ -106,7 +108,7 @@ export default class ScreenshotAccepterHeader extends Component {
106108
};
107109

108110
render() {
109-
const {images, stateNameImageIds, retryIndex,
111+
const {actions, view, images, stateNameImageIds, retryIndex,
110112
showMeta, onClose, onRetryChange, onShowMeta,
111113
totalImages, acceptedImages
112114
} = this.props;
@@ -142,6 +144,14 @@ export default class ScreenshotAccepterHeader extends Component {
142144
extendClassNames="screenshot-accepter__accept-btn"
143145
handler={this.handleScreenshotAccept}
144146
/>
147+
<ControlButton
148+
label="⎌ Undo"
149+
title="Revert last updated screenshot"
150+
isDisabled={!acceptedImages}
151+
isSuiteControl={true}
152+
extendClassNames="screenshot-accepter__undo-btn"
153+
handler={this.handleScreenUndo}
154+
/>
145155
<ControlButton
146156
label="Show meta"
147157
title="Show test meta info"
@@ -151,6 +161,15 @@ export default class ScreenshotAccepterHeader extends Component {
151161
extendClassNames="screenshot-accepter__show-meta-btn"
152162
handler={onShowMeta}
153163
/>
164+
<ControlSelect
165+
label="Diff mode"
166+
value={view.diffMode}
167+
handler={actions.changeDiffMode}
168+
options = {Object.values(diffModes).map((dm) => {
169+
return {value: dm.id, text: dm.title};
170+
})}
171+
extendClassNames="screenshot-accepter__diff-mode-select"
172+
/>
154173
<RetrySwitcher
155174
title="Switch to selected attempt (left: ←,a; right: →,d)"
156175
resultIds={resultIds}
@@ -167,14 +186,6 @@ export default class ScreenshotAccepterHeader extends Component {
167186
extendClassNames="screenshot-accepter__arrows-close-btn"
168187
handler={onClose}
169188
/>
170-
<ControlButton
171-
label="⎌ Undo"
172-
title="Revert last updated screenshot"
173-
isDisabled={!acceptedImages}
174-
isSuiteControl={true}
175-
extendClassNames="screenshot-accepter__undo-btn"
176-
handler={this.handleScreenUndo}
177-
/>
178189
<ProgressBar done={acceptedImages} total={totalImages}/>
179190
</div>
180191
</header>

lib/static/components/modals/screenshot-accepter/index.jsx

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -177,6 +177,7 @@ class ScreenshotAccepter extends Component {
177177
}
178178

179179
render() {
180+
const {actions, view} = this.props;
180181
const {retryIndex, stateNameImageIds, activeImageIndex, showMeta} = this.state;
181182
const images = this._getActiveImages();
182183
const currImage = isNumber(retryIndex) ? images[retryIndex] : null;
@@ -185,6 +186,8 @@ class ScreenshotAccepter extends Component {
185186
return (
186187
<Fragment>
187188
<ScreenshotAccepterHeader
189+
actions={actions}
190+
view={view}
188191
images={images}
189192
stateNameImageIds={stateNameImageIds}
190193
retryIndex={retryIndex}
@@ -219,6 +222,7 @@ export default connect(
219222
const activeImageIndex = stateNameImageIds.indexOf(stateNameImageId);
220223

221224
return {
225+
view: state.view,
222226
imagesByStateName,
223227
stateNameImageIds,
224228
activeImageIndex

lib/static/components/modals/screenshot-accepter/style.css

Lines changed: 24 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,12 @@
2222

2323
.screenshot-accepter__controls.state-controls .progress-bar::after {
2424
content: "Accepted: " attr(data-content);
25+
}
26+
27+
.screenshot-accepter__controls.state-controls .tab-switcher::before,
28+
.screenshot-accepter__controls.state-controls .progress-bar::after,
29+
.screenshot-accepter__controls .select__label,
30+
.screenshot-accepter__controls .select__dropdown.ui.dropdown {
2531
font-size: 13px;
2632
line-height: 18px;
2733
}
@@ -33,7 +39,8 @@
3339
}
3440

3541
.screenshot-accepter__controls .button,
36-
.screenshot-accepter__controls .tab-switcher {
42+
.screenshot-accepter__controls .tab-switcher,
43+
.screenshot-accepter__controls .select {
3744
margin-right: 20px;
3845
margin-bottom: 20px;
3946
}
@@ -56,6 +63,22 @@
5663
border-radius: 2px;
5764
}
5865

66+
.screenshot-accepter__controls .select__label {
67+
line-height: 30px !important;
68+
margin-right: 7px;
69+
vertical-align: middle;
70+
background-color: white;
71+
color: black;
72+
font-family: YS Text, Helvetica Neue, Arial, sans-serif;
73+
font-weight: normal;
74+
}
75+
76+
.screenshot-accepter__controls .select__dropdown.ui.dropdown {
77+
min-height: 30px;
78+
border-radius: 5px;
79+
padding-left: 10px;
80+
}
81+
5982
.button.screenshot-accepter__arrow-up-btn {
6083
margin-right: 5px;
6184
}

lib/static/components/state/state-fail/index.jsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -133,7 +133,7 @@ const StateFail = ({image, diffMode: diffModeProp, isScreenshotAccepterOpened})
133133

134134
return (
135135
<Fragment>
136-
{renderDiffModeItems()}
136+
{!isScreenshotAccepterOpened && renderDiffModeItems()}
137137
{renderImages()}
138138
</Fragment>
139139
);

test/unit/lib/static/components/modals/screenshot-accepter/header.jsx

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ import React from 'react';
22
import {defaults} from 'lodash';
33
import proxyquire from 'proxyquire';
44
import {mkConnectedComponent} from '../../utils';
5+
import diffModes from '../../../../../../../lib/constants/diff-modes';
56

67
describe('<ScreenshotAccepterHeader/>', () => {
78
const sandbox = sinon.sandbox.create();
@@ -13,6 +14,8 @@ describe('<ScreenshotAccepterHeader/>', () => {
1314

1415
const mkHeaderComponent = (props = {}) => {
1516
props = defaults(props, {
17+
view: {diffMode: diffModes.THREE_UP_SCALED},
18+
actions: {changeDiffMode: sinon.stub().returns({type: 'some-type'})},
1619
totalImages: 2,
1720
acceptedImages: 0,
1821
images: [{

test/unit/lib/static/components/modals/screenshot-accepter/index.jsx

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,7 @@ describe('<ScreenshotAccepter/>', () => {
4949

5050
beforeEach(() => {
5151
actionsStub = {
52+
changeDiffMode: sandbox.stub().returns({type: 'some-type'}),
5253
screenshotAccepterAccept: sandbox.stub().returns({type: 'some-type'}),
5354
undoAcceptImage: sandbox.stub().returns({type: 'some-type'}),
5455
applyDelayedTestResults: sandbox.stub().returns({type: 'some-type'})
@@ -90,9 +91,15 @@ describe('<ScreenshotAccepter/>', () => {
9091

9192
mkScreenshotAccepterComponent({image}, {tree});
9293

93-
assert.calledOnceWith(
94+
assert.calledWithMatch(
9495
ScreenshotAccepterHeader,
9596
{
97+
actions: {
98+
changeDiffMode: sinon.match.func
99+
},
100+
view: {
101+
diffMode: '3-up'
102+
},
96103
images: [image],
97104
stateNameImageIds: ['bro-1 plain'],
98105
retryIndex: 0,

0 commit comments

Comments
 (0)