From 0a940829830cf21e2db27dd3acbae3d307ba95f3 Mon Sep 17 00:00:00 2001 From: Igor Gassmann Date: Wed, 27 Dec 2017 20:48:11 -0300 Subject: [PATCH] Convert anonymous functions to arrow functions --- src/renderer/index.js | 26 ++--- src/renderer/jsonrpc.js | 4 +- src/renderer/lbry.js | 39 +++---- src/renderer/lbryio.js | 10 +- src/renderer/lbryuri.js | 12 +-- src/renderer/redux/actions/app.js | 53 +++++----- src/renderer/redux/actions/availability.js | 2 +- src/renderer/redux/actions/content.js | 57 ++++++----- src/renderer/redux/actions/cost_info.js | 2 +- src/renderer/redux/actions/file_info.js | 30 +++--- src/renderer/redux/actions/navigation.js | 16 ++- src/renderer/redux/actions/rewards.js | 10 +- src/renderer/redux/actions/search.js | 2 +- src/renderer/redux/actions/settings.js | 12 +-- src/renderer/redux/actions/user.js | 18 ++-- src/renderer/redux/actions/wallet.js | 28 +++--- src/renderer/redux/reducers/app.js | 80 ++++++--------- src/renderer/redux/reducers/availability.js | 4 +- src/renderer/redux/reducers/claims.js | 26 +++-- src/renderer/redux/reducers/content.js | 15 ++- src/renderer/redux/reducers/cost_info.js | 4 +- src/renderer/redux/reducers/file_info.js | 25 +++-- src/renderer/redux/reducers/navigation.js | 7 +- src/renderer/redux/reducers/rewards.js | 15 ++- src/renderer/redux/reducers/search.js | 12 +-- src/renderer/redux/reducers/settings.js | 13 ++- src/renderer/redux/reducers/user.js | 106 ++++++++------------ src/renderer/redux/reducers/wallet.js | 57 +++++------ src/renderer/redux/selectors/app.js | 2 - src/renderer/redux/selectors/claims.js | 13 +-- src/renderer/redux/selectors/content.js | 2 +- src/renderer/redux/selectors/file_info.js | 41 +------- src/renderer/redux/selectors/search.js | 6 +- src/renderer/redux/selectors/settings.js | 5 - src/renderer/rewards.js | 2 +- src/renderer/util/setBadge.js | 2 +- src/renderer/util/shape_shift.js | 4 +- src/renderer/util/throttle.js | 6 +- 38 files changed, 328 insertions(+), 440 deletions(-) diff --git a/src/renderer/index.js b/src/renderer/index.js index a5ef55409..19350e8ce 100644 --- a/src/renderer/index.js +++ b/src/renderer/index.js @@ -1,20 +1,20 @@ +import amplitude from 'amplitude-js'; +import App from 'component/app'; +import SnackBar from 'component/snackBar'; +import SplashScreen from 'component/splash'; +import * as ACTIONS from 'constants/action_types'; +import { ipcRenderer, remote, shell } from 'electron'; +import lbry from 'lbry'; /* eslint-disable react/jsx-filename-extension */ import React from 'react'; import ReactDOM from 'react-dom'; -import App from 'component/app'; -import SnackBar from 'component/snackBar'; import { Provider } from 'react-redux'; -import store from 'store'; -import SplashScreen from 'component/splash'; -import { doDaemonReady, doShowSnackBar, doConditionalAuthNavigate } from 'redux/actions/app'; -import { doUserEmailVerify } from 'redux/actions/user'; +import { doConditionalAuthNavigate, doDaemonReady, doShowSnackBar } from 'redux/actions/app'; import { doNavigate } from 'redux/actions/navigation'; import { doDownloadLanguages } from 'redux/actions/settings'; -import * as ACTIONS from 'constants/action_types'; -import amplitude from 'amplitude-js'; -import lbry from 'lbry'; +import { doUserEmailVerify } from 'redux/actions/user'; import 'scss/all.scss'; -import { ipcRenderer, remote, shell } from 'electron'; +import store from 'store'; import app from './app'; const { contextMenu } = remote.require('./main.js'); @@ -64,10 +64,10 @@ ipcRenderer.on('window-is-focused', () => { dock.setBadge(''); }); -(function(history, ...args) { +((history, ...args) => { const { replaceState } = history; const newHistory = history; - newHistory.replaceState = function(_, __, path) { + newHistory.replaceState = (_, __, path) => { amplitude.getInstance().logEvent('NAVIGATION', { destination: path ? path.slice(1) : path }); return replaceState.apply(history, args); }; @@ -101,7 +101,7 @@ document.addEventListener('click', event => { } }); -const init = function initializeReactApp() { +const init = () => { app.store.dispatch(doDownloadLanguages()); function onDaemonReady() { diff --git a/src/renderer/jsonrpc.js b/src/renderer/jsonrpc.js index a94ba4fe8..8e11c4f12 100644 --- a/src/renderer/jsonrpc.js +++ b/src/renderer/jsonrpc.js @@ -1,13 +1,13 @@ const jsonrpc = {}; -jsonrpc.call = function callJsonRpc( +jsonrpc.call = ( connectionString, method, params, callback, errorCallback, connectFailedCallback -) { +) => { function checkAndParse(response) { if (response.status >= 200 && response.status < 300) { return response.json(); diff --git a/src/renderer/lbry.js b/src/renderer/lbry.js index 27cd3ec14..0123f08c2 100644 --- a/src/renderer/lbry.js +++ b/src/renderer/lbry.js @@ -1,5 +1,5 @@ -import jsonrpc from 'jsonrpc'; import { ipcRenderer } from 'electron'; +import jsonrpc from 'jsonrpc'; const CHECK_DAEMON_STARTED_TRY_NUMBER = 200; @@ -19,11 +19,10 @@ const lbryProxy = new Proxy(Lbry, { return target[name]; } - return function(params = {}) { - return new Promise((resolve, reject) => { + return params => + new Promise((resolve, reject) => { apiCall(name, params, resolve, reject); }); - }; }, }); @@ -76,7 +75,7 @@ function removePendingPublishIfNeeded({ name, channelName, outpoint }) { * Gets the current list of pending publish attempts. Filters out any that have timed out and * removes them from the list. */ -Lbry.getPendingPublishes = function() { +Lbry.getPendingPublishes = () => { const pendingPublishes = getLocal('pendingPublishes') || []; const newPendingPublishes = pendingPublishes.filter( pub => Date.now() - pub.time <= Lbry.pendingPublishTimeout @@ -110,7 +109,7 @@ function pendingPublishToDummyFileInfo({ name, outpoint, claimId }) { // core Lbry.connectPromise = null; -Lbry.connect = function() { +Lbry.connect = () => { if (Lbry.connectPromise === null) { Lbry.connectPromise = new Promise((resolve, reject) => { let tryNum = 0; @@ -144,7 +143,7 @@ Lbry.connect = function() { * This currently includes a work-around to cache the file in local storage so that the pending * publish can appear in the UI immediately. */ -Lbry.publishDeprecated = function(params, fileListedCallback, publishedCallback, errorCallback) { +Lbry.publishDeprecated = (params, fileListedCallback, publishedCallback, errorCallback) => { // Give a short grace period in case publish() returns right away or (more likely) gives an error const returnPendingTimeout = setTimeout( () => { @@ -173,11 +172,9 @@ Lbry.publishDeprecated = function(params, fileListedCallback, publishedCallback, ); }; -Lbry.imagePath = function(file) { - return `${staticResourcesPath}/img/${file}`; -}; +Lbry.imagePath = file => `${staticResourcesPath}/img/${file}`; -Lbry.getMediaType = function(contentType, fileName) { +Lbry.getMediaType = (contentType, fileName) => { if (contentType) { return /^[^/]+/.exec(contentType)[0]; } else if (fileName) { @@ -199,14 +196,13 @@ Lbry.getMediaType = function(contentType, fileName) { return 'unknown'; }; -Lbry.getAppVersionInfo = function() { - return new Promise(resolve => { +Lbry.getAppVersionInfo = () => + new Promise(resolve => { ipcRenderer.once('version-info-received', (event, versionInfo) => { resolve(versionInfo); }); ipcRenderer.send('version-info-requested'); }); -}; /** * Wrappers for API methods to simulate missing or future behavior. Unlike the old-style stubs, @@ -217,8 +213,8 @@ Lbry.getAppVersionInfo = function() { * Returns results from the file_list API method, plus dummy entries for pending publishes. * (If a real publish with the same name is found, the pending publish will be ignored and removed.) */ -Lbry.file_list = function(params = {}) { - return new Promise((resolve, reject) => { +Lbry.file_list = params => + new Promise((resolve, reject) => { const { name, channel_name: channelName, outpoint } = params; /** @@ -252,10 +248,9 @@ Lbry.file_list = function(params = {}) { reject ); }); -}; -Lbry.claim_list_mine = function(params = {}) { - return new Promise((resolve, reject) => { +Lbry.claim_list_mine = params => + new Promise((resolve, reject) => { apiCall( 'claim_list_mine', params, @@ -274,10 +269,9 @@ Lbry.claim_list_mine = function(params = {}) { reject ); }); -}; -Lbry.resolve = function(params = {}) { - return new Promise((resolve, reject) => { +Lbry.resolve = params => + new Promise((resolve, reject) => { apiCall( 'resolve', params, @@ -292,6 +286,5 @@ Lbry.resolve = function(params = {}) { reject ); }); -}; export default lbryProxy; diff --git a/src/renderer/lbryio.js b/src/renderer/lbryio.js index 694f83ed7..a666a2b28 100644 --- a/src/renderer/lbryio.js +++ b/src/renderer/lbryio.js @@ -1,6 +1,6 @@ +import { ipcRenderer } from 'electron'; import Lbry from 'lbry'; import querystring from 'querystring'; -import { ipcRenderer } from 'electron'; const Lbryio = { enabled: true, @@ -15,7 +15,7 @@ const CONNECTION_STRING = process.env.LBRY_APP_API_URL const EXCHANGE_RATE_TIMEOUT = 20 * 60 * 1000; -Lbryio.getExchangeRates = function() { +Lbryio.getExchangeRates = () => { if ( !Lbryio.exchangeLastFetched || Date.now() - Lbryio.exchangeLastFetched > EXCHANGE_RATE_TIMEOUT @@ -33,7 +33,7 @@ Lbryio.getExchangeRates = function() { return Lbryio.exchangePromise; }; -Lbryio.call = function(resource, action, params = {}, method = 'get') { +Lbryio.call = (resource, action, params = {}, method = 'get') => { if (!Lbryio.enabled) { console.log(__('Internal API disabled')); return Promise.reject(new Error(__('LBRY internal API is disabled'))); @@ -54,7 +54,7 @@ Lbryio.call = function(resource, action, params = {}, method = 'get') { } else { error = new Error('Unknown API error signature'); } - error.response = response; // this is primarily a hack used in actions/user.js + error.response = response; // This is primarily a hack used in actions/user.js return Promise.reject(error); }); } @@ -109,7 +109,7 @@ Lbryio.setAuthToken = token => { Lbryio.getCurrentUser = () => Lbryio.call('user', 'me'); -Lbryio.authenticate = function() { +Lbryio.authenticate = () => { if (!Lbryio.enabled) { return new Promise(resolve => { resolve({ diff --git a/src/renderer/lbryuri.js b/src/renderer/lbryuri.js index d9ce508dc..3dc934770 100644 --- a/src/renderer/lbryuri.js +++ b/src/renderer/lbryuri.js @@ -28,7 +28,7 @@ Lbryuri.REGEXP_ADDRESS = /^b(?=[^0OIl]{32,33})[0-9A-Za-z]{32,33}$/; * - contentName (string): For anon claims, the name; for channel claims, the path * - channelName (string, if present): Channel name without @ */ -Lbryuri.parse = function(uri, requireProto = false) { +Lbryuri.parse = (uri, requireProto = false) => { // Break into components. Empty sub-matches are converted to null const componentsRegex = new RegExp( '^((?:lbry://)?)' + // protocol @@ -147,7 +147,7 @@ Lbryuri.parse = function(uri, requireProto = false) { * * The channelName key will accept names with or without the @ prefix. */ -Lbryuri.build = function(uriObj, includeProto = true) { +Lbryuri.build = (uriObj, includeProto = true) => { const { claimId, claimSequence, bidPosition, contentName, channelName } = uriObj; let { name, path } = uriObj; @@ -192,14 +192,14 @@ Lbryuri.build = function(uriObj, includeProto = true) { /* Takes a parseable LBRY URI and converts it to standard, canonical format (currently this just * consists of adding the lbry:// prefix if needed) */ -Lbryuri.normalize = function(uri) { +Lbryuri.normalize = uri => { if (uri.match(/pending_claim/)) return uri; const { name, path, bidPosition, claimSequence, claimId } = Lbryuri.parse(uri); return Lbryuri.build({ name, path, claimSequence, bidPosition, claimId }); }; -Lbryuri.isValid = function(uri) { +Lbryuri.isValid = uri => { let parts; try { parts = Lbryuri.parse(Lbryuri.normalize(uri)); @@ -209,12 +209,12 @@ Lbryuri.isValid = function(uri) { return parts && parts.name; }; -Lbryuri.isValidName = function(name, checkCase = true) { +Lbryuri.isValidName = (name, checkCase = true) => { const regexp = new RegExp('^[a-z0-9-]+$', checkCase ? '' : 'i'); return regexp.test(name); }; -Lbryuri.isClaimable = function(uri) { +Lbryuri.isClaimable = uri => { let parts; try { parts = Lbryuri.parse(Lbryuri.normalize(uri)); diff --git a/src/renderer/redux/actions/app.js b/src/renderer/redux/actions/app.js index 3eb7b74ed..2ecc1dcaf 100644 --- a/src/renderer/redux/actions/app.js +++ b/src/renderer/redux/actions/app.js @@ -1,23 +1,24 @@ +/* eslint-disable import/no-commonjs */ import * as ACTIONS from 'constants/action_types'; +import * as MODALS from 'constants/modal_types'; +import { ipcRenderer, remote } from 'electron'; import Lbry from 'lbry'; +import Path from 'path'; +import { doFetchRewardedContent } from 'redux/actions/content'; +import { doFetchFileInfosAndPublishedClaims } from 'redux/actions/file_info'; +import { doAuthNavigate } from 'redux/actions/navigation'; +import { doFetchDaemonSettings } from 'redux/actions/settings'; +import { doAuthenticate } from 'redux/actions/user'; +import { doBalanceSubscribe } from 'redux/actions/wallet'; import { - selectUpdateUrl, - selectUpgradeDownloadPath, - selectUpgradeDownloadItem, - selectUpgradeFilename, + selectCurrentModal, selectIsUpgradeSkipped, selectRemoteVersion, - selectCurrentModal, + selectUpdateUrl, + selectUpgradeDownloadItem, + selectUpgradeDownloadPath, + selectUpgradeFilename, } from 'redux/selectors/app'; -import { doFetchDaemonSettings } from 'redux/actions/settings'; -import { doBalanceSubscribe } from 'redux/actions/wallet'; -import { doAuthenticate } from 'redux/actions/user'; -import { doFetchFileInfosAndPublishedClaims } from 'redux/actions/file_info'; -import * as MODALS from 'constants/modal_types'; -import { doFetchRewardedContent } from 'redux/actions/content'; -import { doAuthNavigate } from 'redux/actions/navigation'; -import { remote, ipcRenderer } from 'electron'; -import Path from 'path'; const { download } = remote.require('electron-dl'); const Fs = remote.require('fs'); @@ -57,7 +58,7 @@ export function doSkipUpgrade() { } export function doStartUpgrade() { - return function(dispatch, getState) { + return (dispatch, getState) => { const state = getState(); const upgradeDownloadPath = selectUpgradeDownloadPath(state); @@ -66,7 +67,7 @@ export function doStartUpgrade() { } export function doDownloadUpgrade() { - return function(dispatch, getState) { + return (dispatch, getState) => { const state = getState(); // Make a new directory within temp directory so the filename is guaranteed to be available const dir = Fs.mkdtempSync(remote.app.getPath('temp') + Path.sep); @@ -105,7 +106,7 @@ export function doDownloadUpgrade() { } export function doCancelUpgrade() { - return function(dispatch, getState) { + return (dispatch, getState) => { const state = getState(); const upgradeDownloadItem = selectUpgradeDownloadItem(state); @@ -128,7 +129,7 @@ export function doCancelUpgrade() { } export function doCheckUpgradeAvailable() { - return function(dispatch, getState) { + return (dispatch, getState) => { const state = getState(); dispatch({ type: ACTIONS.CHECK_UPGRADE_START, @@ -171,7 +172,7 @@ export function doCheckUpgradeAvailable() { Initiate a timer that will check for an app upgrade every 10 minutes. */ export function doCheckUpgradeSubscribe() { - return function(dispatch) { + return dispatch => { const checkUpgradeTimer = setInterval( () => dispatch(doCheckUpgradeAvailable()), CHECK_UPGRADE_INTERVAL @@ -184,7 +185,7 @@ export function doCheckUpgradeSubscribe() { } export function doCheckDaemonVersion() { - return function(dispatch) { + return dispatch => { Lbry.version().then(({ lbrynet_version: lbrynetVersion }) => { dispatch({ type: @@ -197,7 +198,7 @@ export function doCheckDaemonVersion() { } export function doAlertError(errorList) { - return function(dispatch) { + return dispatch => { dispatch({ type: ACTIONS.OPEN_MODAL, data: { @@ -209,7 +210,7 @@ export function doAlertError(errorList) { } export function doDaemonReady() { - return function(dispatch, getState) { + return (dispatch, getState) => { const state = getState(); dispatch(doAuthenticate()); @@ -239,7 +240,7 @@ export function doRemoveSnackBarSnack() { } export function doClearCache() { - return function() { + return () => { window.cacheStore.purge(); return Promise.resolve(); @@ -247,13 +248,13 @@ export function doClearCache() { } export function doQuit() { - return function() { + return () => { remote.app.quit(); }; } export function doChangeVolume(volume) { - return function(dispatch) { + return dispatch => { dispatch({ type: ACTIONS.VOLUME_CHANGED, data: { @@ -264,7 +265,7 @@ export function doChangeVolume(volume) { } export function doConditionalAuthNavigate(newSession) { - return function(dispatch, getState) { + return (dispatch, getState) => { const state = getState(); if (newSession || selectCurrentModal(state) !== 'email_collection') { dispatch(doAuthNavigate()); diff --git a/src/renderer/redux/actions/availability.js b/src/renderer/redux/actions/availability.js index 2382cbbf8..01ae46ab6 100644 --- a/src/renderer/redux/actions/availability.js +++ b/src/renderer/redux/actions/availability.js @@ -1,6 +1,6 @@ // eslint-disable-next-line import/prefer-default-export export function doFetchAvailability() { - return function() { + return () => { /* this is disabled atm - Jeremy */ diff --git a/src/renderer/redux/actions/content.js b/src/renderer/redux/actions/content.js index 6a6e46f04..7ed21e4f1 100644 --- a/src/renderer/redux/actions/content.js +++ b/src/renderer/redux/actions/content.js @@ -1,31 +1,31 @@ -import { ipcRenderer } from 'electron'; import * as ACTIONS from 'constants/action_types'; +import * as MODALS from 'constants/modal_types'; import * as SETTINGS from 'constants/settings'; +import { ipcRenderer } from 'electron'; import Lbry from 'lbry'; import Lbryio from 'lbryio'; import Lbryuri from 'lbryuri'; -import { makeSelectClientSetting } from 'redux/selectors/settings'; +import { doAlertError, doOpenModal } from 'redux/actions/app'; +import { doClaimEligiblePurchaseRewards } from 'redux/actions/rewards'; +import { selectBadgeNumber } from 'redux/selectors/app'; import { selectMyClaimsRaw } from 'redux/selectors/claims'; -import { selectBalance } from 'redux/selectors/wallet'; +import { selectResolvingUris } from 'redux/selectors/content'; +import { makeSelectCostInfoForUri } from 'redux/selectors/cost_info'; import { makeSelectFileInfoForUri, selectDownloadingByOutpoint, selectTotalDownloadProgress, } from 'redux/selectors/file_info'; -import { selectResolvingUris } from 'redux/selectors/content'; -import { makeSelectCostInfoForUri } from 'redux/selectors/cost_info'; -import { doAlertError, doOpenModal } from 'redux/actions/app'; -import { doClaimEligiblePurchaseRewards } from 'redux/actions/rewards'; -import { selectBadgeNumber } from 'redux/selectors/app'; +import { makeSelectClientSetting } from 'redux/selectors/settings'; +import { selectBalance } from 'redux/selectors/wallet'; +import batchActions from 'util/batchActions'; import setBadge from 'util/setBadge'; import setProgressBar from 'util/setProgressBar'; -import batchActions from 'util/batchActions'; -import * as MODALS from 'constants/modal_types'; const DOWNLOAD_POLL_INTERVAL = 250; export function doResolveUris(uris) { - return function(dispatch, getState) { + return (dispatch, getState) => { const normalizedUris = uris.map(Lbryuri.normalize); const state = getState(); @@ -70,7 +70,7 @@ export function doResolveUri(uri) { } export function doFetchFeaturedUris() { - return function(dispatch) { + return dispatch => { dispatch({ type: ACTIONS.FETCH_FEATURED_CONTENT_STARTED, }); @@ -108,7 +108,7 @@ export function doFetchFeaturedUris() { } export function doFetchRewardedContent() { - return function(dispatch) { + return dispatch => { const success = nameToClaimId => { dispatch({ type: ACTIONS.FETCH_REWARD_CONTENT_COMPLETED, @@ -134,7 +134,7 @@ export function doFetchRewardedContent() { } export function doUpdateLoadStatus(uri, outpoint) { - return function(dispatch, getState) { + return (dispatch, getState) => { Lbry.file_list({ outpoint, full_status: true, @@ -196,7 +196,7 @@ export function doUpdateLoadStatus(uri, outpoint) { } export function doStartDownload(uri, outpoint) { - return function(dispatch, getState) { + return (dispatch, getState) => { const state = getState(); if (!outpoint) { @@ -223,7 +223,7 @@ export function doStartDownload(uri, outpoint) { } export function doDownloadFile(uri, streamInfo) { - return function(dispatch) { + return dispatch => { dispatch(doStartDownload(uri, streamInfo.outpoint)); Lbryio.call('file', 'view', { @@ -237,7 +237,7 @@ export function doDownloadFile(uri, streamInfo) { } export function doSetPlayingUri(uri) { - return function(dispatch) { + return dispatch => { dispatch({ type: ACTIONS.SET_PLAYING_URI, data: { uri }, @@ -246,7 +246,7 @@ export function doSetPlayingUri(uri) { } export function doLoadVideo(uri) { - return function(dispatch) { + return dispatch => { dispatch({ type: ACTIONS.LOADING_VIDEO_STARTED, data: { @@ -289,7 +289,7 @@ export function doLoadVideo(uri) { } export function doPurchaseUri(uri) { - return function(dispatch, getState) { + return (dispatch, getState) => { const state = getState(); const balance = selectBalance(state); const fileInfo = makeSelectFileInfoForUri(uri)(state); @@ -348,7 +348,7 @@ export function doPurchaseUri(uri) { } export function doFetchClaimsByChannel(uri, page) { - return function(dispatch) { + return dispatch => { dispatch({ type: ACTIONS.FETCH_CHANNEL_CLAIMS_STARTED, data: { uri, page }, @@ -371,7 +371,7 @@ export function doFetchClaimsByChannel(uri, page) { } export function doFetchClaimCountByChannel(uri) { - return function(dispatch) { + return dispatch => { dispatch({ type: ACTIONS.FETCH_CHANNEL_CLAIM_COUNT_STARTED, data: { uri }, @@ -393,7 +393,7 @@ export function doFetchClaimCountByChannel(uri) { } export function doFetchClaimListMine() { - return function(dispatch) { + return dispatch => { dispatch({ type: ACTIONS.FETCH_CLAIM_LIST_MINE_STARTED, }); @@ -410,14 +410,14 @@ export function doFetchClaimListMine() { } export function doPlayUri(uri) { - return function(dispatch) { + return dispatch => { dispatch(doSetPlayingUri(uri)); dispatch(doPurchaseUri(uri)); }; } export function doFetchChannelListMine() { - return function(dispatch) { + return dispatch => { dispatch({ type: ACTIONS.FETCH_CHANNEL_LIST_MINE_STARTED, }); @@ -434,7 +434,7 @@ export function doFetchChannelListMine() { } export function doCreateChannel(name, amount) { - return function(dispatch) { + return dispatch => { dispatch({ type: ACTIONS.CREATE_CHANNEL_STARTED, }); @@ -462,8 +462,8 @@ export function doCreateChannel(name, amount) { } export function doPublish(params) { - return function(dispatch) { - return new Promise((resolve, reject) => { + return dispatch => + new Promise((resolve, reject) => { const success = claim => { resolve(claim); @@ -477,11 +477,10 @@ export function doPublish(params) { Lbry.publishDeprecated(params, null, success, failure); }); - }; } export function doAbandonClaim(txid, nout) { - return function(dispatch, getState) { + return (dispatch, getState) => { const state = getState(); const myClaims = selectMyClaimsRaw(state); const { claim_id: claimId, name } = myClaims.find( diff --git a/src/renderer/redux/actions/cost_info.js b/src/renderer/redux/actions/cost_info.js index acd0dc8cc..7e9966f05 100644 --- a/src/renderer/redux/actions/cost_info.js +++ b/src/renderer/redux/actions/cost_info.js @@ -4,7 +4,7 @@ import { selectClaimsByUri } from 'redux/selectors/claims'; // eslint-disable-next-line import/prefer-default-export export function doFetchCostInfoForUri(uri) { - return function(dispatch, getState) { + return (dispatch, getState) => { const state = getState(); const claim = selectClaimsByUri(state)[uri]; diff --git a/src/renderer/redux/actions/file_info.js b/src/renderer/redux/actions/file_info.js index d18bd2533..9ed4c9a6f 100644 --- a/src/renderer/redux/actions/file_info.js +++ b/src/renderer/redux/actions/file_info.js @@ -1,25 +1,25 @@ import * as ACTIONS from 'constants/action_types'; +import { shell } from 'electron'; import Lbry from 'lbry'; -import { doFetchClaimListMine, doAbandonClaim } from 'redux/actions/content'; +import { doCloseModal } from 'redux/actions/app'; +import { doAbandonClaim, doFetchClaimListMine } from 'redux/actions/content'; +import { doHistoryBack } from 'redux/actions/navigation'; import { selectClaimsByUri, selectIsFetchingClaimListMine, selectMyClaimsOutpoints, } from 'redux/selectors/claims'; import { - selectIsFetchingFileList, selectFileInfosByOutpoint, - selectUrisLoading, + selectIsFetchingFileList, selectTotalDownloadProgress, + selectUrisLoading, } from 'redux/selectors/file_info'; -import { doCloseModal } from 'redux/actions/app'; -import { doHistoryBack } from 'redux/actions/navigation'; -import setProgressBar from 'util/setProgressBar'; import batchActions from 'util/batchActions'; -import { shell } from 'electron'; +import setProgressBar from 'util/setProgressBar'; export function doFetchFileInfo(uri) { - return function(dispatch, getState) { + return (dispatch, getState) => { const state = getState(); const claim = selectClaimsByUri(state)[uri]; const outpoint = claim ? `${claim.txid}:${claim.nout}` : null; @@ -47,7 +47,7 @@ export function doFetchFileInfo(uri) { } export function doFileList() { - return function(dispatch, getState) { + return (dispatch, getState) => { const state = getState(); const isFetching = selectIsFetchingFileList(state); @@ -69,13 +69,13 @@ export function doFileList() { } export function doOpenFileInFolder(path) { - return function() { + return () => { shell.showItemInFolder(path); }; } export function doOpenFileInShell(path) { - return function(dispatch) { + return dispatch => { const success = shell.openItem(path); if (!success) { dispatch(doOpenFileInFolder(path)); @@ -84,7 +84,7 @@ export function doOpenFileInShell(path) { } export function doDeleteFile(outpoint, deleteFromComputer, abandonClaim) { - return function(dispatch, getState) { + return (dispatch, getState) => { const state = getState(); Lbry.file_delete({ @@ -92,7 +92,7 @@ export function doDeleteFile(outpoint, deleteFromComputer, abandonClaim) { delete_from_download_dir: deleteFromComputer, }); - // If the file is for a claim we published then also abandom the claim + // If the file is for a claim we published then also abandon the claim const myClaimsOutpoints = selectMyClaimsOutpoints(state); if (abandonClaim && myClaimsOutpoints.indexOf(outpoint) !== -1) { const byOutpoint = selectFileInfosByOutpoint(state); @@ -119,7 +119,7 @@ export function doDeleteFile(outpoint, deleteFromComputer, abandonClaim) { } export function doDeleteFileAndGoBack(fileInfo, deleteFromComputer, abandonClaim) { - return function(dispatch) { + return dispatch => { const actions = []; actions.push(doCloseModal()); actions.push(doHistoryBack()); @@ -129,7 +129,7 @@ export function doDeleteFileAndGoBack(fileInfo, deleteFromComputer, abandonClaim } export function doFetchFileInfosAndPublishedClaims() { - return function(dispatch, getState) { + return (dispatch, getState) => { const state = getState(); const isFetchingClaimListMine = selectIsFetchingClaimListMine(state); const isFetchingFileInfo = selectIsFetchingFileList(state); diff --git a/src/renderer/redux/actions/navigation.js b/src/renderer/redux/actions/navigation.js index ec18f9852..78e874376 100644 --- a/src/renderer/redux/actions/navigation.js +++ b/src/renderer/redux/actions/navigation.js @@ -1,9 +1,9 @@ import * as ACTIONS from 'constants/action_types'; -import { selectHistoryStack, selectHistoryIndex } from 'redux/selectors/navigation'; +import { selectHistoryIndex, selectHistoryStack } from 'redux/selectors/navigation'; import { toQueryString } from 'util/query_params'; export function doNavigate(path, params = {}, options = {}) { - return function(dispatch) { + return dispatch => { if (!path) { return; } @@ -23,7 +23,7 @@ export function doNavigate(path, params = {}, options = {}) { } export function doAuthNavigate(pathAfterAuth = null, params = {}) { - return function(dispatch) { + return dispatch => { if (pathAfterAuth) { dispatch({ type: ACTIONS.CHANGE_AFTER_AUTH_PATH, @@ -47,19 +47,15 @@ export function doHistoryTraverse(dispatch, state, modifier) { } export function doHistoryBack() { - return function(dispatch, getState) { - return doHistoryTraverse(dispatch, getState(), -1); - }; + return (dispatch, getState) => doHistoryTraverse(dispatch, getState(), -1); } export function doHistoryForward() { - return function(dispatch, getState) { - return doHistoryTraverse(dispatch, getState(), 1); - }; + return (dispatch, getState) => doHistoryTraverse(dispatch, getState(), 1); } export function doRecordScroll(scroll) { - return function(dispatch) { + return dispatch => { dispatch({ type: ACTIONS.WINDOW_SCROLLED, data: { scrollY: scroll }, diff --git a/src/renderer/redux/actions/rewards.js b/src/renderer/redux/actions/rewards.js index 4c4a278cd..e5067f5b0 100644 --- a/src/renderer/redux/actions/rewards.js +++ b/src/renderer/redux/actions/rewards.js @@ -1,12 +1,12 @@ import * as ACTIONS from 'constants/action_types'; import * as MODALS from 'constants/modal_types'; import Lbryio from 'lbryio'; -import rewards from 'rewards'; import { selectUnclaimedRewardsByType } from 'redux/selectors/rewards'; import { selectUserIsRewardApproved } from 'redux/selectors/user'; +import rewards from 'rewards'; export function doRewardList() { - return function(dispatch) { + return dispatch => { dispatch({ type: ACTIONS.FETCH_REWARDS_STARTED, }); @@ -28,7 +28,7 @@ export function doRewardList() { } export function doClaimRewardType(rewardType) { - return function(dispatch, getState) { + return (dispatch, getState) => { const state = getState(); const rewardsByType = selectUnclaimedRewardsByType(state); const reward = rewardsByType[rewardType]; @@ -80,7 +80,7 @@ export function doClaimRewardType(rewardType) { } export function doClaimEligiblePurchaseRewards() { - return function(dispatch, getState) { + return (dispatch, getState) => { const state = getState(); const rewardsByType = selectUnclaimedRewardsByType(state); const userIsRewardApproved = selectUserIsRewardApproved(state); @@ -100,7 +100,7 @@ export function doClaimEligiblePurchaseRewards() { } export function doClaimRewardClearError(reward) { - return function(dispatch) { + return dispatch => { dispatch({ type: ACTIONS.CLAIM_REWARD_CLEAR_ERROR, data: { reward }, diff --git a/src/renderer/redux/actions/search.js b/src/renderer/redux/actions/search.js index 66de54ef1..277b5cbe4 100644 --- a/src/renderer/redux/actions/search.js +++ b/src/renderer/redux/actions/search.js @@ -7,7 +7,7 @@ import batchActions from 'util/batchActions'; // eslint-disable-next-line import/prefer-default-export export function doSearch(rawQuery) { - return function(dispatch, getState) { + return (dispatch, getState) => { const state = getState(); const page = selectCurrentPage(state); diff --git a/src/renderer/redux/actions/settings.js b/src/renderer/redux/actions/settings.js index 54af9e300..7f0209132 100644 --- a/src/renderer/redux/actions/settings.js +++ b/src/renderer/redux/actions/settings.js @@ -6,7 +6,7 @@ import Http from 'http'; import Lbry from 'lbry'; export function doFetchDaemonSettings() { - return function(dispatch) { + return dispatch => { Lbry.settings_get().then(settings => { dispatch({ type: ACTIONS.DAEMON_SETTINGS_RECEIVED, @@ -19,7 +19,7 @@ export function doFetchDaemonSettings() { } export function doSetDaemonSetting(key, value) { - return function(dispatch) { + return dispatch => { const newSettings = {}; newSettings[key] = value; Lbry.settings_set(newSettings).then(newSettings); @@ -45,14 +45,14 @@ export function doSetClientSetting(key, value) { } export function doGetThemes() { - return function(dispatch) { + return dispatch => { const themes = ['light', 'dark']; dispatch(doSetClientSetting(SETTINGS.THEMES, themes)); }; } export function doDownloadLanguage(langFile) { - return function(dispatch) { + return dispatch => { const destinationPath = `${app.i18n.directory}/${langFile}`; const language = langFile.replace('.json', ''); const errorHandler = () => { @@ -105,7 +105,7 @@ export function doDownloadLanguage(langFile) { } export function doDownloadLanguages() { - return function() { + return () => { // temporarily disable i18n so I can get a working build out -- Jeremy // if (!Fs.existsSync(app.i18n.directory)) { // Fs.mkdirSync(app.i18n.directory); @@ -135,7 +135,7 @@ export function doDownloadLanguages() { } export function doChangeLanguage(language) { - return function(dispatch) { + return dispatch => { dispatch(doSetClientSetting(SETTINGS.LANGUAGE, language)); app.i18n.setLocale(language); }; diff --git a/src/renderer/redux/actions/user.js b/src/renderer/redux/actions/user.js index 32d9fafc8..f0506ff65 100644 --- a/src/renderer/redux/actions/user.js +++ b/src/renderer/redux/actions/user.js @@ -2,12 +2,12 @@ import * as ACTIONS from 'constants/action_types'; import * as MODALS from 'constants/modal_types'; import Lbryio from 'lbryio'; import { doOpenModal, doShowSnackBar } from 'redux/actions/app'; -import { doRewardList, doClaimRewardType } from 'redux/actions/rewards'; +import { doClaimRewardType, doRewardList } from 'redux/actions/rewards'; import { selectEmailToVerify } from 'redux/selectors/user'; import rewards from 'rewards'; export function doFetchInviteStatus() { - return function(dispatch) { + return dispatch => { dispatch({ type: ACTIONS.USER_INVITE_STATUS_FETCH_STARTED, }); @@ -32,7 +32,7 @@ export function doFetchInviteStatus() { } export function doAuthenticate() { - return function(dispatch) { + return dispatch => { dispatch({ type: ACTIONS.AUTHENTICATION_STARTED, }); @@ -56,7 +56,7 @@ export function doAuthenticate() { } export function doUserFetch() { - return function(dispatch) { + return dispatch => { dispatch({ type: ACTIONS.USER_FETCH_STARTED, }); @@ -79,7 +79,7 @@ export function doUserFetch() { } export function doUserEmailNew(email) { - return function(dispatch) { + return dispatch => { dispatch({ type: ACTIONS.USER_EMAIL_NEW_STARTED, email, @@ -124,7 +124,7 @@ export function doUserEmailVerifyFailure(error) { } export function doUserEmailVerify(verificationToken, recaptcha) { - return function(dispatch, getState) { + return (dispatch, getState) => { const email = selectEmailToVerify(getState()); dispatch({ @@ -160,7 +160,7 @@ export function doUserEmailVerify(verificationToken, recaptcha) { } export function doUserIdentityVerify(stripeToken) { - return function(dispatch) { + return dispatch => { dispatch({ type: ACTIONS.USER_IDENTITY_VERIFY_STARTED, token: stripeToken, @@ -188,7 +188,7 @@ export function doUserIdentityVerify(stripeToken) { } export function doFetchAccessToken() { - return function(dispatch) { + return dispatch => { const success = token => dispatch({ type: ACTIONS.FETCH_ACCESS_TOKEN_SUCCESS, @@ -199,7 +199,7 @@ export function doFetchAccessToken() { } export function doUserInviteNew(email) { - return function(dispatch) { + return dispatch => { dispatch({ type: ACTIONS.USER_INVITE_NEW_STARTED, }); diff --git a/src/renderer/redux/actions/wallet.js b/src/renderer/redux/actions/wallet.js index 60ffbef84..9976c98ff 100644 --- a/src/renderer/redux/actions/wallet.js +++ b/src/renderer/redux/actions/wallet.js @@ -1,16 +1,16 @@ import * as ACTIONS from 'constants/action_types'; +import * as MODALS from 'constants/modal_types'; import Lbry from 'lbry'; -import { - selectDraftTransaction, - selectDraftTransactionAmount, - selectBalance, -} from 'redux/selectors/wallet'; import { doOpenModal, doShowSnackBar } from 'redux/actions/app'; import { doNavigate } from 'redux/actions/navigation'; -import * as MODALS from 'constants/modal_types'; +import { + selectBalance, + selectDraftTransaction, + selectDraftTransactionAmount, +} from 'redux/selectors/wallet'; export function doUpdateBalance() { - return function(dispatch) { + return dispatch => { Lbry.wallet_balance().then(balance => dispatch({ type: ACTIONS.UPDATE_BALANCE, @@ -23,14 +23,14 @@ export function doUpdateBalance() { } export function doBalanceSubscribe() { - return function(dispatch) { + return dispatch => { dispatch(doUpdateBalance()); setInterval(() => dispatch(doUpdateBalance()), 5000); }; } export function doFetchTransactions() { - return function(dispatch) { + return dispatch => { dispatch({ type: ACTIONS.FETCH_TRANSACTIONS_STARTED, }); @@ -47,7 +47,7 @@ export function doFetchTransactions() { } export function doFetchBlock(height) { - return function(dispatch) { + return dispatch => { Lbry.block_show({ height }).then(block => { dispatch({ type: ACTIONS.FETCH_BLOCK_SUCCESS, @@ -58,7 +58,7 @@ export function doFetchBlock(height) { } export function doGetNewAddress() { - return function(dispatch) { + return dispatch => { dispatch({ type: ACTIONS.GET_NEW_ADDRESS_STARTED, }); @@ -74,7 +74,7 @@ export function doGetNewAddress() { } export function doCheckAddressIsMine(address) { - return function(dispatch) { + return dispatch => { dispatch({ type: ACTIONS.CHECK_ADDRESS_IS_MINE_STARTED, }); @@ -90,7 +90,7 @@ export function doCheckAddressIsMine(address) { } export function doSendDraftTransaction() { - return function(dispatch, getState) { + return (dispatch, getState) => { const state = getState(); const draftTx = selectDraftTransaction(state); const balance = selectBalance(state); @@ -156,7 +156,7 @@ export function doSetDraftTransactionAddress(address) { } export function doSendSupport(amount, claimId, uri) { - return function(dispatch, getState) { + return (dispatch, getState) => { const state = getState(); const balance = selectBalance(state); diff --git a/src/renderer/redux/reducers/app.js b/src/renderer/redux/reducers/app.js index c8a821fa8..87a588f3c 100644 --- a/src/renderer/redux/reducers/app.js +++ b/src/renderer/redux/reducers/app.js @@ -3,7 +3,7 @@ import * as ACTIONS from 'constants/action_types'; import * as MODALS from 'constants/modal_types'; -const { remote } = require('electron'); +import { remote } from 'electron'; const win = remote.BrowserWindow.getFocusedWindow(); @@ -56,48 +56,42 @@ const defaultState: AppState = { snackBar: undefined, }; -reducers[ACTIONS.DAEMON_READY] = function(state) { - return Object.assign({}, state, { +reducers[ACTIONS.DAEMON_READY] = state => + Object.assign({}, state, { daemonReady: true, }); -}; -reducers[ACTIONS.DAEMON_VERSION_MATCH] = function(state) { - return Object.assign({}, state, { +reducers[ACTIONS.DAEMON_VERSION_MATCH] = state => + Object.assign({}, state, { daemonVersionMatched: true, }); -}; -reducers[ACTIONS.DAEMON_VERSION_MISMATCH] = function(state) { - return Object.assign({}, state, { +reducers[ACTIONS.DAEMON_VERSION_MISMATCH] = state => + Object.assign({}, state, { daemonVersionMatched: false, modal: MODALS.INCOMPATIBLE_DAEMON, }); -}; -reducers[ACTIONS.UPGRADE_CANCELLED] = function(state) { - return Object.assign({}, state, { +reducers[ACTIONS.UPGRADE_CANCELLED] = state => + Object.assign({}, state, { downloadProgress: null, upgradeDownloadComplete: false, modal: null, }); -}; -reducers[ACTIONS.UPGRADE_DOWNLOAD_COMPLETED] = function(state, action) { - return Object.assign({}, state, { +reducers[ACTIONS.UPGRADE_DOWNLOAD_COMPLETED] = (state, action) => + Object.assign({}, state, { downloadPath: action.data.path, upgradeDownloading: false, upgradeDownloadCompleted: true, }); -}; -reducers[ACTIONS.UPGRADE_DOWNLOAD_STARTED] = function(state) { - return Object.assign({}, state, { +reducers[ACTIONS.UPGRADE_DOWNLOAD_STARTED] = state => + Object.assign({}, state, { upgradeDownloading: true, }); -}; -reducers[ACTIONS.SKIP_UPGRADE] = function(state) { +reducers[ACTIONS.SKIP_UPGRADE] = state => { sessionStorage.setItem('upgradeSkipped', 'true'); return Object.assign({}, state, { @@ -106,46 +100,40 @@ reducers[ACTIONS.SKIP_UPGRADE] = function(state) { }); }; -reducers[ACTIONS.UPDATE_VERSION] = function(state, action) { - return Object.assign({}, state, { +reducers[ACTIONS.UPDATE_VERSION] = (state, action) => + Object.assign({}, state, { version: action.data.version, }); -}; -reducers[ACTIONS.CHECK_UPGRADE_SUCCESS] = function(state, action) { - return Object.assign({}, state, { +reducers[ACTIONS.CHECK_UPGRADE_SUCCESS] = (state, action) => + Object.assign({}, state, { isUpgradeAvailable: action.data.upgradeAvailable, remoteVersion: action.data.remoteVersion, }); -}; -reducers[ACTIONS.CHECK_UPGRADE_SUBSCRIBE] = function(state, action) { - return Object.assign({}, state, { +reducers[ACTIONS.CHECK_UPGRADE_SUBSCRIBE] = (state, action) => + Object.assign({}, state, { checkUpgradeTimer: action.data.checkUpgradeTimer, }); -}; -reducers[ACTIONS.OPEN_MODAL] = function(state, action) { - return Object.assign({}, state, { +reducers[ACTIONS.OPEN_MODAL] = (state, action) => + Object.assign({}, state, { modal: action.data.modal, modalProps: action.data.modalProps || {}, }); -}; -reducers[ACTIONS.CLOSE_MODAL] = function(state) { - return Object.assign({}, state, { +reducers[ACTIONS.CLOSE_MODAL] = state => + Object.assign({}, state, { modal: undefined, modalProps: {}, }); -}; -reducers[ACTIONS.UPGRADE_DOWNLOAD_PROGRESSED] = function(state, action) { - return Object.assign({}, state, { +reducers[ACTIONS.UPGRADE_DOWNLOAD_PROGRESSED] = (state, action) => + Object.assign({}, state, { downloadProgress: action.data.percent, }); -}; -reducers[ACTIONS.SHOW_SNACKBAR] = function(state, action) { +reducers[ACTIONS.SHOW_SNACKBAR] = (state, action) => { const { message, linkText, linkTarget, isError } = action.data; const snackBar = Object.assign({}, state.snackBar); const snacks = Object.assign([], snackBar.snacks); @@ -164,7 +152,7 @@ reducers[ACTIONS.SHOW_SNACKBAR] = function(state, action) { }); }; -reducers[ACTIONS.REMOVE_SNACKBAR_SNACK] = function(state) { +reducers[ACTIONS.REMOVE_SNACKBAR_SNACK] = state => { const snackBar = Object.assign({}, state.snackBar); const snacks = Object.assign([], snackBar.snacks); snacks.shift(); @@ -178,7 +166,7 @@ reducers[ACTIONS.REMOVE_SNACKBAR_SNACK] = function(state) { }); }; -reducers[ACTIONS.DOWNLOADING_COMPLETED] = function(state) { +reducers[ACTIONS.DOWNLOADING_COMPLETED] = state => { const { badgeNumber } = state; // Don't update the badge number if the window is focused @@ -189,17 +177,15 @@ reducers[ACTIONS.DOWNLOADING_COMPLETED] = function(state) { }); }; -reducers[ACTIONS.WINDOW_FOCUSED] = function(state) { - return Object.assign({}, state, { +reducers[ACTIONS.WINDOW_FOCUSED] = state => + Object.assign({}, state, { badgeNumber: 0, }); -}; -reducers[ACTIONS.VOLUME_CHANGED] = function(state, action) { - return Object.assign({}, state, { +reducers[ACTIONS.VOLUME_CHANGED] = (state, action) => + Object.assign({}, state, { volume: action.data.volume, }); -}; export default function reducer(state: AppState = defaultState, action: any) { const handler = reducers[action.type]; diff --git a/src/renderer/redux/reducers/availability.js b/src/renderer/redux/reducers/availability.js index 48133ff50..27648ad4a 100644 --- a/src/renderer/redux/reducers/availability.js +++ b/src/renderer/redux/reducers/availability.js @@ -3,7 +3,7 @@ import * as ACTIONS from 'constants/action_types'; const reducers = {}; const defaultState = {}; -reducers[ACTIONS.FETCH_AVAILABILITY_STARTED] = function(state, action) { +reducers[ACTIONS.FETCH_AVAILABILITY_STARTED] = (state, action) => { const { uri } = action.data; const newFetching = Object.assign({}, state.fetching); @@ -14,7 +14,7 @@ reducers[ACTIONS.FETCH_AVAILABILITY_STARTED] = function(state, action) { }); }; -reducers[ACTIONS.FETCH_AVAILABILITY_COMPLETED] = function(state, action) { +reducers[ACTIONS.FETCH_AVAILABILITY_COMPLETED] = (state, action) => { const { uri, availability } = action.data; const newFetching = Object.assign({}, state.fetching); diff --git a/src/renderer/redux/reducers/claims.js b/src/renderer/redux/reducers/claims.js index 6547dd5f4..73eee7815 100644 --- a/src/renderer/redux/reducers/claims.js +++ b/src/renderer/redux/reducers/claims.js @@ -4,7 +4,7 @@ const reducers = {}; const defaultState = {}; -reducers[ACTIONS.RESOLVE_URIS_COMPLETED] = function(state, action) { +reducers[ACTIONS.RESOLVE_URIS_COMPLETED] = (state, action) => { const { resolveInfo } = action.data; const byUri = Object.assign({}, state.claimsByUri); const byId = Object.assign({}, state.byId); @@ -33,13 +33,12 @@ reducers[ACTIONS.RESOLVE_URIS_COMPLETED] = function(state, action) { }); }; -reducers[ACTIONS.FETCH_CLAIM_LIST_MINE_STARTED] = function(state) { - return Object.assign({}, state, { +reducers[ACTIONS.FETCH_CLAIM_LIST_MINE_STARTED] = state => + Object.assign({}, state, { isFetchingClaimListMine: true, }); -}; -reducers[ACTIONS.FETCH_CLAIM_LIST_MINE_COMPLETED] = function(state, action) { +reducers[ACTIONS.FETCH_CLAIM_LIST_MINE_COMPLETED] = (state, action) => { const { claims } = action.data; const byId = Object.assign({}, state.byId); const pendingById = Object.assign({}, state.pendingById); @@ -72,11 +71,10 @@ reducers[ACTIONS.FETCH_CLAIM_LIST_MINE_COMPLETED] = function(state, action) { }); }; -reducers[ACTIONS.FETCH_CHANNEL_LIST_MINE_STARTED] = function(state) { - return Object.assign({}, state, { fetchingMyChannels: true }); -}; +reducers[ACTIONS.FETCH_CHANNEL_LIST_MINE_STARTED] = state => + Object.assign({}, state, { fetchingMyChannels: true }); -reducers[ACTIONS.FETCH_CHANNEL_LIST_MINE_COMPLETED] = function(state, action) { +reducers[ACTIONS.FETCH_CHANNEL_LIST_MINE_COMPLETED] = (state, action) => { const { claims } = action.data; const myChannelClaims = new Set(state.myChannelClaims); const byId = Object.assign({}, state.byId); @@ -93,7 +91,7 @@ reducers[ACTIONS.FETCH_CHANNEL_LIST_MINE_COMPLETED] = function(state, action) { }); }; -reducers[ACTIONS.FETCH_CHANNEL_CLAIMS_STARTED] = function(state, action) { +reducers[ACTIONS.FETCH_CHANNEL_CLAIMS_STARTED] = (state, action) => { const { uri, page } = action.data; const fetchingChannelClaims = Object.assign({}, state.fetchingChannelClaims); @@ -104,7 +102,7 @@ reducers[ACTIONS.FETCH_CHANNEL_CLAIMS_STARTED] = function(state, action) { }); }; -reducers[ACTIONS.FETCH_CHANNEL_CLAIMS_COMPLETED] = function(state, action) { +reducers[ACTIONS.FETCH_CHANNEL_CLAIMS_COMPLETED] = (state, action) => { const { uri, claims, page } = action.data; const claimsByChannel = Object.assign({}, state.claimsByChannel); @@ -134,7 +132,7 @@ reducers[ACTIONS.FETCH_CHANNEL_CLAIMS_COMPLETED] = function(state, action) { }); }; -reducers[ACTIONS.ABANDON_CLAIM_STARTED] = function(state, action) { +reducers[ACTIONS.ABANDON_CLAIM_STARTED] = (state, action) => { const { claimId } = action.data; const abandoningById = Object.assign({}, state.abandoningById); @@ -145,7 +143,7 @@ reducers[ACTIONS.ABANDON_CLAIM_STARTED] = function(state, action) { }); }; -reducers[ACTIONS.ABANDON_CLAIM_SUCCEEDED] = function(state, action) { +reducers[ACTIONS.ABANDON_CLAIM_SUCCEEDED] = (state, action) => { const { claimId } = action.data; const byId = Object.assign({}, state.byId); const claimsByUri = Object.assign({}, state.claimsByUri); @@ -164,7 +162,7 @@ reducers[ACTIONS.ABANDON_CLAIM_SUCCEEDED] = function(state, action) { }); }; -reducers[ACTIONS.CREATE_CHANNEL_COMPLETED] = function(state, action) { +reducers[ACTIONS.CREATE_CHANNEL_COMPLETED] = (state, action) => { const { channelClaim } = action.data; const byId = Object.assign({}, state.byId); const myChannelClaims = new Set(state.myChannelClaims); diff --git a/src/renderer/redux/reducers/content.js b/src/renderer/redux/reducers/content.js index b16c911b1..e5242b599 100644 --- a/src/renderer/redux/reducers/content.js +++ b/src/renderer/redux/reducers/content.js @@ -7,13 +7,12 @@ const defaultState = { channelClaimCounts: {}, }; -reducers[ACTIONS.FETCH_FEATURED_CONTENT_STARTED] = function(state) { - return Object.assign({}, state, { +reducers[ACTIONS.FETCH_FEATURED_CONTENT_STARTED] = state => + Object.assign({}, state, { fetchingFeaturedContent: true, }); -}; -reducers[ACTIONS.FETCH_FEATURED_CONTENT_COMPLETED] = function(state, action) { +reducers[ACTIONS.FETCH_FEATURED_CONTENT_COMPLETED] = (state, action) => { const { uris, success } = action.data; return Object.assign({}, state, { @@ -23,7 +22,7 @@ reducers[ACTIONS.FETCH_FEATURED_CONTENT_COMPLETED] = function(state, action) { }); }; -reducers[ACTIONS.FETCH_REWARD_CONTENT_COMPLETED] = function(state, action) { +reducers[ACTIONS.FETCH_REWARD_CONTENT_COMPLETED] = (state, action) => { const { claimIds } = action.data; return Object.assign({}, state, { @@ -31,7 +30,7 @@ reducers[ACTIONS.FETCH_REWARD_CONTENT_COMPLETED] = function(state, action) { }); }; -reducers[ACTIONS.RESOLVE_URIS_STARTED] = function(state, action) { +reducers[ACTIONS.RESOLVE_URIS_STARTED] = (state, action) => { const { uris } = action.data; const oldResolving = state.resolvingUris || []; @@ -48,7 +47,7 @@ reducers[ACTIONS.RESOLVE_URIS_STARTED] = function(state, action) { }); }; -reducers[ACTIONS.RESOLVE_URIS_COMPLETED] = function(state, action) { +reducers[ACTIONS.RESOLVE_URIS_COMPLETED] = (state, action) => { const { resolveInfo } = action.data; const channelClaimCounts = Object.assign({}, state.channelClaimCounts); @@ -69,7 +68,7 @@ reducers[ACTIONS.SET_PLAYING_URI] = (state, action) => playingUri: action.data.uri, }); -reducers[ACTIONS.FETCH_CHANNEL_CLAIM_COUNT_COMPLETED] = function(state, action) { +reducers[ACTIONS.FETCH_CHANNEL_CLAIM_COUNT_COMPLETED] = (state, action) => { const channelClaimCounts = Object.assign({}, state.channelClaimCounts); const { uri, totalClaims } = action.data; diff --git a/src/renderer/redux/reducers/cost_info.js b/src/renderer/redux/reducers/cost_info.js index 18c6214ac..4137bb83f 100644 --- a/src/renderer/redux/reducers/cost_info.js +++ b/src/renderer/redux/reducers/cost_info.js @@ -3,7 +3,7 @@ import * as ACTIONS from 'constants/action_types'; const reducers = {}; const defaultState = {}; -reducers[ACTIONS.FETCH_COST_INFO_STARTED] = function(state, action) { +reducers[ACTIONS.FETCH_COST_INFO_STARTED] = (state, action) => { const { uri } = action.data; const newFetching = Object.assign({}, state.fetching); newFetching[uri] = true; @@ -13,7 +13,7 @@ reducers[ACTIONS.FETCH_COST_INFO_STARTED] = function(state, action) { }); }; -reducers[ACTIONS.FETCH_COST_INFO_COMPLETED] = function(state, action) { +reducers[ACTIONS.FETCH_COST_INFO_COMPLETED] = (state, action) => { const { uri, costInfo } = action.data; const newByUri = Object.assign({}, state.byUri); const newFetching = Object.assign({}, state.fetching); diff --git a/src/renderer/redux/reducers/file_info.js b/src/renderer/redux/reducers/file_info.js index 25ae15546..0d9ed2431 100644 --- a/src/renderer/redux/reducers/file_info.js +++ b/src/renderer/redux/reducers/file_info.js @@ -3,13 +3,12 @@ import * as ACTIONS from 'constants/action_types'; const reducers = {}; const defaultState = {}; -reducers[ACTIONS.FILE_LIST_STARTED] = function(state) { - return Object.assign({}, state, { +reducers[ACTIONS.FILE_LIST_STARTED] = state => + Object.assign({}, state, { isFetchingFileList: true, }); -}; -reducers[ACTIONS.FILE_LIST_SUCCEEDED] = function(state, action) { +reducers[ACTIONS.FILE_LIST_SUCCEEDED] = (state, action) => { const { fileInfos } = action.data; const newByOutpoint = Object.assign({}, state.byOutpoint); const pendingByOutpoint = Object.assign({}, state.pendingByOutpoint); @@ -27,7 +26,7 @@ reducers[ACTIONS.FILE_LIST_SUCCEEDED] = function(state, action) { }); }; -reducers[ACTIONS.FETCH_FILE_INFO_STARTED] = function(state, action) { +reducers[ACTIONS.FETCH_FILE_INFO_STARTED] = (state, action) => { const { outpoint } = action.data; const newFetching = Object.assign({}, state.fetching); @@ -38,7 +37,7 @@ reducers[ACTIONS.FETCH_FILE_INFO_STARTED] = function(state, action) { }); }; -reducers[ACTIONS.FETCH_FILE_INFO_COMPLETED] = function(state, action) { +reducers[ACTIONS.FETCH_FILE_INFO_COMPLETED] = (state, action) => { const { fileInfo, outpoint } = action.data; const newByOutpoint = Object.assign({}, state.byOutpoint); @@ -53,7 +52,7 @@ reducers[ACTIONS.FETCH_FILE_INFO_COMPLETED] = function(state, action) { }); }; -reducers[ACTIONS.DOWNLOADING_STARTED] = function(state, action) { +reducers[ACTIONS.DOWNLOADING_STARTED] = (state, action) => { const { uri, outpoint, fileInfo } = action.data; const newByOutpoint = Object.assign({}, state.byOutpoint); @@ -71,7 +70,7 @@ reducers[ACTIONS.DOWNLOADING_STARTED] = function(state, action) { }); }; -reducers[ACTIONS.DOWNLOADING_PROGRESSED] = function(state, action) { +reducers[ACTIONS.DOWNLOADING_PROGRESSED] = (state, action) => { const { outpoint, fileInfo } = action.data; const newByOutpoint = Object.assign({}, state.byOutpoint); @@ -86,7 +85,7 @@ reducers[ACTIONS.DOWNLOADING_PROGRESSED] = function(state, action) { }); }; -reducers[ACTIONS.DOWNLOADING_COMPLETED] = function(state, action) { +reducers[ACTIONS.DOWNLOADING_COMPLETED] = (state, action) => { const { outpoint, fileInfo } = action.data; const newByOutpoint = Object.assign({}, state.byOutpoint); @@ -101,7 +100,7 @@ reducers[ACTIONS.DOWNLOADING_COMPLETED] = function(state, action) { }); }; -reducers[ACTIONS.FILE_DELETE] = function(state, action) { +reducers[ACTIONS.FILE_DELETE] = (state, action) => { const { outpoint } = action.data; const newByOutpoint = Object.assign({}, state.byOutpoint); @@ -116,7 +115,7 @@ reducers[ACTIONS.FILE_DELETE] = function(state, action) { }); }; -reducers[ACTIONS.LOADING_VIDEO_STARTED] = function(state, action) { +reducers[ACTIONS.LOADING_VIDEO_STARTED] = (state, action) => { const { uri } = action.data; const newLoading = Object.assign({}, state.urisLoading); @@ -128,7 +127,7 @@ reducers[ACTIONS.LOADING_VIDEO_STARTED] = function(state, action) { }); }; -reducers[ACTIONS.LOADING_VIDEO_FAILED] = function(state, action) { +reducers[ACTIONS.LOADING_VIDEO_FAILED] = (state, action) => { const { uri } = action.data; const newLoading = Object.assign({}, state.urisLoading); @@ -140,7 +139,7 @@ reducers[ACTIONS.LOADING_VIDEO_FAILED] = function(state, action) { }); }; -reducers[ACTIONS.FETCH_DATE] = function(state, action) { +reducers[ACTIONS.FETCH_DATE] = (state, action) => { const { time } = action.data; if (time) { return Object.assign({}, state, { diff --git a/src/renderer/redux/reducers/navigation.js b/src/renderer/redux/reducers/navigation.js index 581fd52d2..e4544b4cc 100644 --- a/src/renderer/redux/reducers/navigation.js +++ b/src/renderer/redux/reducers/navigation.js @@ -14,7 +14,7 @@ const defaultState = { stack: [], }; -reducers[ACTIONS.DAEMON_READY] = function(state) { +reducers[ACTIONS.DAEMON_READY] = state => { const { currentPath } = state; return Object.assign({}, state, { @@ -22,11 +22,10 @@ reducers[ACTIONS.DAEMON_READY] = function(state) { }); }; -reducers[ACTIONS.CHANGE_AFTER_AUTH_PATH] = function(state, action) { - return Object.assign({}, state, { +reducers[ACTIONS.CHANGE_AFTER_AUTH_PATH] = (state, action) => + Object.assign({}, state, { pathAfterAuth: action.data.path, }); -}; reducers[ACTIONS.HISTORY_NAVIGATE] = (state, action) => { const { stack, index } = state; diff --git a/src/renderer/redux/reducers/rewards.js b/src/renderer/redux/reducers/rewards.js index f9a108f12..f2f42c004 100644 --- a/src/renderer/redux/reducers/rewards.js +++ b/src/renderer/redux/reducers/rewards.js @@ -9,13 +9,12 @@ const defaultState = { claimErrorsByType: {}, }; -reducers[ACTIONS.FETCH_REWARDS_STARTED] = function(state) { - return Object.assign({}, state, { +reducers[ACTIONS.FETCH_REWARDS_STARTED] = state => + Object.assign({}, state, { fetching: true, }); -}; -reducers[ACTIONS.FETCH_REWARDS_COMPLETED] = function(state, action) { +reducers[ACTIONS.FETCH_REWARDS_COMPLETED] = (state, action) => { const { userRewards } = action.data; const unclaimedRewards = {}; @@ -55,13 +54,13 @@ function setClaimRewardState(state, reward, isClaiming, errorMessage = '') { }); } -reducers[ACTIONS.CLAIM_REWARD_STARTED] = function(state, action) { +reducers[ACTIONS.CLAIM_REWARD_STARTED] = (state, action) => { const { reward } = action.data; return setClaimRewardState(state, reward, true, ''); }; -reducers[ACTIONS.CLAIM_REWARD_SUCCESS] = function(state, action) { +reducers[ACTIONS.CLAIM_REWARD_SUCCESS] = (state, action) => { const { reward } = action.data; const unclaimedRewardsByType = Object.assign({}, state.unclaimedRewardsByType); @@ -83,13 +82,13 @@ reducers[ACTIONS.CLAIM_REWARD_SUCCESS] = function(state, action) { return setClaimRewardState(newState, newReward, false, ''); }; -reducers[ACTIONS.CLAIM_REWARD_FAILURE] = function(state, action) { +reducers[ACTIONS.CLAIM_REWARD_FAILURE] = (state, action) => { const { reward, error } = action.data; return setClaimRewardState(state, reward, false, error ? error.message : ''); }; -reducers[ACTIONS.CLAIM_REWARD_CLEAR_ERROR] = function(state, action) { +reducers[ACTIONS.CLAIM_REWARD_CLEAR_ERROR] = (state, action) => { const { reward } = action.data; return setClaimRewardState(state, reward, state.claimPendingByType[reward.reward_type], ''); diff --git a/src/renderer/redux/reducers/search.js b/src/renderer/redux/reducers/search.js index 00764c2b7..b3a0754e4 100644 --- a/src/renderer/redux/reducers/search.js +++ b/src/renderer/redux/reducers/search.js @@ -6,13 +6,12 @@ const defaultState = { searching: false, }; -reducers[ACTIONS.SEARCH_STARTED] = function(state) { - return Object.assign({}, state, { +reducers[ACTIONS.SEARCH_STARTED] = state => + Object.assign({}, state, { searching: true, }); -}; -reducers[ACTIONS.SEARCH_COMPLETED] = function(state, action) { +reducers[ACTIONS.SEARCH_COMPLETED] = (state, action) => { const { query, uris } = action.data; return Object.assign({}, state, { @@ -21,11 +20,10 @@ reducers[ACTIONS.SEARCH_COMPLETED] = function(state, action) { }); }; -reducers[ACTIONS.SEARCH_CANCELLED] = function(state) { - return Object.assign({}, state, { +reducers[ACTIONS.SEARCH_CANCELLED] = state => + Object.assign({}, state, { searching: false, }); -}; export default function reducer(state = defaultState, action) { const handler = reducers[action.type]; diff --git a/src/renderer/redux/reducers/settings.js b/src/renderer/redux/reducers/settings.js index b3cf5794a..914404bb1 100644 --- a/src/renderer/redux/reducers/settings.js +++ b/src/renderer/redux/reducers/settings.js @@ -1,6 +1,6 @@ import * as ACTIONS from 'constants/action_types'; -import * as SETTINGS from 'constants/settings'; import LANGUAGES from 'constants/languages'; +import * as SETTINGS from 'constants/settings'; function getLocalStorageSetting(setting, fallback) { const localStorageVal = localStorage.getItem(`setting_${setting}`); @@ -27,13 +27,12 @@ const defaultState = { languages: {}, }; -reducers[ACTIONS.DAEMON_SETTINGS_RECEIVED] = function(state, action) { - return Object.assign({}, state, { +reducers[ACTIONS.DAEMON_SETTINGS_RECEIVED] = (state, action) => + Object.assign({}, state, { daemonSettings: action.data.settings, }); -}; -reducers[ACTIONS.CLIENT_SETTING_CHANGED] = function(state, action) { +reducers[ACTIONS.CLIENT_SETTING_CHANGED] = (state, action) => { const { key, value } = action.data; const clientSettings = Object.assign({}, state.clientSettings); @@ -47,7 +46,7 @@ reducers[ACTIONS.CLIENT_SETTING_CHANGED] = function(state, action) { }); }; -reducers[ACTIONS.DOWNLOAD_LANGUAGE_SUCCEEDED] = function(state, action) { +reducers[ACTIONS.DOWNLOAD_LANGUAGE_SUCCEEDED] = (state, action) => { const languages = Object.assign({}, state.languages); const { language } = action.data; @@ -62,7 +61,7 @@ reducers[ACTIONS.DOWNLOAD_LANGUAGE_SUCCEEDED] = function(state, action) { return Object.assign({}, state, { languages }); }; -reducers[ACTIONS.DOWNLOAD_LANGUAGE_FAILED] = function(state, action) { +reducers[ACTIONS.DOWNLOAD_LANGUAGE_FAILED] = (state, action) => { const languages = Object.assign({}, state.languages); delete languages[action.data.language]; return Object.assign({}, state, { languages }); diff --git a/src/renderer/redux/reducers/user.js b/src/renderer/redux/reducers/user.js index be8c5f1c7..f616dd1d1 100644 --- a/src/renderer/redux/reducers/user.js +++ b/src/renderer/redux/reducers/user.js @@ -16,59 +16,52 @@ const defaultState = { user: undefined, }; -reducers[ACTIONS.AUTHENTICATION_STARTED] = function(state) { - return Object.assign({}, state, { +reducers[ACTIONS.AUTHENTICATION_STARTED] = state => + Object.assign({}, state, { authenticationIsPending: true, userIsPending: true, user: defaultState.user, }); -}; -reducers[ACTIONS.AUTHENTICATION_SUCCESS] = function(state, action) { - return Object.assign({}, state, { +reducers[ACTIONS.AUTHENTICATION_SUCCESS] = (state, action) => + Object.assign({}, state, { authenticationIsPending: false, userIsPending: false, user: action.data.user, }); -}; -reducers[ACTIONS.AUTHENTICATION_FAILURE] = function(state) { - return Object.assign({}, state, { +reducers[ACTIONS.AUTHENTICATION_FAILURE] = state => + Object.assign({}, state, { authenticationIsPending: false, userIsPending: false, user: null, }); -}; -reducers[ACTIONS.USER_FETCH_STARTED] = function(state) { - return Object.assign({}, state, { +reducers[ACTIONS.USER_FETCH_STARTED] = state => + Object.assign({}, state, { userIsPending: true, user: defaultState.user, }); -}; -reducers[ACTIONS.USER_FETCH_SUCCESS] = function(state, action) { - return Object.assign({}, state, { +reducers[ACTIONS.USER_FETCH_SUCCESS] = (state, action) => + Object.assign({}, state, { userIsPending: false, user: action.data.user, }); -}; -reducers[ACTIONS.USER_FETCH_FAILURE] = function(state) { - return Object.assign({}, state, { +reducers[ACTIONS.USER_FETCH_FAILURE] = state => + Object.assign({}, state, { userIsPending: true, user: null, }); -}; -reducers[ACTIONS.USER_EMAIL_NEW_STARTED] = function(state) { - return Object.assign({}, state, { +reducers[ACTIONS.USER_EMAIL_NEW_STARTED] = state => + Object.assign({}, state, { emailNewIsPending: true, emailNewErrorMessage: '', }); -}; -reducers[ACTIONS.USER_EMAIL_NEW_SUCCESS] = function(state, action) { +reducers[ACTIONS.USER_EMAIL_NEW_SUCCESS] = (state, action) => { const user = Object.assign({}, state.user); user.primary_email = action.data.email; return Object.assign({}, state, { @@ -78,28 +71,25 @@ reducers[ACTIONS.USER_EMAIL_NEW_SUCCESS] = function(state, action) { }); }; -reducers[ACTIONS.USER_EMAIL_NEW_EXISTS] = function(state, action) { - return Object.assign({}, state, { +reducers[ACTIONS.USER_EMAIL_NEW_EXISTS] = (state, action) => + Object.assign({}, state, { emailToVerify: action.data.email, emailNewIsPending: false, }); -}; -reducers[ACTIONS.USER_EMAIL_NEW_FAILURE] = function(state, action) { - return Object.assign({}, state, { +reducers[ACTIONS.USER_EMAIL_NEW_FAILURE] = (state, action) => + Object.assign({}, state, { emailNewIsPending: false, emailNewErrorMessage: action.data.error, }); -}; -reducers[ACTIONS.USER_EMAIL_VERIFY_STARTED] = function(state) { - return Object.assign({}, state, { +reducers[ACTIONS.USER_EMAIL_VERIFY_STARTED] = state => + Object.assign({}, state, { emailVerifyIsPending: true, emailVerifyErrorMessage: '', }); -}; -reducers[ACTIONS.USER_EMAIL_VERIFY_SUCCESS] = function(state, action) { +reducers[ACTIONS.USER_EMAIL_VERIFY_SUCCESS] = (state, action) => { const user = Object.assign({}, state.user); user.primary_email = action.data.email; return Object.assign({}, state, { @@ -109,36 +99,32 @@ reducers[ACTIONS.USER_EMAIL_VERIFY_SUCCESS] = function(state, action) { }); }; -reducers[ACTIONS.USER_EMAIL_VERIFY_FAILURE] = function(state, action) { - return Object.assign({}, state, { +reducers[ACTIONS.USER_EMAIL_VERIFY_FAILURE] = (state, action) => + Object.assign({}, state, { emailVerifyIsPending: false, emailVerifyErrorMessage: action.data.error, }); -}; -reducers[ACTIONS.USER_IDENTITY_VERIFY_STARTED] = function(state) { - return Object.assign({}, state, { +reducers[ACTIONS.USER_IDENTITY_VERIFY_STARTED] = state => + Object.assign({}, state, { identityVerifyIsPending: true, identityVerifyErrorMessage: '', }); -}; -reducers[ACTIONS.USER_IDENTITY_VERIFY_SUCCESS] = function(state, action) { - return Object.assign({}, state, { +reducers[ACTIONS.USER_IDENTITY_VERIFY_SUCCESS] = (state, action) => + Object.assign({}, state, { identityVerifyIsPending: false, identityVerifyErrorMessage: '', user: action.data.user, }); -}; -reducers[ACTIONS.USER_IDENTITY_VERIFY_FAILURE] = function(state, action) { - return Object.assign({}, state, { +reducers[ACTIONS.USER_IDENTITY_VERIFY_FAILURE] = (state, action) => + Object.assign({}, state, { identityVerifyIsPending: false, identityVerifyErrorMessage: action.data.error, }); -}; -reducers[ACTIONS.FETCH_ACCESS_TOKEN_SUCCESS] = function(state, action) { +reducers[ACTIONS.FETCH_ACCESS_TOKEN_SUCCESS] = (state, action) => { const { token } = action.data; return Object.assign({}, state, { @@ -146,48 +132,42 @@ reducers[ACTIONS.FETCH_ACCESS_TOKEN_SUCCESS] = function(state, action) { }); }; -reducers[ACTIONS.USER_INVITE_STATUS_FETCH_STARTED] = function(state) { - return Object.assign({}, state, { +reducers[ACTIONS.USER_INVITE_STATUS_FETCH_STARTED] = state => + Object.assign({}, state, { inviteStatusIsPending: true, }); -}; -reducers[ACTIONS.USER_INVITE_STATUS_FETCH_SUCCESS] = function(state, action) { - return Object.assign({}, state, { +reducers[ACTIONS.USER_INVITE_STATUS_FETCH_SUCCESS] = (state, action) => + Object.assign({}, state, { inviteStatusIsPending: false, invitesRemaining: action.data.invitesRemaining, invitees: action.data.invitees, }); -}; -reducers[ACTIONS.USER_INVITE_NEW_STARTED] = function(state) { - return Object.assign({}, state, { +reducers[ACTIONS.USER_INVITE_NEW_STARTED] = state => + Object.assign({}, state, { inviteNewIsPending: true, inviteNewErrorMessage: '', }); -}; -reducers[ACTIONS.USER_INVITE_NEW_SUCCESS] = function(state) { - return Object.assign({}, state, { +reducers[ACTIONS.USER_INVITE_NEW_SUCCESS] = state => + Object.assign({}, state, { inviteNewIsPending: false, inviteNewErrorMessage: '', }); -}; -reducers[ACTIONS.USER_INVITE_NEW_FAILURE] = function(state, action) { - return Object.assign({}, state, { +reducers[ACTIONS.USER_INVITE_NEW_FAILURE] = (state, action) => + Object.assign({}, state, { inviteNewIsPending: false, inviteNewErrorMessage: action.data.error.message, }); -}; -reducers[ACTIONS.USER_INVITE_STATUS_FETCH_FAILURE] = function(state) { - return Object.assign({}, state, { +reducers[ACTIONS.USER_INVITE_STATUS_FETCH_FAILURE] = state => + Object.assign({}, state, { inviteStatusIsPending: false, invitesRemaining: null, invitees: null, }); -}; export default function reducer(state = defaultState, action) { const handler = reducers[action.type]; diff --git a/src/renderer/redux/reducers/wallet.js b/src/renderer/redux/reducers/wallet.js index 403c57486..bc5761c6c 100644 --- a/src/renderer/redux/reducers/wallet.js +++ b/src/renderer/redux/reducers/wallet.js @@ -18,13 +18,12 @@ const defaultState = { sendingSupport: false, }; -reducers[ACTIONS.FETCH_TRANSACTIONS_STARTED] = function(state) { - return Object.assign({}, state, { +reducers[ACTIONS.FETCH_TRANSACTIONS_STARTED] = state => + Object.assign({}, state, { fetchingTransactions: true, }); -}; -reducers[ACTIONS.FETCH_TRANSACTIONS_COMPLETED] = function(state, action) { +reducers[ACTIONS.FETCH_TRANSACTIONS_COMPLETED] = (state, action) => { const byId = Object.assign({}, state.transactions); const { transactions } = action.data; @@ -39,13 +38,12 @@ reducers[ACTIONS.FETCH_TRANSACTIONS_COMPLETED] = function(state, action) { }); }; -reducers[ACTIONS.GET_NEW_ADDRESS_STARTED] = function(state) { - return Object.assign({}, state, { +reducers[ACTIONS.GET_NEW_ADDRESS_STARTED] = state => + Object.assign({}, state, { gettingNewAddress: true, }); -}; -reducers[ACTIONS.GET_NEW_ADDRESS_COMPLETED] = function(state, action) { +reducers[ACTIONS.GET_NEW_ADDRESS_COMPLETED] = (state, action) => { const { address } = action.data; localStorage.setItem('receiveAddress', address); @@ -55,25 +53,22 @@ reducers[ACTIONS.GET_NEW_ADDRESS_COMPLETED] = function(state, action) { }); }; -reducers[ACTIONS.UPDATE_BALANCE] = function(state, action) { - return Object.assign({}, state, { +reducers[ACTIONS.UPDATE_BALANCE] = (state, action) => + Object.assign({}, state, { balance: action.data.balance, }); -}; -reducers[ACTIONS.CHECK_ADDRESS_IS_MINE_STARTED] = function(state) { - return Object.assign({}, state, { +reducers[ACTIONS.CHECK_ADDRESS_IS_MINE_STARTED] = state => + Object.assign({}, state, { checkingAddressOwnership: true, }); -}; -reducers[ACTIONS.CHECK_ADDRESS_IS_MINE_COMPLETED] = function(state) { - return Object.assign({}, state, { +reducers[ACTIONS.CHECK_ADDRESS_IS_MINE_COMPLETED] = state => + Object.assign({}, state, { checkingAddressOwnership: false, }); -}; -reducers[ACTIONS.SET_DRAFT_TRANSACTION_AMOUNT] = function(state, action) { +reducers[ACTIONS.SET_DRAFT_TRANSACTION_AMOUNT] = (state, action) => { const oldDraft = state.draftTransaction; const newDraft = Object.assign({}, oldDraft, { amount: parseFloat(action.data.amount), @@ -84,7 +79,7 @@ reducers[ACTIONS.SET_DRAFT_TRANSACTION_AMOUNT] = function(state, action) { }); }; -reducers[ACTIONS.SET_DRAFT_TRANSACTION_ADDRESS] = function(state, action) { +reducers[ACTIONS.SET_DRAFT_TRANSACTION_ADDRESS] = (state, action) => { const oldDraft = state.draftTransaction; const newDraft = Object.assign({}, oldDraft, { address: action.data.address, @@ -95,7 +90,7 @@ reducers[ACTIONS.SET_DRAFT_TRANSACTION_ADDRESS] = function(state, action) { }); }; -reducers[ACTIONS.SEND_TRANSACTION_STARTED] = function(state) { +reducers[ACTIONS.SEND_TRANSACTION_STARTED] = state => { const newDraftTransaction = Object.assign({}, state.draftTransaction, { sending: true, }); @@ -105,13 +100,12 @@ reducers[ACTIONS.SEND_TRANSACTION_STARTED] = function(state) { }); }; -reducers[ACTIONS.SEND_TRANSACTION_COMPLETED] = function(state) { - return Object.assign({}, state, { +reducers[ACTIONS.SEND_TRANSACTION_COMPLETED] = state => + Object.assign({}, state, { draftTransaction: buildDraftTransaction(), }); -}; -reducers[ACTIONS.SEND_TRANSACTION_FAILED] = function(state, action) { +reducers[ACTIONS.SEND_TRANSACTION_FAILED] = (state, action) => { const newDraftTransaction = Object.assign({}, state.draftTransaction, { sending: false, error: action.data.error, @@ -122,24 +116,21 @@ reducers[ACTIONS.SEND_TRANSACTION_FAILED] = function(state, action) { }); }; -reducers[ACTIONS.SUPPORT_TRANSACTION_STARTED] = function(state) { - return Object.assign({}, state, { +reducers[ACTIONS.SUPPORT_TRANSACTION_STARTED] = state => + Object.assign({}, state, { sendingSupport: true, }); -}; -reducers[ACTIONS.SUPPORT_TRANSACTION_COMPLETED] = function(state) { - return Object.assign({}, state, { +reducers[ACTIONS.SUPPORT_TRANSACTION_COMPLETED] = state => + Object.assign({}, state, { sendingSupport: false, }); -}; -reducers[ACTIONS.SUPPORT_TRANSACTION_FAILED] = function(state, action) { - return Object.assign({}, state, { +reducers[ACTIONS.SUPPORT_TRANSACTION_FAILED] = (state, action) => + Object.assign({}, state, { error: action.data.error, sendingSupport: false, }); -}; reducers[ACTIONS.FETCH_BLOCK_SUCCESS] = (state, action) => { const { block, block: { height } } = action.data; diff --git a/src/renderer/redux/selectors/app.js b/src/renderer/redux/selectors/app.js index 7a43f7fb3..052fe7096 100644 --- a/src/renderer/redux/selectors/app.js +++ b/src/renderer/redux/selectors/app.js @@ -58,8 +58,6 @@ export const selectUpgradeDownloadItem = createSelector(selectState, state => st export const selectModalProps = createSelector(selectState, state => state.modalProps); -export const selectDaemonReady = createSelector(selectState, state => state.daemonReady); - export const selectDaemonVersionMatched = createSelector( selectState, state => state.daemonVersionMatched diff --git a/src/renderer/redux/selectors/claims.js b/src/renderer/redux/selectors/claims.js index b0a62174a..4ee7faad8 100644 --- a/src/renderer/redux/selectors/claims.js +++ b/src/renderer/redux/selectors/claims.js @@ -1,6 +1,6 @@ -import { createSelector } from 'reselect'; import Lbryuri from 'lbryuri'; import { makeSelectCurrentParam } from 'redux/selectors/navigation'; +import { createSelector } from 'reselect'; const selectState = state => state.claims || {}; @@ -19,9 +19,7 @@ export const selectClaimsByUri = createSelector(selectState, selectClaimsById, ( if (claimId === null) { claims[uri] = null; } else { - const claim = byId[claimId]; - - claims[uri] = claim; + claims[uri] = byId[claimId]; } }); @@ -94,8 +92,7 @@ export const makeSelectMetadataForUri = uri => createSelector(makeSelectClaimForUri(uri), claim => { const metadata = claim && claim.value && claim.value.stream && claim.value.stream.metadata; - const value = metadata || (claim === undefined ? undefined : null); - return value; + return metadata || (claim === undefined ? undefined : null); }); export const makeSelectTitleForUri = uri => @@ -109,7 +106,7 @@ export const makeSelectContentTypeForUri = uri => export const selectIsFetchingClaimListMine = createSelector( selectState, - state => !!state.isFetchingClaimListMine + state => state.isFetchingClaimListMine ); export const selectPendingClaims = createSelector(selectState, state => @@ -154,7 +151,7 @@ export const selectMyClaimsOutpoints = createSelector(selectMyClaims, myClaims = export const selectFetchingMyChannels = createSelector( selectState, - state => !!state.fetchingMyChannels + state => state.fetchingMyChannels ); export const selectMyChannelClaims = createSelector( diff --git a/src/renderer/redux/selectors/content.js b/src/renderer/redux/selectors/content.js index 31e415dbe..371c59764 100644 --- a/src/renderer/redux/selectors/content.js +++ b/src/renderer/redux/selectors/content.js @@ -6,7 +6,7 @@ export const selectFeaturedUris = createSelector(selectState, state => state.fea export const selectFetchingFeaturedUris = createSelector( selectState, - state => !!state.fetchingFeaturedContent + state => state.fetchingFeaturedContent ); export const selectResolvingUris = createSelector(selectState, state => state.resolvingUris || []); diff --git a/src/renderer/redux/selectors/file_info.js b/src/renderer/redux/selectors/file_info.js index 9e2409911..f760bb3be 100644 --- a/src/renderer/redux/selectors/file_info.js +++ b/src/renderer/redux/selectors/file_info.js @@ -1,10 +1,9 @@ -import { createSelector } from 'reselect'; import { selectClaimsByUri, selectIsFetchingClaimListMine, selectMyClaims, - selectMyClaimsOutpoints, } from 'redux/selectors/claims'; +import { createSelector } from 'reselect'; export const selectState = state => state.fileInfo || {}; @@ -52,10 +51,6 @@ export const selectUrisLoading = createSelector(selectState, state => state.uris export const makeSelectLoadingForUri = uri => createSelector(selectUrisLoading, byUri => byUri && byUri[uri]); -export const selectFileInfosPendingPublish = createSelector(selectState, state => - Object.values(state.pendingByOutpoint || {}) -); - export const selectFileInfosDownloaded = createSelector( selectFileInfosByOutpoint, selectMyClaims, @@ -71,20 +66,6 @@ export const selectFileInfosDownloaded = createSelector( }) ); -export const selectFileInfosPublished = createSelector( - selectFileInfosByOutpoint, - selectMyClaimsOutpoints, - selectFileInfosPendingPublish, - (byOutpoint, outpoints, pendingPublish) => { - const fileInfos = []; - outpoints.forEach(outpoint => { - const fileInfo = byOutpoint[outpoint]; - if (fileInfo) fileInfos.push(fileInfo); - }); - return [...fileInfos, ...pendingPublish]; - } -); - // export const selectFileInfoForUri = (state, props) => { // const claims = selectClaimsByUri(state), // claim = claims[props.uri], @@ -94,26 +75,6 @@ export const selectFileInfosPublished = createSelector( // return outpoint && fileInfos ? fileInfos[outpoint] : undefined; // }; -export const selectFileInfosByUri = createSelector( - selectClaimsByUri, - selectFileInfosByOutpoint, - (claimsByUri, byOutpoint) => { - const fileInfos = {}; - const uris = Object.keys(claimsByUri); - - uris.forEach(uri => { - const claim = claimsByUri[uri]; - if (claim) { - const outpoint = `${claim.txid}:${claim.nout}`; - const fileInfo = byOutpoint[outpoint]; - - if (fileInfo) fileInfos[uri] = fileInfo; - } - }); - return fileInfos; - } -); - export const selectDownloadingFileInfos = createSelector( selectDownloadingByOutpoint, selectFileInfosByOutpoint, diff --git a/src/renderer/redux/selectors/search.js b/src/renderer/redux/selectors/search.js index b34a5742f..4e49f47d8 100644 --- a/src/renderer/redux/selectors/search.js +++ b/src/renderer/redux/selectors/search.js @@ -1,9 +1,9 @@ -import { createSelector } from 'reselect'; import { - selectPageTitle, selectCurrentPage, selectCurrentParams, + selectPageTitle, } from 'redux/selectors/navigation'; +import { createSelector } from 'reselect'; export const selectState = state => state.search || {}; @@ -13,7 +13,7 @@ export const selectSearchQuery = createSelector( (page, params) => (page === 'search' ? params && params.query : null) ); -export const selectIsSearching = createSelector(selectState, state => !!state.searching); +export const selectIsSearching = createSelector(selectState, state => state.searching); export const selectSearchUrisByQuery = createSelector(selectState, state => state.urisByQuery); diff --git a/src/renderer/redux/selectors/settings.js b/src/renderer/redux/selectors/settings.js index ba246f0cb..0e2887f59 100644 --- a/src/renderer/redux/selectors/settings.js +++ b/src/renderer/redux/selectors/settings.js @@ -13,11 +13,6 @@ export const selectClientSettings = createSelector( export const makeSelectClientSetting = setting => createSelector(selectClientSettings, settings => (settings ? settings[setting] : undefined)); -export const selectSettingsIsGenerous = createSelector( - selectDaemonSettings, - settings => settings && settings.is_generous_host -); - // refactor me export const selectShowNsfw = makeSelectClientSetting(SETTINGS.SHOW_NSFW); diff --git a/src/renderer/rewards.js b/src/renderer/rewards.js index d30ca1957..84dde2477 100644 --- a/src/renderer/rewards.js +++ b/src/renderer/rewards.js @@ -39,7 +39,7 @@ rewards.SORT_ORDER = [ rewards.TYPE_NEW_DEVELOPER, ]; -rewards.claimReward = function(type) { +rewards.claimReward = type => { function requestReward(resolve, reject, params) { if (!Lbryio.enabled) { reject(new Error(__('Rewards are not enabled.'))); diff --git a/src/renderer/util/setBadge.js b/src/renderer/util/setBadge.js index 005e63a11..ca4c9d358 100644 --- a/src/renderer/util/setBadge.js +++ b/src/renderer/util/setBadge.js @@ -1,4 +1,4 @@ -const { remote } = require('electron'); +import { remote } from 'electron'; const application = remote.app; const { dock } = application; diff --git a/src/renderer/util/shape_shift.js b/src/renderer/util/shape_shift.js index b61880e35..e958187a5 100644 --- a/src/renderer/util/shape_shift.js +++ b/src/renderer/util/shape_shift.js @@ -1,6 +1,6 @@ // these don't need to be exact -// shapeshift does a more thourough check on validity -// just general matches to prevent unneccesary api calls +// Shapeshift does a more thorough check on validity +// just general matches to prevent unnecessary api calls export const coinRegexPatterns = { BTC: /^[13][a-km-zA-HJ-NP-Z1-9]{25,34}$/, BCH: /^[13][a-km-zA-HJ-NP-Z1-9]{25,34}$/, diff --git a/src/renderer/util/throttle.js b/src/renderer/util/throttle.js index 941633deb..7b7c9b2b5 100644 --- a/src/renderer/util/throttle.js +++ b/src/renderer/util/throttle.js @@ -14,7 +14,7 @@ export default function throttle(func, wait, options = {}) { let previous = 0; const getNow = () => new Date().getTime(); - const later = function() { + const later = () => { previous = options.leading === false ? 0 : getNow(); timeout = null; result = func.apply(context, args); @@ -24,7 +24,7 @@ export default function throttle(func, wait, options = {}) { } }; - const throttled = function(...funcArgs) { + const throttled = function throttled(...funcArgs) { const now = getNow(); if (!previous && options.leading === false) previous = now; @@ -53,7 +53,7 @@ export default function throttle(func, wait, options = {}) { return result; }; - throttled.cancel = function() { + throttled.cancel = () => { clearTimeout(timeout); previous = 0; timeout = null;