24 lines
870 B
JavaScript
24 lines
870 B
JavaScript
|
const timelineVisibleUnauthenticated = (state, timeline) => (
|
||
|
state.instance.publicTimelineVisibility[timeline] ?? false
|
||
|
);
|
||
|
|
||
|
const currentUser = (state) => state.users.currentUser;
|
||
|
|
||
|
const currentUserOrTimelineVisibleUnauthenticated = (state, timeline) => (
|
||
|
currentUser(state) || timelineVisibleUnauthenticated(state, timeline)
|
||
|
);
|
||
|
|
||
|
const federatedTimelineAvailable = (state) => state.instance.federatedTimelineAvailable;
|
||
|
|
||
|
export const federatedTimelineVisible = (state) => (
|
||
|
federatedTimelineAvailable(state) && currentUserOrTimelineVisibleUnauthenticated(state, 'federated')
|
||
|
);
|
||
|
|
||
|
export const publicTimelineVisible = (state) => (
|
||
|
currentUserOrTimelineVisibleUnauthenticated(state, 'local')
|
||
|
);
|
||
|
|
||
|
export const bubbleTimelineVisible = (state) => (
|
||
|
state.instance.localBubbleInstances.length > 0 && currentUserOrTimelineVisibleUnauthenticated(state, 'bubble')
|
||
|
);
|