lbry-desktop/ui/js/component/app/index.js

44 lines
1.4 KiB
JavaScript
Raw Normal View History

2017-06-06 23:19:12 +02:00
import React from "react";
import { connect } from "react-redux";
import { selectCurrentModal } from "selectors/app";
2017-07-16 18:29:46 +02:00
import {
doCheckUpgradeAvailable,
doOpenModal,
doAlertError,
doRecordScroll,
2017-07-16 18:29:46 +02:00
} from "actions/app";
2017-06-06 23:19:12 +02:00
import { doUpdateBalance } from "actions/wallet";
2017-07-16 18:29:46 +02:00
import { selectWelcomeModalAcknowledged } from "selectors/app";
import rewards from "rewards";
import {
selectFetchingRewards,
makeSelectHasClaimedReward,
} from "selectors/rewards";
import { selectUser } from "selectors/user";
2017-06-06 23:19:12 +02:00
import App from "./view";
2017-07-16 18:29:46 +02:00
import * as modals from "constants/modal_types";
2017-04-07 07:15:22 +02:00
2017-07-16 18:29:46 +02:00
const select = (state, props) => {
const selectHasClaimed = makeSelectHasClaimedReward();
return {
modal: selectCurrentModal(state),
isWelcomeAcknowledged: selectWelcomeModalAcknowledged(state),
isFetchingRewards: selectFetchingRewards(state),
isWelcomeRewardClaimed: selectHasClaimed(state, {
reward_type: rewards.TYPE_NEW_USER,
}),
user: selectUser(state),
};
};
2017-04-07 07:15:22 +02:00
2017-06-06 06:21:55 +02:00
const perform = dispatch => ({
2017-06-06 23:19:12 +02:00
alertError: errorList => dispatch(doAlertError(errorList)),
2017-04-07 07:15:22 +02:00
checkUpgradeAvailable: () => dispatch(doCheckUpgradeAvailable()),
2017-07-16 18:29:46 +02:00
openWelcomeModal: () => dispatch(doOpenModal(modals.WELCOME)),
2017-06-06 23:19:12 +02:00
updateBalance: balance => dispatch(doUpdateBalance(balance)),
recordScroll: scrollPosition => dispatch(doRecordScroll(scrollPosition)),
2017-06-06 06:21:55 +02:00
});
2017-04-07 07:15:22 +02:00
2017-06-06 06:21:55 +02:00
export default connect(select, perform)(App);