Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 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 | 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x | import { isFunction } from 'lodash-es';
import { memo, type ComponentProps } from 'react';
import { Helmet } from 'react-helmet';
import { useIntl, type IntlShape } from 'react-intl';
import { type MergeAll } from '@amalia/ext/typescript';
export type AmaliaHeadProps = MergeAll<
[
ComponentProps<typeof Helmet>,
{
title?: string | ((formatMessage: IntlShape['formatMessage']) => string);
},
]
>;
export const AmaliaHead = memo(function AmaliaHead({ title, children, ...props }: AmaliaHeadProps) {
const { formatMessage } = useIntl();
return (
<Helmet {...props}>
<title>{[isFunction(title) ? title(formatMessage) : title, 'Amalia'].filter(Boolean).join(' | ')}</title>
{children}
</Helmet>
);
});
|