Files
mtdb_movie/resources/client/titles/keyword-link.tsx
maher 703f50a09d
Some checks failed
Build / run (push) Has been cancelled
first commit
2025-10-29 11:42:25 +01:00

28 lines
790 B
TypeScript
Executable File

import React, {useMemo} from 'react';
import {
BaseMediaLink,
BaseMediaLinkProps,
getBaseMediaLink,
} from '@app/base-media-link';
import {Keyword} from '@app/titles/models/keyword';
import {Trans} from '@common/i18n/trans';
interface Props extends Omit<BaseMediaLinkProps, 'link'> {
keyword: Keyword;
}
export function KeywordLink({keyword, children, ...otherProps}: Props) {
const link = useMemo(() => getKeywordLink(keyword), [keyword]);
return (
<BaseMediaLink {...otherProps} link={link}>
{children ?? <Trans message={keyword.display_name || keyword.name} />}
</BaseMediaLink>
);
}
export function getKeywordLink(
keyword: Keyword,
{absolute}: {absolute?: boolean} = {}
): string {
return getBaseMediaLink(`/keyword/${keyword.name}`, {absolute});
}