File size: 1,623 Bytes
f0743f4 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 | import type { AccessRoleIds } from 'librechat-data-provider';
import type { TranslationKeys } from '~/hooks/useLocalize';
/**
* Centralized mapping for role localizations
* Maps role IDs to their localization keys
*/
export const ROLE_LOCALIZATIONS = {
agent_viewer: {
name: 'com_ui_role_viewer' as const,
description: 'com_ui_role_viewer_desc' as const,
} as const,
agent_editor: {
name: 'com_ui_role_editor' as const,
description: 'com_ui_role_editor_desc' as const,
} as const,
agent_manager: {
name: 'com_ui_role_manager' as const,
description: 'com_ui_role_manager_desc' as const,
} as const,
agent_owner: {
name: 'com_ui_role_owner' as const,
description: 'com_ui_role_owner_desc' as const,
} as const,
// PromptGroup roles
promptGroup_viewer: {
name: 'com_ui_role_viewer' as const,
description: 'com_ui_role_viewer_desc' as const,
} as const,
promptGroup_editor: {
name: 'com_ui_role_editor' as const,
description: 'com_ui_role_editor_desc' as const,
} as const,
promptGroup_owner: {
name: 'com_ui_role_owner' as const,
description: 'com_ui_role_owner_desc' as const,
} as const,
};
/**
* Get localization keys for a given role ID
* @param roleId - The role ID to get localization keys for
* @returns Object with name and description localization keys, or unknown keys if not found
*/
export const getRoleLocalizationKeys = (
roleId: AccessRoleIds,
): {
name: TranslationKeys;
description: TranslationKeys;
} => {
return ROLE_LOCALIZATIONS[roleId] || { name: 'com_ui_unknown', description: 'com_ui_unknown' };
};
|