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

52 lines
1.2 KiB
JavaScript
Raw Normal View History

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