Files
mtdb_movie/resources/client/titles/genre-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
758 B
TypeScript
Executable File

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