lbry-desktop/ui/js/selectors/content.js

52 lines
1.2 KiB
JavaScript
Raw Normal View History

2017-06-06 23:19:12 +02:00
import { createSelector } from "reselect";
2017-04-23 11:56:50 +02:00
2017-06-06 06:21:55 +02:00
export const _selectState = state => state.content || {};
2017-04-23 11:56:50 +02:00
2017-05-04 05:44:08 +02:00
export const selectFeaturedUris = createSelector(
2017-04-23 11:56:50 +02:00
_selectState,
2017-06-06 23:19:12 +02:00
state => state.featuredUris
2017-06-06 06:21:55 +02:00
);
2017-04-23 11:56:50 +02:00
2017-05-04 05:44:08 +02:00
export const selectFetchingFeaturedUris = createSelector(
2017-04-23 11:56:50 +02:00
_selectState,
2017-06-06 23:19:12 +02:00
state => !!state.fetchingFeaturedContent
2017-06-06 06:21:55 +02:00
);
2017-04-23 11:56:50 +02:00
2017-05-15 18:34:33 +02:00
export const selectResolvingUris = createSelector(
2017-05-02 06:48:16 +02:00
_selectState,
2017-06-06 23:19:12 +02:00
state => state.resolvingUris || []
2017-06-06 06:21:55 +02:00
);
2017-05-02 06:48:16 +02:00
export const selectPlayingUri = createSelector(
_selectState,
state => state.playingUri
);
2017-09-08 05:15:05 +02:00
export const makeSelectIsUriResolving = uri => {
return createSelector(
selectResolvingUris,
resolvingUris => resolvingUris && resolvingUris.indexOf(uri) != -1
);
2017-06-06 06:21:55 +02:00
};
2017-07-17 08:06:04 +02:00
export const selectChannelClaimCounts = createSelector(
2017-07-17 08:06:04 +02:00
_selectState,
state => state.channelClaimCounts || {}
2017-07-17 08:06:04 +02:00
);
2017-10-10 01:19:50 +02:00
export const makeSelectTotalItemsForChannel = uri => {
return createSelector(selectChannelClaimCounts, byUri => byUri && byUri[uri]);
2017-10-10 01:19:50 +02:00
};
2017-09-08 05:15:05 +02:00
export const makeSelectTotalPagesForChannel = uri => {
return createSelector(
selectChannelClaimCounts,
byUri => byUri && byUri[uri] && Math.ceil(byUri[uri] / 10)
);
2017-07-17 08:06:04 +02:00
};
2017-07-30 00:56:08 +02:00
export const selectRewardContentClaimIds = createSelector(
_selectState,
2017-07-30 00:56:08 +02:00
state => state.rewardedContentClaimIds
);