Files
Desktop/ts/components/UserText.dom.tsx
automated-signal 0910d22208 Limit member label width
Co-authored-by: Scott Nonnenberg <scott@signal.org>
2026-02-07 11:24:45 +10:00

28 lines
745 B
TypeScript

// Copyright 2023 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import React, { useMemo } from 'react';
import type { CSSProperties } from 'react';
import { Emojify } from './conversation/Emojify.dom.js';
import { bidiIsolate } from '../util/unicodeBidi.std.js';
export type UserTextProps = Readonly<{
text: string;
fontSizeOverride?: number;
style?: CSSProperties;
}>;
export function UserText(props: UserTextProps): React.JSX.Element {
const normalizedText = useMemo(() => {
return bidiIsolate(props.text);
}, [props.text]);
return (
<span dir="auto">
<Emojify
fontSizeOverride={props.fontSizeOverride}
style={props.style}
text={normalizedText}
/>
</span>
);
}