diff --git a/app/extensions/brave/locales/en-US/preferences.properties b/app/extensions/brave/locales/en-US/preferences.properties
index b364c1a26c9..51b732d7e3e 100644
--- a/app/extensions/brave/locales/en-US/preferences.properties
+++ b/app/extensions/brave/locales/en-US/preferences.properties
@@ -5,25 +5,49 @@ search=Search
tabs=Tabs
sync=Sync
privacy=Privacy
+shields=Shields
security=Security
-bravery=Bravery
+publisher=Publisher
+publishers=Publishers
+publisherEmptyText=Publisher settings coming soon.
+publisherPaymentsTitle=Publishers
+tableEmptyText=No table data.
+notificationEmptyText=Top publisher visits
+syncEmptyText=Sync settings coming soon.
+bitcoin=Bitcoin
+bitcoinAdd=Use your Bitcoin wallet
+bitcoinBuy=Buy Bitcoin
+bitcoinCopyAddress=Copy Bitcoin address
+bitcoinVisitAccount=Add Bitcoin
+bitcoinBalance=Please transfer:
+usd=$
+done=Done
+moneyAdd=Use your debit card
+add=Buy with Coinbase
+addFundsTitle=Add Funds
+addFunds=Add funds to your Brave Payments Account
advanced=Advanced
-hintsTitle=Helpful hints...
+rank=Rank
+views=Views
+timeSpent=Time Spent
+adjustment=Adjustment
+bravery=Bravery
+hintsTitle=Helpful hints
hint0=The Bravery panel allows you turn HTTPS Everywhere on or off. HTTPS Everywhere automatically rewrites your HTTP traffic to HTTPS for supported sites to keep you more secure.
hint1=Brave will always auto-update for you, but you can check for an update on demand in the menu.
hint2=The File menu allows you to create a New Session Tab. Session tabs are like any other tab but they run in a different user profile. This allows you to login to the same sites multiple times with the same browser.
prefAsideTitle=Browser Settings
sendUsFeedback=Send us feedback...
loveToHear=We'd love to hear from you.
-startsWith=Brave starts with
+startsWith=Brave starts with:
startsWithOptionLastTime=Show my windows / tabs from last time
startsWithOptionHomePage=Show my home page
startsWithOptionNewTabPage=Show the new tab page
-myHomepage=My homepage is
-defaultSearchEngine=Default search engine
+myHomepage=My homepage is:
+defaultSearchEngine=Default search engine:
switchToNewTabs=Switch to new tabs immediately
paintTabs=Show tabs in page theme color
-tabsPerTabPage=Tabs per tab page
+tabsPerTabPage=Tabs per tab page:
showTabPreviews=Show tab previews on hover
suggestionTypes=When using the location bar, suggest:
history=History
@@ -32,10 +56,12 @@ openedTabs=Open tabs
offerSearchSuggestions=Use a prediction service to help complete searches and URLs typed in the address bar.
doNotTrack=Send a 'Do Not Track' header with browsing requests (requires browser restart)
blockCanvasFingerprinting=Block HTML canvas, WebGL, and AudioContext fingerprinting (may break some websites)
-advancedPrivacySettings=Advanced privacy settings:
+advancedPrivacySettings=Advanced Privacy Settings:
braveryDefaults=Bravery Defaults:
blockAttackSites=Block reported attack sites (not available yet)
-passwordSettings=Password settings:
+passwordSettings=Password Settings:
+searchSettings=Search Settings
+suggestionTypes=Search Bar Options
pluginSettings=Plugin settings:
usePasswordManager=Use Brave's password manager
useOnePassword=Use 1Password (requires 1Password Application)
@@ -46,16 +72,15 @@ enableFlash=Enable Adobe Flash support (requires browser restart)
enableFlashSubtext=Flash support is experimental and requires Pepper Flash to be installed from
enableFlashSubtextLinux=Flash support is experimental and requires the pepperflashplugin-nonfree package.
managePasswords=Manage passwords...
-sitePermissions=Saved site permissions:
-selectedLanguage=Language
-bookmarkToolbarSettings=Bookmarks Toolbar settings:
-bookmarkToolbar=Show Bookmarks Toolbar
-bookmarkToolbarShowFavicon=Show favicon for items in Bookmarks Toolbar
-bookmarkToolbarShowOnlyFavicon=Show only favicon for items in Bookmarks Toolbar
-contentRenderingOptions=Content rendering options:
+sitePermissions=Saved site permissions
+selectedLanguage=Language:
+bookmarkToolbarSettings=Bookmarks bar:
+bookmarkToolbar=Always show the bookmarks bar
+bookmarkToolbarShowFavicon=Favicons
+bookmarkToolbarShowOnlyFavicon=Show only favicon
+contentRenderingOptions=Content Rendering Options:
useHardwareAcceleration=Use hardware acceleration when available (requires browser restart)
defaultZoomLevel=Default zoom level
-
en-US=English (U.S.)
nl-NL=Dutch (Netherlands)
pt-BR=Portuguese (Brazil)
@@ -74,11 +99,29 @@ tr-TR=Turkish (Turkey)
uk=Ukranian
es=Spanish
ta=Tamil
-
-bookmarkToolbarSettings=Bookmarks Toolbar settings
-bookmarkToolbar=Show Bookmarks Toolbar
-bookmarkToolbarShowFavicon=Show favicon for items in Bookmarks Toolbar
-showHomeButton=Show Home button
+disconnect=Disconnect
+update=Update
+default=Default
+searchEngines=Search Engines
+engineGoKey=Engine Go Key (type first)
+filterTab=Show tab matches
+filterHistory=Show history matches
+filterBookmark=Show bookmark matches
+braveSoftware=Brave Software
+emailAddress=Email address
+viewLog=View Log
+setDefaultButton=Set as default...
+setDefaultLabel=Brave is not your default browser:
+setDefaultAlwaysSwitch=Always check on startup
+importLabel=Browser data import:
+importButton=Import now...
+downloadsLabel=Save my downloads here:
+downloadsInput=~/downloads/
+downloadsAskAlwaysSwitch=Always ask me where to save files
+notifyOnUpdate=Notify me when an update is available
+newTabLabel=A new tab shows:
+homepageLabel=My home page is:
+showHomeButton=Show Home button on URL bar
mediaPermission=Camera and microphone access
geolocationPermission=Location access
notificationsPermission=Show notifications
@@ -94,4 +137,11 @@ alwaysAllow=Always allow
alwaysDeny=Always deny
appearanceSettings=Appearance settings:
autoHideMenuBar=Hide the menu bar by default
-disableTitleMode=Always show URL bar
+disableTitleMode=Disable auto title bar
+loveToHear=We'd love to hear from you.
+tabsSettings=Tabs Settings
+showTabPreviews=Show tab previews on hover
+offerSearchSuggestions=Use a prediction service to help complete searches and URLs typed in the address bar.
+doNotTrack=Send a 'Do Not Track' header with browsing requests (requires browser restart)
+useHardwareAcceleration=Use hardware acceleration when available (requires browser restart)
+braveStaysUpdated=Brave always stays updated.
diff --git a/img/advanced.svg b/img/advanced.svg
new file mode 100644
index 00000000000..393dfd080f1
--- /dev/null
+++ b/img/advanced.svg
@@ -0,0 +1,21 @@
+
+
+
diff --git a/img/bitcoin.svg b/img/bitcoin.svg
new file mode 100644
index 00000000000..6d9ca234bde
--- /dev/null
+++ b/img/bitcoin.svg
@@ -0,0 +1,23 @@
+
+
+
diff --git a/img/bitcoin_color.svg b/img/bitcoin_color.svg
new file mode 100644
index 00000000000..3e827c99a52
--- /dev/null
+++ b/img/bitcoin_color.svg
@@ -0,0 +1,25 @@
+
+
+
diff --git a/img/bookmark.svg b/img/bookmark.svg
new file mode 100644
index 00000000000..a8fc5309cd4
--- /dev/null
+++ b/img/bookmark.svg
@@ -0,0 +1,13 @@
+
+
+
diff --git a/img/coinbase_logo_blue_trans.png b/img/coinbase_logo_blue_trans.png
new file mode 100644
index 00000000000..53da54f52a1
Binary files /dev/null and b/img/coinbase_logo_blue_trans.png differ
diff --git a/img/list.svg b/img/list.svg
new file mode 100644
index 00000000000..0f23217b566
--- /dev/null
+++ b/img/list.svg
@@ -0,0 +1,13 @@
+
+
+
diff --git a/img/lock.svg b/img/lock.svg
new file mode 100644
index 00000000000..60f4f810c6f
--- /dev/null
+++ b/img/lock.svg
@@ -0,0 +1,12 @@
+
+
+
diff --git a/img/refresh.svg b/img/refresh.svg
new file mode 100644
index 00000000000..219c909958e
--- /dev/null
+++ b/img/refresh.svg
@@ -0,0 +1,10 @@
+
+
+
diff --git a/img/search.svg b/img/search.svg
new file mode 100644
index 00000000000..2576003f58e
--- /dev/null
+++ b/img/search.svg
@@ -0,0 +1,16 @@
+
+
+
diff --git a/img/shields.svg b/img/shields.svg
new file mode 100644
index 00000000000..b152a0b916c
--- /dev/null
+++ b/img/shields.svg
@@ -0,0 +1,40 @@
+
+
+
diff --git a/img/shields_color.svg b/img/shields_color.svg
new file mode 100644
index 00000000000..082a5716179
--- /dev/null
+++ b/img/shields_color.svg
@@ -0,0 +1,49 @@
+
+
+
diff --git a/js/about/preferences.js b/js/about/preferences.js
index 880888bbbcd..26c03e0d45e 100644
--- a/js/about/preferences.js
+++ b/js/about/preferences.js
@@ -6,6 +6,7 @@
const React = require('react')
const ImmutableComponent = require('../components/immutableComponent')
const Immutable = require('immutable')
+const SwitchControl = require('../components/switchControl')
const cx = require('../lib/classSet.js')
const { getZoomValuePercentage } = require('../lib/zoom')
const config = require('../constants/config')
@@ -32,6 +33,8 @@ const isWindows = navigator.platform && navigator.platform.includes('Win')
const hintCount = 3
// Stylesheets
+
+require('../../less/switchControls.less')
require('../../less/about/preferences.less')
require('../../node_modules/font-awesome/css/font-awesome.css')
@@ -49,7 +52,7 @@ const permissionNames = {
const changeSetting = (cb, key, e) => {
if (e.target.type === 'checkbox') {
- cb(key, e.target.checked)
+ cb(key, e.target.value)
} else {
let value = e.target.value
if (e.target.dataset && e.target.dataset.type === 'number') {
@@ -96,12 +99,10 @@ class SettingItem extends ImmutableComponent {
class SettingCheckbox extends ImmutableComponent {
render () {
return