]> git.localhorst.tv Git - alttp.git/blobdiff - resources/js/components/episodes/Item.js
crew management
[alttp.git] / resources / js / components / episodes / Item.js
index 5f43c1248b15fb1df75f6c39477f7dfe223baaf7..c911bc3b6e1f54e3ff15d09ceb76de4abbccefd0 100644 (file)
@@ -9,7 +9,7 @@ import Crew from './Crew';
 import MultiLink from './MultiLink';
 import Players from './Players';
 import Icon from '../common/Icon';
-import { canRestreamEpisode } from '../../helpers/permissions';
+import { canApplyForEpisode, canRestreamEpisode } from '../../helpers/permissions';
 import { withUser } from '../../helpers/UserContext';
 
 const isActive = episode => {
@@ -20,7 +20,7 @@ const isActive = episode => {
        return start.isBefore(now) && end.isAfter(now);
 };
 
-const Item = ({ episode, onAddRestream, onEditRestream, user }) => {
+const Item = ({ episode, onAddRestream, onApply, onEditRestream, user }) => {
        const { t } = useTranslation();
 
        const classNames = [
@@ -81,11 +81,10 @@ const Item = ({ episode, onAddRestream, onEditRestream, user }) => {
                                                <div>
                                                        <Button
                                                                onClick={() => onAddRestream(episode)}
+                                                               title={t('episodes.addRestream')}
                                                                variant="outline-secondary"
                                                        >
                                                                <Icon.ADD title="" />
-                                                               {' '}
-                                                               {t('episodes.addRestream')}
                                                        </Button>
                                                </div>
                                        : null}
@@ -94,8 +93,10 @@ const Item = ({ episode, onAddRestream, onEditRestream, user }) => {
                        {hasPlayers ?
                                <Players players={episode.players} />
                        : null}
-                       {episode.crew && episode.crew.length ?
-                               <Crew crew={episode.crew} />
+                       {(episode.crew && episode.crew.length)
+                                       || canApplyForEpisode(user, episode, 'commentary')
+                                       || canApplyForEpisode(user, episode, 'tracking') ?
+                               <Crew episode={episode} onApply={onApply} />
                        : null}
                </div>
        </div>;
@@ -117,6 +118,7 @@ Item.propTypes = {
                title: PropTypes.string,
        }),
        onAddRestream: PropTypes.func,
+       onApply: PropTypes.func,
        onEditRestream: PropTypes.func,
        user: PropTypes.shape({
        }),