about summary refs log tree commit diff
path: root/app/assets/javascripts/components/containers/status_list_container.jsx
diff options
context:
space:
mode:
Diffstat (limited to 'app/assets/javascripts/components/containers/status_list_container.jsx')
-rw-r--r--app/assets/javascripts/components/containers/status_list_container.jsx14
1 files changed, 13 insertions, 1 deletions
diff --git a/app/assets/javascripts/components/containers/status_list_container.jsx b/app/assets/javascripts/components/containers/status_list_container.jsx
index cc6333a81..743e56c67 100644
--- a/app/assets/javascripts/components/containers/status_list_container.jsx
+++ b/app/assets/javascripts/components/containers/status_list_container.jsx
@@ -3,9 +3,21 @@ import StatusList            from '../components/status_list';
 import { replyCompose }      from '../actions/compose';
 import { reblog, favourite } from '../actions/interactions';
 
+function selectStatus(state, id) {
+  let status = state.getIn(['timelines', 'statuses', id]);
+
+  status = status.set('account', state.getIn(['timelines', 'accounts', status.get('account')]));
+
+  if (status.get('reblog') !== null) {
+    status = status.set('reblog', selectStatus(state, status.get('reblog')));
+  }
+
+  return status;
+};
+
 const mapStateToProps = function (state, props) {
   return {
-    statuses: state.getIn(['timelines', props.type])
+    statuses: state.getIn(['timelines', props.type]).map(id => selectStatus(state, id))
   };
 };