Sort story views by timestamp

This commit is contained in:
Jamie Kyle 2025-01-02 11:16:18 -08:00 committed by Jamie Kyle
parent 55705a08d4
commit 7f8cb5f0a4

View file

@ -9,7 +9,7 @@ import React, {
useState, useState,
} from 'react'; } from 'react';
import classNames from 'classnames'; import classNames from 'classnames';
import { noop } from 'lodash'; import { noop, orderBy } from 'lodash';
import type { DraftBodyRanges } from '../types/BodyRange'; import type { DraftBodyRanges } from '../types/BodyRange';
import type { LocalizerType } from '../types/Util'; import type { LocalizerType } from '../types/Util';
@ -177,6 +177,10 @@ export function StoryViewsNRepliesModal({
: StoryViewsNRepliesTab.Views; : StoryViewsNRepliesTab.Views;
}, [viewTarget]); }, [viewTarget]);
const sortedViews = useMemo(() => {
return orderBy(views, 'updatedAt', 'desc');
}, [views]);
const onTabChange = (tab: string) => { const onTabChange = (tab: string) => {
onChangeViewTarget( onChangeViewTarget(
tab === StoryViewsNRepliesTab.Replies tab === StoryViewsNRepliesTab.Replies
@ -364,10 +368,10 @@ export function StoryViewsNRepliesModal({
{i18n('icu:StoryViewsNRepliesModal__read-receipts-off')} {i18n('icu:StoryViewsNRepliesModal__read-receipts-off')}
</div> </div>
); );
} else if (views.length) { } else if (sortedViews.length) {
viewsElement = ( viewsElement = (
<div className="StoryViewsNRepliesModal__views"> <div className="StoryViewsNRepliesModal__views">
{views.map(view => ( {sortedViews.map(view => (
<div <div
className="StoryViewsNRepliesModal__view" className="StoryViewsNRepliesModal__view"
key={view.recipient.id} key={view.recipient.id}