Skip to content

Commit 88dbf97

Browse files
committed
chat: move time filter to another file as well
1 parent 2488cf2 commit 88dbf97

File tree

2 files changed

+14
-11
lines changed

2 files changed

+14
-11
lines changed

src/packages/frontend/chat/chat-log.tsx

Lines changed: 1 addition & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,6 @@ import {
2020
import { VisibleMDLG } from "@cocalc/frontend/components";
2121
import useVirtuosoScrollHook from "@cocalc/frontend/components/virtuoso-scroll-hook";
2222
import { HashtagBar } from "@cocalc/frontend/editors/task-editor/hashtag-bar";
23-
import { webapp_client } from "@cocalc/frontend/webapp-client";
2423
import {
2524
cmp,
2625
hoursToTimeIntervalHuman,
@@ -274,16 +273,7 @@ export function getSortedDates(
274273
return { dates: [], numFolded: 0 };
275274
}
276275

277-
m = filterMessages({ messages: m, filter: search });
278-
279-
if (typeof filterRecentH === "number" && filterRecentH > 0) {
280-
const now = webapp_client.server_time().getTime();
281-
const cutoff = now - filterRecentH * 1000 * 60 * 60;
282-
m = m.filter((msg) => {
283-
const date = msg.get("date").getTime();
284-
return date >= cutoff;
285-
});
286-
}
276+
m = filterMessages({ messages: m, filter: search, filterRecentH });
287277

288278
const v: [date: number, reply_to: number | undefined][] = [];
289279
for (const [date, message] of m) {

src/packages/frontend/chat/filter-messages.ts

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,21 +8,34 @@ import type { ChatMessages, ChatMessageTyped, MessageHistory } from "./types";
88
import { search_match, search_split } from "@cocalc/util/misc";
99
import { List } from "immutable";
1010
import type { TypedMap } from "@cocalc/frontend/app-framework";
11+
import { webapp_client } from "@cocalc/frontend/webapp-client";
1112

1213
export function filterMessages({
1314
messages,
1415
filter,
16+
filterRecentH,
1517
}: {
1618
// the messages to filter down
1719
messages: ChatMessages;
1820
filter?: string;
21+
filterRecentH?: number;
1922
}) {
2023
if (filter) {
2124
const searchTerms = search_split(filter);
2225
messages = messages.filter((message) =>
2326
searchMatches(message, searchTerms),
2427
);
2528
}
29+
30+
if (typeof filterRecentH === "number" && filterRecentH > 0) {
31+
const now = webapp_client.server_time().getTime();
32+
const cutoff = now - filterRecentH * 1000 * 60 * 60;
33+
messages = messages.filter((msg) => {
34+
const date = msg.get("date").getTime();
35+
return date >= cutoff;
36+
});
37+
}
38+
2639
return messages;
2740
}
2841

0 commit comments

Comments
 (0)