feat: Rename to Toju and add translation
Some checks failed
Build Android APK / build-android-apk (push) Has been cancelled
Deploy Web Apps / deploy (push) Has been cancelled
Queue Release Build / prepare (push) Has been cancelled
Queue Release Build / build-linux (push) Has been cancelled
Queue Release Build / build-windows (push) Has been cancelled
Queue Release Build / finalize (push) Has been cancelled
Some checks failed
Build Android APK / build-android-apk (push) Has been cancelled
Deploy Web Apps / deploy (push) Has been cancelled
Queue Release Build / prepare (push) Has been cancelled
Queue Release Build / build-linux (push) Has been cancelled
Queue Release Build / build-windows (push) Has been cancelled
Queue Release Build / finalize (push) Has been cancelled
This commit is contained in:
@@ -5,6 +5,7 @@ import {
|
||||
RoomRoleAssignment
|
||||
} from '../../../../shared-kernel';
|
||||
import { SYSTEM_ROLE_IDS } from '../constants/access-control.constants';
|
||||
import { localizeSystemRoleDisplayName } from './role-display.rules';
|
||||
import type { MemberIdentity } from '../models/access-control.model';
|
||||
import {
|
||||
buildRoleLookup,
|
||||
@@ -106,13 +107,19 @@ export function getAssignedRoleIds(assignments: readonly RoomRoleAssignment[] |
|
||||
return uniqueStrings(assignment?.roleIds ?? []);
|
||||
}
|
||||
|
||||
export function getDisplayRoleName(room: Room, member: MemberIdentity | null | undefined): string {
|
||||
export function getDisplayRoleName(
|
||||
room: Room,
|
||||
member: MemberIdentity | null | undefined,
|
||||
translate?: (key: string) => string
|
||||
): string {
|
||||
const translateOr = (key: string, fallback: string) => translate?.(key) ?? fallback;
|
||||
|
||||
if (!member) {
|
||||
return 'Member';
|
||||
return translateOr('shared.leaveServer.roles.member', 'Member');
|
||||
}
|
||||
|
||||
if (room.hostId === member.id || room.hostId === member.oderId) {
|
||||
return 'Owner';
|
||||
return translateOr('shared.leaveServer.roles.owner', 'Owner');
|
||||
}
|
||||
|
||||
const roles = normalizeRoomRoles(room.roles, room.permissions);
|
||||
@@ -121,8 +128,13 @@ export function getDisplayRoleName(room: Room, member: MemberIdentity | null | u
|
||||
.map((roleId) => roleLookup.get(roleId))
|
||||
.filter((role): role is RoomRole => !!role)
|
||||
.sort(roleSortDescending);
|
||||
const roleName = assignedRoles[0]?.name;
|
||||
|
||||
return assignedRoles[0]?.name || '@everyone';
|
||||
if (!roleName) {
|
||||
return translateOr('shared.accessControl.roles.everyone', '@everyone');
|
||||
}
|
||||
|
||||
return translate ? localizeSystemRoleDisplayName(roleName, translate) : roleName;
|
||||
}
|
||||
|
||||
export function getAssignedRoles(room: Room, identity: MemberIdentity | null | undefined): RoomRole[] {
|
||||
|
||||
Reference in New Issue
Block a user