Files
maher 511fad8199
Build / run (push) Has been cancelled
Initial commit
2026-05-14 13:42:10 +02:00

39 lines
1.0 KiB
TypeScript
Executable File

import React, {useMemo} from 'react';
import {Title} from '@app/titles/models/title';
import {getTitleLink} from '@app/titles/title-link';
import {Trans} from '@common/i18n/trans';
import {BaseMediaLink, BaseMediaLinkProps} from '@app/base-media-link';
export interface SeasonLinkProps extends Omit<BaseMediaLinkProps, 'link'> {
title: Title;
seasonNumber: number;
}
export function SeasonLink({
title,
seasonNumber,
children,
color = 'inherit',
...linkProps
}: SeasonLinkProps) {
const link = useMemo(() => {
return getSeasonLink(title, seasonNumber);
}, [title, seasonNumber]);
return (
<BaseMediaLink {...linkProps} link={link}>
{children ?? (
<Trans message="Season :number" values={{number: seasonNumber}} />
)}
</BaseMediaLink>
);
}
export function getSeasonLink(
title: Title,
seasonNumber: number | string,
{absolute}: {absolute?: boolean} = {}
): string {
const titleLink = getTitleLink(title, {absolute});
return `${titleLink}/season/${seasonNumber}`;
}