Changeset View
Changeset View
Standalone View
Standalone View
lib/shared/thread-utils.js
Show First 20 Lines • Show All 435 Lines • ▼ Show 20 Lines | return { | ||||
mostRecentMessageInfo: null, | mostRecentMessageInfo: null, | ||||
mostRecentNonLocalMessage: null, | mostRecentNonLocalMessage: null, | ||||
lastUpdatedTime: threadInfo.creationTime, | lastUpdatedTime: threadInfo.creationTime, | ||||
lastUpdatedTimeIncludingSidebars: threadInfo.creationTime, | lastUpdatedTimeIncludingSidebars: threadInfo.creationTime, | ||||
sidebars: [], | sidebars: [], | ||||
pendingPersonalThreadUserInfo: { | pendingPersonalThreadUserInfo: { | ||||
id: user.id, | id: user.id, | ||||
username: user.username, | username: user.username, | ||||
avatar: null, | |||||
}, | }, | ||||
}; | }; | ||||
} | } | ||||
// Returns map from lowercase username to AccountUserInfo | // Returns map from lowercase username to AccountUserInfo | ||||
function memberLowercaseUsernameMap( | function memberLowercaseUsernameMap( | ||||
members: $ReadOnlyArray<RelativeMemberInfo>, | members: $ReadOnlyArray<RelativeMemberInfo>, | ||||
): Map<string, AccountUserInfo> { | ): Map<string, AccountUserInfo> { | ||||
const memberMap = new Map(); | const memberMap = new Map(); | ||||
for (const member of members) { | for (const member of members) { | ||||
const { id, role, username, avatar } = member; | const { id, role, username } = member; | ||||
if (!role || !username) { | if (!role || !username) { | ||||
continue; | continue; | ||||
} | } | ||||
memberMap.set(username.toLowerCase(), { id, username, avatar }); | memberMap.set(username.toLowerCase(), { id, username }); | ||||
} | } | ||||
return memberMap; | return memberMap; | ||||
} | } | ||||
// Returns map from user ID to AccountUserInfo | // Returns map from user ID to AccountUserInfo | ||||
function extractMentionedMembers( | function extractMentionedMembers( | ||||
text: string, | text: string, | ||||
threadInfo: ThreadInfo, | threadInfo: ThreadInfo, | ||||
▲ Show 20 Lines • Show All 1,188 Lines • Show Last 20 Lines |