lbry-desktop/ui/redux/selectors/app.js
jessop 6e13fcfbd3 privacy changes:
users see welcome screen once and choose preference
SETTINGS moved to redux
took steps toward eliminating unwanted analytics in app based on preferences
settings page update to privacy controls and copy

persist welcome version

default tv on

cleanup

clean up appstrings

populate prefs app only

wallet custody, app only router

settings on startup

welcome sync, 3p share sync, emojis

bump redux

cleanup

fix app not building

fix sync bug, remove tvWelcomeVersion

cleanup

disable internalshare setting while signed in
2020-02-21 15:15:48 -05:00

151 lines
3.1 KiB
JavaScript

import { createSelector } from 'reselect';
export const selectState = state => state.app || {};
export const selectPlatform = createSelector(
selectState,
state => state.platform
);
export const selectUpdateUrl = createSelector(
selectPlatform,
platform => {
switch (platform) {
case 'darwin':
return 'https://lbry.com/get/lbry.dmg';
case 'linux':
return 'https://lbry.com/get/lbry.deb';
case 'win32':
return 'https://lbry.com/get/lbry.exe';
default:
throw Error('Unknown platform');
}
}
);
export const selectHasClickedComment = createSelector(
selectState,
state => state.hasClickedComment
);
export const selectRemoteVersion = createSelector(
selectState,
state => state.remoteVersion
);
export const selectIsUpgradeAvailable = createSelector(
selectState,
state => state.isUpgradeAvailable
);
export const selectUpgradeFilename = createSelector(
selectPlatform,
selectRemoteVersion,
(platform, version) => {
switch (platform) {
case 'darwin':
return `LBRY_${version}.dmg`;
case 'linux':
return `LBRY_${version}.deb`;
case 'win32':
return `LBRY_${version}.exe`;
default:
throw Error('Unknown platform');
}
}
);
export const selectDownloadProgress = createSelector(
selectState,
state => state.downloadProgress
);
export const selectDownloadComplete = createSelector(
selectState,
state => state.upgradeDownloadCompleted
);
export const selectIsUpgradeSkipped = createSelector(
selectState,
state => state.isUpgradeSkipped
);
export const selectUpgradeDownloadPath = createSelector(
selectState,
state => state.downloadPath
);
export const selectUpgradeDownloadItem = createSelector(
selectState,
state => state.downloadItem
);
export const selectAutoUpdateDownloaded = createSelector(
selectState,
state => state.autoUpdateDownloaded
);
export const selectAutoUpdateDeclined = createSelector(
selectState,
state => state.autoUpdateDeclined
);
export const selectDaemonVersionMatched = createSelector(
selectState,
state => state.daemonVersionMatched
);
export const selectVolume = createSelector(
selectState,
state => state.volume
);
export const selectMute = createSelector(
selectState,
state => state.muted
);
export const selectUpgradeTimer = createSelector(
selectState,
state => state.checkUpgradeTimer
);
export const selectModal = createSelector(
selectState,
state => {
if (!state.modal) {
return null;
}
return {
id: state.modal,
modalProps: state.modalProps,
};
}
);
export const selectSearchOptionsExpanded = createSelector(
selectState,
state => state.searchOptionsExpanded
);
export const selectWelcomeVersion = createSelector(
selectState,
state => state.welcomeVersion
);
export const selectAllowAnalytics = createSelector(
selectState,
state => state.allowAnalytics
);
export const selectScrollStartingPosition = createSelector(
selectState,
state => state.currentScroll
);
export const selectIsPasswordSaved = createSelector(
selectState,
state => state.isPasswordSaved
);