import Players from './Players';
import Icon from '../common/Icon';
import { hasPassed, hasSGRestream, isActive } from '../../helpers/Episode';
+import { getLink } from '../../helpers/Event';
import { canApplyForEpisode, canRestreamEpisode } from '../../helpers/permissions';
-import { withUser } from '../../helpers/UserContext';
+import { useUser } from '../../hooks/user';
-const Item = ({ episode, onAddRestream, onApply, onEditRestream, user }) => {
+const Item = ({ episode, onAddRestream, onApply, onEditRestream }) => {
const { t } = useTranslation();
+ const { user } = useUser();
const classNames = [
'episodes-item',
{!hasChannels && hasPlayers ?
<MultiLink players={episode.players} />
: null}
+ {episode.raceroom ?
+ <div>
+ <Button
+ href={episode.raceroom}
+ target="_blank"
+ title={t('episodes.raceroom')}
+ variant="outline-secondary"
+ >
+ <Icon.RACETIME title="" />
+ {' '}
+ {t('episodes.raceroom')}
+ </Button>
+ </div>
+ : null}
{onAddRestream && canRestreamEpisode(user, episode) ?
<div>
<Button
{episode.event ?
<div className="episode-event mt-auto">
{episode.event.description_id ?
- <Link className="event-link" to={`/events/${episode.event.name}`}>
+ <Link className="event-link" to={getLink(episode.event)}>
{episode.event.title}
</Link>
:
}),
players: PropTypes.arrayOf(PropTypes.shape({
})),
+ raceroom: PropTypes.string,
start: PropTypes.string,
title: PropTypes.string,
}),
onAddRestream: PropTypes.func,
onApply: PropTypes.func,
onEditRestream: PropTypes.func,
- user: PropTypes.shape({
- }),
};
-export default withUser(Item);
+export default Item;