21 lines
535 B
TypeScript
21 lines
535 B
TypeScript
// Copyright 2023 Signal Messenger, LLC
|
|
// SPDX-License-Identifier: AGPL-3.0-only
|
|
import React, { useMemo } from 'react';
|
|
import { Emojify } from './conversation/Emojify';
|
|
import { bidiIsolate } from '../util/unicodeBidi';
|
|
|
|
export type UserTextProps = Readonly<{
|
|
text: string;
|
|
}>;
|
|
|
|
export function UserText(props: UserTextProps): JSX.Element {
|
|
const normalizedText = useMemo(() => {
|
|
return bidiIsolate(props.text);
|
|
}, [props.text]);
|
|
return (
|
|
<span dir="auto">
|
|
<Emojify text={normalizedText} />
|
|
</span>
|
|
);
|
|
}
|