Fix comparing id (#7180)
This commit is contained in:
parent
7162a28c34
commit
0ba49eca8b
3 changed files with 16 additions and 11 deletions
|
@ -12,6 +12,7 @@ import {
|
|||
} from '../actions/accounts';
|
||||
import { TIMELINE_DELETE, TIMELINE_DISCONNECT } from '../actions/timelines';
|
||||
import { Map as ImmutableMap, List as ImmutableList } from 'immutable';
|
||||
import compareId from '../compare_id';
|
||||
|
||||
const initialState = ImmutableMap({
|
||||
items: ImmutableList(),
|
||||
|
@ -44,13 +45,6 @@ const normalizeNotification = (state, notification) => {
|
|||
});
|
||||
};
|
||||
|
||||
const newer = (m, n) => {
|
||||
const mId = m.get('id');
|
||||
const nId = n.get('id');
|
||||
|
||||
return mId.length === nId.length ? mId > nId : mId.length > nId.length;
|
||||
};
|
||||
|
||||
const expandNormalizedNotifications = (state, notifications, next) => {
|
||||
let items = ImmutableList();
|
||||
|
||||
|
@ -62,11 +56,11 @@ const expandNormalizedNotifications = (state, notifications, next) => {
|
|||
if (!items.isEmpty()) {
|
||||
mutable.update('items', list => {
|
||||
const lastIndex = 1 + list.findLastIndex(
|
||||
item => item !== null && (newer(item, items.last()) || item.get('id') === items.last().get('id'))
|
||||
item => item !== null && (compareId(item.get('id'), items.last().get('id')) > 0 || item.get('id') === items.last().get('id'))
|
||||
);
|
||||
|
||||
const firstIndex = 1 + list.take(lastIndex).findLastIndex(
|
||||
item => item !== null && newer(item, items.first())
|
||||
item => item !== null && compareId(item.get('id'), items.first().get('id')) > 0
|
||||
);
|
||||
|
||||
return list.take(firstIndex).concat(items, list.skip(lastIndex));
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue