Support template variables in command menu item labels (#18707)
- Adds template variable interpolation (`${...}`) to command menu item
labels and short labels, enabling dynamic text like `Create new
${capitalize(objectMetadataItem.labelSingular)}` instead of static
`Create new record`.
- Supports `capitalize` and `lowercase` transform functions within
template expressions.
This commit is contained in:
+7
-1
@@ -1,8 +1,14 @@
|
||||
import { i18n, type MessageDescriptor } from '@lingui/core';
|
||||
import { isString } from '@sniptt/guards';
|
||||
import { type Nullable } from 'twenty-shared/types';
|
||||
import { isDefined } from 'twenty-shared/utils';
|
||||
|
||||
export const getCommandMenuItemLabel = (
|
||||
label: string | MessageDescriptor,
|
||||
label: Nullable<string | MessageDescriptor>,
|
||||
): string => {
|
||||
if (!isDefined(label)) {
|
||||
return '';
|
||||
}
|
||||
|
||||
return isString(label) ? label : i18n._(label);
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user