forked from Ivasoft/mattermost-mobile
[Gekidou] groups (#5593)
* Rename groups in channel/team to group channel/team * Redefine groups schema * Groups action and operator * Add group at mentions * fix uni test * Update types/database/models/servers/group.d.ts Co-authored-by: Avinash Lingaloo <avinashlng1080@gmail.com> Co-authored-by: Avinash Lingaloo <avinashlng1080@gmail.com>
This commit is contained in:
@@ -5,6 +5,9 @@ import {General, Preferences} from '@constants';
|
||||
import {UserModel} from '@database/models/server';
|
||||
import {DEFAULT_LOCALE, getLocalizedMessage, t} from '@i18n';
|
||||
|
||||
import type GroupModel from '@typings/database/models/servers/group';
|
||||
import type GroupMembershipModel from '@typings/database/models/servers/group_membership';
|
||||
|
||||
export function displayUsername(user?: UserProfile | UserModel, locale?: string, teammateDisplayNameSetting?: string, useFallbackUsername = true) {
|
||||
let name = useFallbackUsername ? getLocalizedMessage(locale || DEFAULT_LOCALE, t('channel_loader.someone'), 'Someone') : '';
|
||||
|
||||
@@ -94,7 +97,7 @@ export const getUsersByUsername = (users: UserModel[]) => {
|
||||
return usersByUsername;
|
||||
};
|
||||
|
||||
export const getUserMentionKeys = (user: UserModel) => {
|
||||
export const getUserMentionKeys = (user: UserModel, groups: GroupModel[], userGroups: GroupMembershipModel[]) => {
|
||||
const keys: UserMentionKey[] = [];
|
||||
|
||||
if (!user.notifyProps) {
|
||||
@@ -123,5 +126,17 @@ export const getUserMentionKeys = (user: UserModel) => {
|
||||
keys.push({key: usernameKey});
|
||||
}
|
||||
|
||||
if (groups.length && userGroups.length) {
|
||||
const groupMentions = userGroups.reduce((result: Array<{key: string}>, ug: GroupMembershipModel) => {
|
||||
const group = groups.find((g) => ug.groupId === g.id);
|
||||
if (group) {
|
||||
result.push({key: `@${group.name}`});
|
||||
}
|
||||
return result;
|
||||
}, []);
|
||||
|
||||
keys.push(...groupMentions);
|
||||
}
|
||||
|
||||
return keys;
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user