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

Update brave-ui to v0.10.6 + Tests #34

Merged
merged 7 commits into from
Jun 13, 2018
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions app/components/braveShields/braveShields.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ import BraveShieldsFooter from './braveShieldsFooter'
import * as shieldActions from '../../types/actions/shieldsPanelActions'
import { Tab } from '../../types/state/shieldsPannelState'

interface Props {
interface BraveShieldsProps {
actions: {
shieldsToggled: shieldActions.ShieldsToggled
blockAdsTrackers: shieldActions.BlockAdsTrackers
Expand All @@ -25,7 +25,7 @@ interface Props {
shieldsPanelTabData: Tab
}

export default class BraveShields extends React.Component<Props, object> {
export default class BraveShields extends React.Component<BraveShieldsProps, {}> {
render () {
const { shieldsPanelTabData, actions } = this.props

Expand Down
156 changes: 80 additions & 76 deletions app/components/braveShields/braveShieldsControls.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -3,14 +3,19 @@
* You can obtain one at http://mozilla.org/MPL/2.0/. */

import * as React from 'react'
import { Grid, Column, SwitchButton, BrowserSelect, ContentToggle } from 'brave-ui'
import { Grid, Column } from 'brave-ui/gridSystem'
import SwitchButton from 'brave-ui/switchButton'
import SelectOption from 'brave-ui/selectOption'
import ContentToggleArrow from 'brave-ui/contentToggleArrow'
import BoxedContent from 'brave-ui/boxedContent'
import * as shieldActions from '../../types/actions/shieldsPanelActions'
import { BlockOptions, BlockFPOptions, BlockCookiesOptions } from '../../types/other/blockTypes'
import { getMessage } from '../../background/api/localeAPI'
import { NoScriptInfo } from '../../types/other/noScriptInfo'
import NoScript from '../noScript/noScript'
import theme from '../../theme'

export interface Props {
export interface BraveShieldsControlsProps {
controlsOpen: boolean
braveShields: BlockOptions
httpUpgradableResources: BlockOptions
Expand All @@ -30,8 +35,8 @@ export interface Props {
changeNoScriptSettings: shieldActions.ChangeNoScriptSettings
}

export default class BraveShieldsControls extends React.Component<Props, Object> {
constructor (props: Props) {
export default class BraveShieldsControls extends React.Component<BraveShieldsControlsProps, {}> {
constructor (props: BraveShieldsControlsProps) {
super(props)
this.onChangeAdControl = this.onChangeAdControl.bind(this)
this.onToggleControls = this.onToggleControls.bind(this)
Expand Down Expand Up @@ -78,92 +83,91 @@ export default class BraveShieldsControls extends React.Component<Props, Object>
render () {
const { braveShields, ads, trackers, controlsOpen, httpUpgradableResources, javascript, fingerprinting, cookies, noScriptInfo } = this.props
return (
<Grid
id='braveShieldsControls'
background='#eee'
padding='10px 10px 0'
gap='10px 5px'
>
<Grid id='braveShieldsControls' theme={theme.braveShieldsControls}>
<Column>
<ContentToggle
<ContentToggleArrow
id='advancedControlsToggle'
withSeparator={true}
open={controlsOpen}
summary={getMessage('shieldsControlsAdvancedControls')}
onClick={this.onToggleControls}
>
<BrowserSelect
disabled={braveShields === 'block'}
titleName={getMessage('shieldsControlsAdControl')}
value={braveShields !== 'block' && ads !== 'allow' && trackers !== 'allow' ? 'allow' : 'block'}
onChange={this.onChangeAdControl}
>
{/* TODO needs "show brave ads" */}
<option value='allow'>{getMessage('shieldsControlsAdControlOptionBlockAds')}</option>
<option value='block'>{getMessage('shieldsControlsAdControlOptionAllowAdsTracking')}</option>
</BrowserSelect>
<BoxedContent theme={theme.braveShieldsControlsContent}>
<SelectOption
id='shieldsControlsAdControl'
disabled={braveShields === 'block'}
titleName={getMessage('shieldsControlsAdControl')}
value={braveShields !== 'block' && ads !== 'allow' && trackers !== 'allow' ? 'allow' : 'block'}
onChange={this.onChangeAdControl}
>
{/* TODO needs "show brave ads" */}
<option value='allow'>{getMessage('shieldsControlsAdControlOptionBlockAds')}</option>
<option value='block'>{getMessage('shieldsControlsAdControlOptionAllowAdsTracking')}</option>
</SelectOption>

<BrowserSelect
disabled={braveShields === 'block'}
titleName={getMessage('shieldsControlsCookieControl')}
value={braveShields !== 'block' ? cookies : 'allow'}
onChange={this.onChangeCookiesProtection}
>
<option value='block_third_party'>{getMessage('shieldsControlsCookieOptionBlock3p')}</option>
<option value='block'>{getMessage('shieldsControlsCookieOptionBlockAll')}</option>
<option value='allow'>{getMessage('shieldsControlsCookieOptionAllowAll')}</option>
</BrowserSelect>
<SelectOption
id='shieldsControlsCookieControl'
disabled={braveShields === 'block'}
titleName={getMessage('shieldsControlsCookieControl')}
value={braveShields !== 'block' ? cookies : 'allow'}
onChange={this.onChangeCookiesProtection}
>
<option value='block_third_party'>{getMessage('shieldsControlsCookieOptionBlock3p')}</option>
<option value='block'>{getMessage('shieldsControlsCookieOptionBlockAll')}</option>
<option value='allow'>{getMessage('shieldsControlsCookieOptionAllowAll')}</option>
</SelectOption>

<BrowserSelect
disabled={braveShields === 'block'}
titleName={getMessage('shieldsControlsFingerprintingProtection')}
value={braveShields !== 'block' ? fingerprinting : 'allow'}
onChange={this.onChangeFingerprintingProtection}
>
<option value='block_third_party'>{getMessage('shieldsControlsFingerprintingOptionBlock3p')}</option>
<option value='block'>{getMessage('shieldsControlsFingerprintingOptionBlockAll')}</option>
<option value='allow'>{getMessage('shieldsControlsFingerprintingOptionAllowAll')}</option>
</BrowserSelect>
<Grid
gap='10px 5px'
padding='5px 0'
>
<Column>
{/* TODO @cezaraugusto */}
<SwitchButton
id='httpsEverywhere'
disabled={braveShields === 'block'}
rightText={getMessage('shieldsControlsHttpsEverywhereSwitch')}
checked={braveShields !== 'block' && httpUpgradableResources !== 'allow'}
onChange={this.onToggleHTTPSEverywhere}
/>
</Column>
<Column>
{/* TODO @cezaraugusto */}
<SwitchButton
id='blockScripts'
disabled={braveShields === 'block'}
rightText={getMessage('shieldsControlsBlockScriptsSwitch')}
checked={braveShields !== 'block' && javascript !== 'allow'}
onChange={this.onToggleJavaScript}
/>
</Column>
<Column>
{/* TODO @cezaraugusto */}
<SwitchButton
id='blockPhishingMalware'
checked={false}
disabled={braveShields === 'block'}
rightText={getMessage('shieldsControlsBlockPhishingMalwareSwitch')}
/>
</Column>
</Grid>
<SelectOption
id='shieldsControlsFingerprintingProtection'
disabled={braveShields === 'block'}
titleName={getMessage('shieldsControlsFingerprintingProtection')}
value={braveShields !== 'block' ? fingerprinting : 'allow'}
onChange={this.onChangeFingerprintingProtection}
>
<option value='block_third_party'>{getMessage('shieldsControlsFingerprintingOptionBlock3p')}</option>
<option value='block'>{getMessage('shieldsControlsFingerprintingOptionBlockAll')}</option>
<option value='allow'>{getMessage('shieldsControlsFingerprintingOptionAllowAll')}</option>
</SelectOption>

<Grid theme={theme.braveShieldsControlsSwitches}>
<Column>
{/* TODO @cezaraugusto */}
<SwitchButton
id='httpsEverywhere'
disabled={braveShields === 'block'}
rightText={getMessage('shieldsControlsHttpsEverywhereSwitch')}
checked={braveShields !== 'block' && httpUpgradableResources !== 'allow'}
onChange={this.onToggleHTTPSEverywhere}
/>
</Column>
<Column>
{/* TODO @cezaraugusto */}
<SwitchButton
id='blockScripts'
disabled={braveShields === 'block'}
rightText={getMessage('shieldsControlsBlockScriptsSwitch')}
checked={braveShields !== 'block' && javascript !== 'allow'}
onChange={this.onToggleJavaScript}
/>
</Column>
<Column>
{/* TODO @cezaraugusto */}
<SwitchButton
id='blockPhishingMalware'
checked={false}
disabled={braveShields === 'block'}
rightText={getMessage('shieldsControlsBlockPhishingMalwareSwitch')}
/>
</Column>
</Grid>
<NoScript
blocked={javascript !== 'allow'}
noScriptInfo={noScriptInfo}
onSubmit={this.onAllowScriptOriginsOnce}
onChangeNoScriptSettings={this.onChangeNoScriptSettings}
/>
</ContentToggle>
</BoxedContent>
</ContentToggleArrow>
</Column>
</Grid>
)
Expand Down
22 changes: 10 additions & 12 deletions app/components/braveShields/braveShieldsFooter.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -3,28 +3,26 @@
* You can obtain one at http://mozilla.org/MPL/2.0/. */

import * as React from 'react'
import { Grid, Column, ActionButton, Anchor } from 'brave-ui'
import { Grid, Column } from 'brave-ui/gridSystem'
import Anchor from 'brave-ui/anchor'
import UnstyledButton from 'brave-ui/unstyledButton'
import { getMessage } from '../../background/api/localeAPI'
import theme from '../../theme'

export default class BraveShieldsFooter extends React.Component<{}, object> {
export default class BraveShieldsFooter extends React.PureComponent<{}, {}> {
render () {
return (
<Grid
id='braveShieldsFooter'
gap='10px'
padding='0 10px 10px'
background='#eee'
>
<Column align='flex-start' size={9}>
<Grid id='braveShieldsFooter' theme={theme.braveShieldsFooter}>
<Column size={9} theme={theme.columnStart}>
<Anchor
noStyle={true}
theme={theme.editLink}
href='chrome://settings'
target='_blank'
text={getMessage('shieldsFooterEditDefault')}
/>
</Column>
<Column align='flex-end' size={3}>
<ActionButton text={getMessage('shieldsFooterReload')} />
<Column size={3} theme={theme.columnEnd}>
<UnstyledButton text={getMessage('shieldsFooterReload')} />
</Column>
</Grid>
)
Expand Down
33 changes: 19 additions & 14 deletions app/components/braveShields/braveShieldsHeader.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -3,19 +3,24 @@
* You can obtain one at http://mozilla.org/MPL/2.0/. */

import * as React from 'react'
import { Grid, Column, Separator, SwitchButton, ActionButton, BrowserText } from 'brave-ui'
import { Grid, Column } from 'brave-ui/gridSystem'
import Separator from 'brave-ui/separator'
import SwitchButton from 'brave-ui/switchButton'
import UnstyledButton from 'brave-ui/unstyledButton'
import TextLabel from 'brave-ui/textLabel'
import * as shieldActions from '../../types/actions/shieldsPanelActions'
import { BlockOptions } from '../../types/other/blockTypes'
import { getMessage } from '../../background/api/localeAPI'
import theme from '../../theme'

export interface Props {
export interface BraveShieldsHeaderProps {
shieldsToggled: shieldActions.ShieldsToggled
hostname: string
braveShields: BlockOptions
}

export default class BraveShieldsHeader extends React.Component<Props, object> {
constructor (props: Props) {
export default class BraveShieldsHeader extends React.PureComponent<BraveShieldsHeaderProps, {}> {
constructor (props: BraveShieldsHeaderProps) {
super(props)
this.onToggleShields = this.onToggleShields.bind(this)
this.onClosePopup = this.onClosePopup.bind(this)
Expand All @@ -33,11 +38,11 @@ export default class BraveShieldsHeader extends React.Component<Props, object> {
render () {
const { braveShields, hostname } = this.props
return (
<Grid id='braveShieldsHeader' background='#808080' padding='10px' gap='0' textColor='#fafafa'>
<Column size={4} verticalAlign='center'>
<BrowserText noSelect={true} fontSize='14px' text={getMessage('shieldsHeaderShieldsToggle')} />
<Grid id='braveShieldsHeader' theme={theme.braveShieldsHeader}>
<Column size={4} theme={theme.columnVerticalCenter}>
<TextLabel theme={theme.title} text={getMessage('shieldsHeaderShieldsToggle')} />
</Column>
<Column size={6} verticalAlign='center'>
<Column size={6} theme={theme.columnVerticalCenter}>
<SwitchButton
id='shieldsToggle'
leftText={getMessage('shieldsHeaderToggleLeftPosition')}
Expand All @@ -46,19 +51,19 @@ export default class BraveShieldsHeader extends React.Component<Props, object> {
onChange={this.onToggleShields}
/>
</Column>
<Column size={2} align='flex-end' verticalAlign='center'>
<ActionButton
fontSize='20px'
<Column size={2} theme={theme.columnVerticalCenterEnd}>
<UnstyledButton
theme={theme.closeButton}
text='&times;'
onClick={this.onClosePopup}
/>
</Column>
<Column>
<Separator />
<BrowserText noSelect={true} text={getMessage('shieldsHeaderForSite')} />
</Column>
<Column verticalAlign='center'>
<BrowserText noSelect={true} fontSize='20px' text={hostname} />
<Column theme={theme.hostnameContent}>
<TextLabel text={getMessage('shieldsHeaderForSite')} />
<TextLabel id='hostname' theme={theme.hostname} text={hostname} />
</Column>
</Grid>
)
Expand Down
Loading