+ <div className="d-flex flex-column flex-fill">
+ <div className="d-flex align-items-start justify-content-between">
+ <div>
+ {episode.title || episode.event ?
+ <div className="episode-title fs-4">
+ {episode.title || episode.event.title}
+ </div>
+ : null}
+ {episode.comment ?
+ <div className="episode-comment">
+ {episode.comment}
+ </div>
+ : null}
+ </div>
+ <div className="episode-channel-links text-end">
+ {hasChannels ?
+ <Channels
+ channels={episode.channels}
+ episode={episode}
+ onEditRestream={onEditRestream}
+ />
+ : null}
+ {!hasChannels && hasPlayers ?
+ <MultiLink players={episode.players} />
+ : null}
+ {onAddRestream && canRestreamEpisode(user, episode) ?
+ <div>
+ <Button
+ onClick={() => onAddRestream(episode)}
+ title={t('episodes.addRestream')}
+ variant="outline-secondary"
+ >
+ <Icon.ADD title="" />
+ </Button>
+ </div>
+ : null}
+ </div>
+ </div>
+ {hasPlayers ?
+ <Players players={episode.players} />
+ : null}
+ {(episode.crew && episode.crew.length)
+ || canApplyForEpisode(user, episode, 'commentary')
+ || canApplyForEpisode(user, episode, 'tracking') ?
+ <div className="mb-3">
+ <Crew episode={episode} onApply={onApply} />