Skip to content
This repository was archived by the owner on Dec 11, 2019. It is now read-only.

Commit f214325

Browse files
committed
Normalize buttons in about:preferences
Auditors: @luixxiul Test Plan: Buttons inside prefs should look the same across tabs
1 parent 279f27f commit f214325

File tree

6 files changed

+66
-87
lines changed

6 files changed

+66
-87
lines changed

app/renderer/components/common/browserButton.js

+1
Original file line numberDiff line numberDiff line change
@@ -170,6 +170,7 @@ const styles = StyleSheet.create({
170170
border: '1px solid white',
171171
color: globalStyles.button.secondary.color,
172172
cursor: 'pointer',
173+
fontWeight: 500,
173174

174175
':hover': {
175176
border: `1px solid ${globalStyles.button.secondary.borderHoverColor}`,

app/renderer/components/preferences/payment/bitcoinDashboard.js

+21-39
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ const React = require('react')
66
const {StyleSheet, css} = require('aphrodite/no-important')
77

88
// components
9-
const Button = require('../../common/button')
9+
const BrowserButton = require('../../common/browserButton')
1010
const cx = require('../../../../../js/lib/classSet')
1111
const ModalOverlay = require('../../common/modalOverlay')
1212
const ImmutableComponent = require('../../immutableComponent')
@@ -96,11 +96,8 @@ class BitcoinDashboard extends ImmutableComponent {
9696
const buttonAttrs = {
9797
l10nId: 'add',
9898
testId: 'bitcoinPurchaseButton',
99-
className: cx({
100-
primaryButton: true,
101-
[css(styles.panelButton)]: true,
102-
disabled: disabled
103-
})
99+
primaryColor: true,
100+
disabled: disabled
104101
}
105102
const hrefAttrs = {
106103
href: this.props.ledgerData.get('buyURL'),
@@ -118,11 +115,11 @@ class BitcoinDashboard extends ImmutableComponent {
118115
if (!disabled) {
119116
buttonAttrs.onClick = this.props.showOverlay.bind(this)
120117
}
121-
return <Button {...buttonAttrs} />
118+
return <BrowserButton {...buttonAttrs} />
122119
}
123120

124121
return <a {...hrefAttrs}>
125-
<Button {...buttonAttrs} />
122+
<BrowserButton {...buttonAttrs} />
126123
</a>
127124
}
128125

@@ -196,13 +193,10 @@ class BitcoinDashboard extends ImmutableComponent {
196193
</div>
197194
<div className={css(styles.panel__divider, styles.panel__divider_right)}>
198195
<a target='_blank' href={url}>
199-
{/* TODO: refactor button.js */}
200-
<Button className={cx({
201-
primaryButton: true,
202-
[css(styles.panelButton)]: true
203-
})}
196+
<BrowserButton
197+
primaryColor
204198
testId='exchangePanelButton'
205-
label={name}
199+
l10nId={name}
206200
/>
207201
</a>
208202
</div>
@@ -223,11 +217,8 @@ class BitcoinDashboard extends ImmutableComponent {
223217
</div>
224218
<div className={css(styles.panel__divider, styles.panel__divider_right)}>
225219
<a target='_blank' href='https://www.buybitcoinworldwide.com/'>
226-
{/* TODO: refactor button.js */}
227-
<Button className={cx({
228-
primaryButton: true,
229-
[css(styles.panelButton)]: true
230-
})}
220+
<BrowserButton
221+
primaryColor
231222
testId='worldWidePanelButton'
232223
label='buybitcoinworldwide.com'
233224
/>
@@ -261,11 +252,8 @@ class BitcoinDashboard extends ImmutableComponent {
261252
ledgerData.get('hasBitcoinHandler') && ledgerData.get('paymentURL')
262253
? <div className={css(styles.panel__divider_right__bitcoinPanel__paymentURL)}>
263254
<a href={ledgerData.get('paymentURL')} target='_blank'>
264-
{/* TODO: refactor button.js */}
265-
<Button className={cx({
266-
primaryButton: true,
267-
[css(styles.panelButton)]: true
268-
})}
255+
<BrowserButton
256+
primaryColor
269257
l10nId='bitcoinVisitAccount'
270258
testId='bitcoinVisitAccountButton'
271259
/>
@@ -275,11 +263,8 @@ class BitcoinDashboard extends ImmutableComponent {
275263
}
276264
<div data-l10n-id='bitcoinPaymentURL' className={css(styles.panel__divider_right__bitcoinPanel__walletLabelText)} />
277265
<div className={css(styles.panel__divider_right__bitcoinPanel__walletAddressText)}>{ledgerData.get('address')}</div>
278-
{/* TODO: refactor button.js */}
279-
<Button className={cx({
280-
primaryButton: true,
281-
[css(styles.panelButton)]: true
282-
})}
266+
<BrowserButton
267+
primaryColor
283268
l10nId='copyToClipboard'
284269
testId='copyToClipboardButton'
285270
onClick={this.copyToClipboard.bind(this, ledgerData.get('address'))}
@@ -308,11 +293,8 @@ class BitcoinDashboard extends ImmutableComponent {
308293
</div>
309294
</div>
310295
<div className={css(styles.panel__divider, styles.panel__divider_right)}>
311-
{/* TODO: refactor button.js */}
312-
<Button className={cx({
313-
primaryButton: true,
314-
[css(styles.panelButton)]: true
315-
})}
296+
<BrowserButton
297+
primaryColor
316298
l10nId='displayQRCode'
317299
testId='displayQRCode'
318300
onClick={this.props.showQRcode.bind(this)}
@@ -449,10 +431,9 @@ class BitcoinDashboardFooter extends ImmutableComponent {
449431
? this.coinbaseMessageWrapper
450432
: null
451433
}
452-
<Button className={cx({
453-
whiteButton: true,
454-
[css(styles.dashboardFooter_coinbaseFooter__doneButton)]: this.coinbaseCountries
455-
})}
434+
<BrowserButton
435+
secondaryColor
436+
custom={this.coinbaseCountries && styles.dashboardFooter_coinbaseFooter__doneButton}
456437
l10nId='done'
457438
testId='panelDoneButton'
458439
onClick={this.props.hideParentOverlay}
@@ -582,7 +563,8 @@ const styles = StyleSheet.create({
582563
borderBottom: `3px solid ${globalStyles.color.modalLightGray}`
583564
},
584565
panel__smartphonePanel: {
585-
padding: `${panelPadding} 0 ${panelPaddingBody}`
566+
padding: `${panelPadding} 0 ${panelPaddingBody}`,
567+
alignItems: 'center'
586568
},
587569

588570
modalOverlay__qrcodeOverlay: {

app/renderer/components/preferences/payment/history.js

+2-3
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ const {formattedTimeFromNow, formattedDateFromTimestamp} = require('../../../../
1212
const appUrlUtil = require('../../../../../js/lib/appUrlUtil')
1313

1414
// components
15-
const Button = require('../../common/button')
15+
const BrowserButton = require('../../common/browserButton')
1616
const ImmutableComponent = require('../../immutableComponent')
1717

1818
// style
@@ -117,8 +117,7 @@ class HistoryFooter extends ImmutableComponent {
117117
<div className={css(styles.historyFooter__nextPayment)}>
118118
<span data-l10n-id={l10nDataId} data-l10n-args={JSON.stringify(l10nDataArgs)} />
119119
</div>
120-
{/* TODO: refactor button.less */}
121-
<Button className='primaryButton'
120+
<BrowserButton primaryColor
122121
l10nId='paymentHistoryOKText'
123122
testId='paymentHistoryOKText'
124123
onClick={this.props.hideOverlay.bind(this, 'paymentHistory')}

app/renderer/components/styles/global.js

+2-2
Original file line numberDiff line numberDiff line change
@@ -277,8 +277,8 @@ const globalStyles = {
277277
gradientColor1: '#fff',
278278
gradientColor2: '#ececec',
279279
background: 'linear-gradient(#fff, #ececec)',
280-
color: '#444',
281-
hoverColor: '#000',
280+
color: '#666',
281+
hoverColor: '#444',
282282
borderHoverColor: 'rgb(153, 153, 153)'
283283
},
284284

js/about/preferences.js

+40-18
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ const {SettingsList, SettingItem, SettingCheckbox, SettingItemIcon} = require('.
1616
const {SettingTextbox} = require('../../app/renderer/components/common/textbox')
1717
const {SettingDropdown} = require('../../app/renderer/components/common/dropdown')
1818
const {DefaultSectionTitle} = require('../../app/renderer/components/common/sectionTitle')
19-
const Button = require('../../app/renderer/components/common/button')
19+
const BrowserButton = require('../../app/renderer/components/common/browserButton')
2020

2121
// Tabs
2222
const PaymentsTab = require('../../app/renderer/components/preferences/paymentsTab')
@@ -149,8 +149,11 @@ class GeneralTab extends ImmutableComponent {
149149
const defaultBrowser = getSetting(settings.IS_DEFAULT_BROWSER, this.props.settings)
150150
? <SettingItem dataL10nId='defaultBrowser' />
151151
: <SettingItem dataL10nId='notDefaultBrowser' >
152-
<Button l10nId='setAsDefault' className='primaryButton setAsDefaultButton'
153-
onClick={this.setAsDefaultBrowser} />
152+
<BrowserButton
153+
primaryColor
154+
l10nId='setAsDefault'
155+
onClick={this.setAsDefaultBrowser}
156+
/>
154157
</SettingItem>
155158

156159
const defaultZoomSetting = getSetting(settings.DEFAULT_ZOOM_LEVEL, this.props.settings)
@@ -234,8 +237,11 @@ class GeneralTab extends ImmutableComponent {
234237
</SettingDropdown>
235238
</SettingItem>
236239
<SettingItem dataL10nId='importBrowserData'>
237-
<Button l10nId='importNow' className='primaryButton importNowButton'
238-
onClick={this.importBrowserDataNow} />
240+
<BrowserButton
241+
primaryColor
242+
l10nId='importNow'
243+
onClick={this.importBrowserDataNow}
244+
/>
239245
</SettingItem>
240246
{defaultBrowser}
241247
<SettingItem>
@@ -547,10 +553,15 @@ class ShieldsTab extends ImmutableComponent {
547553
<SettingCheckbox checked={this.props.braveryDefaults.get('safeBrowsing')} dataL10nId='safeBrowsing' onChange={this.onToggleSafeBrowsing} />
548554
<SettingCheckbox checked={this.props.braveryDefaults.get('noScript')} dataL10nId='noScriptPref' onChange={this.onToggleNoScript} />
549555
<SettingCheckbox dataL10nId='blockCanvasFingerprinting' prefKey={settings.BLOCK_CANVAS_FINGERPRINTING} settings={this.props.settings} onChangeSetting={this.props.onChangeSetting} />
550-
<Button l10nId='manageAdblockSettings' className='primaryButton manageAdblockSettings'
551-
onClick={aboutActions.createTabRequested.bind(null, {
552-
url: 'about:adblock'
553-
})} />
556+
{/* TODO: move this inline style to Aphrodite once refactored */}
557+
<div style={{marginTop: '15px'}}>
558+
<BrowserButton
559+
primaryColor
560+
l10nId='manageAdblockSettings'
561+
onClick={aboutActions.createTabRequested.bind(null, {
562+
url: 'about:adblock'
563+
})} />
564+
</div>
554565
</SettingsList>
555566
<DefaultSectionTitle data-l10n-id='shieldsPanelOptions' />
556567
<SettingsList>
@@ -605,11 +616,15 @@ class SecurityTab extends ImmutableComponent {
605616
<SettingCheckbox dataL10nId='autocompleteData' prefKey={settings.SHUTDOWN_CLEAR_AUTOCOMPLETE_DATA} settings={this.props.settings} onChangeSetting={this.props.onChangeSetting} />
606617
<SettingCheckbox dataL10nId='autofillData' prefKey={settings.SHUTDOWN_CLEAR_AUTOFILL_DATA} settings={this.props.settings} onChangeSetting={this.props.onChangeSetting} />
607618
<SettingCheckbox dataL10nId='savedSiteSettings' prefKey={settings.SHUTDOWN_CLEAR_SITE_SETTINGS} settings={this.props.settings} onChangeSetting={this.props.onChangeSetting} />
608-
<Button className='primaryButton'
609-
l10nId='clearBrowsingDataNow'
610-
testId='clearBrowsingDataButton'
611-
onClick={this.clearBrowsingDataNow}
612-
/>
619+
{/* TODO: move this inline style to Aphrodite once refactored */}
620+
<div style={{marginTop: '15px'}}>
621+
<BrowserButton
622+
primaryColor
623+
l10nId='clearBrowsingDataNow'
624+
testId='clearBrowsingDataButton'
625+
onClick={this.clearBrowsingDataNow}
626+
/>
627+
</div>
613628
</SettingsList>
614629
<DefaultSectionTitle data-l10n-id='passwordsAndForms' />
615630
<SettingsList>
@@ -646,10 +661,17 @@ class SecurityTab extends ImmutableComponent {
646661
<DefaultSectionTitle data-l10n-id='autofillSettings' />
647662
<SettingsList>
648663
<SettingCheckbox dataL10nId='enableAutofill' prefKey={settings.AUTOFILL_ENABLED} settings={this.props.settings} onChangeSetting={this.props.onChangeSetting} />
649-
<Button l10nId='manageAutofillData' className='primaryButton manageAutofillDataButton'
650-
onClick={aboutActions.createTabRequested.bind(null, {
651-
url: 'about:autofill'
652-
})} disabled={!getSetting(settings.AUTOFILL_ENABLED, this.props.settings)} />
664+
{/* TODO: move this inline style to Aphrodite once refactored */}
665+
<div style={{marginTop: '15px'}}>
666+
<BrowserButton
667+
primaryColor
668+
l10nId='manageAutofillData'
669+
disabled={!getSetting(settings.AUTOFILL_ENABLED, this.props.settings)}
670+
onClick={aboutActions.createTabRequested.bind(null, {
671+
url: 'about:autofill'
672+
})}
673+
/>
674+
</div>
653675
</SettingsList>
654676
<DefaultSectionTitle data-l10n-id='fullscreenContent' />
655677
<SettingsList>

less/button.less

-25
Original file line numberDiff line numberDiff line change
@@ -128,28 +128,3 @@ span.buttonSeparator {
128128
font-size: 14px;
129129
}
130130
}
131-
132-
// for about:preferences
133-
.prefBody {
134-
.settingsList > .settingItem + button,
135-
.settingItem > span + button,
136-
.paymentsContainer button:not(.close),
137-
.syncContainer .browserButton {
138-
font-size: 0.9rem;
139-
padding: 8px 20px;
140-
}
141-
142-
.settingsList > .settingItem + button,
143-
.settingItem > span + button,
144-
.paymentsContainer button:not(.close) {
145-
margin: 0;
146-
}
147-
148-
.settingsList > .settingItem + button {
149-
margin-top: 20px;
150-
}
151-
152-
.settingItem > span + button {
153-
margin-top: 5px;
154-
}
155-
}

0 commit comments

Comments
 (0)