|
|
|
@ -62,31 +62,28 @@ const makeMapStateToProps = () => { |
|
|
|
|
|
|
|
|
|
if (status) { |
|
|
|
|
ancestorsIds = ancestorsIds.withMutations(mutable => { |
|
|
|
|
function addAncestor(id) { |
|
|
|
|
if (id) { |
|
|
|
|
const inReplyTo = state.getIn(['contexts', 'inReplyTos', id]); |
|
|
|
|
let id = status.get('in_reply_to_id'); |
|
|
|
|
|
|
|
|
|
mutable.unshift(id); |
|
|
|
|
addAncestor(inReplyTo); |
|
|
|
|
} |
|
|
|
|
while (id) { |
|
|
|
|
mutable.unshift(id); |
|
|
|
|
id = state.getIn(['contexts', 'inReplyTos', id]); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
addAncestor(status.get('in_reply_to_id')); |
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
descendantsIds = descendantsIds.withMutations(mutable => { |
|
|
|
|
function addDescendantOf(id) { |
|
|
|
|
const ids = [status.get('id')]; |
|
|
|
|
|
|
|
|
|
while (ids.length > 0) { |
|
|
|
|
let id = ids.shift(); |
|
|
|
|
const replies = state.getIn(['contexts', 'replies', id]); |
|
|
|
|
|
|
|
|
|
if (replies) { |
|
|
|
|
replies.forEach(reply => { |
|
|
|
|
mutable.push(reply); |
|
|
|
|
addDescendantOf(reply); |
|
|
|
|
ids.unshift(reply); |
|
|
|
|
}); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
addDescendantOf(status.get('id')); |
|
|
|
|
}); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|