X-Git-Url: https://git.localhorst.tv/?a=blobdiff_plain;f=resources%2Fjs%2Fcomponents%2Fepisodes%2FCrew.js;h=e645edbba17108a5344688ef60be85a9ce5d2a90;hb=a0bca4306e882d77ba192eed889bd7ed52896dad;hp=76a38a6604852733cb38a6fa32a3b44aab0ee51c;hpb=5a575dc29f3af10f1d8e142ff9e1c6ccdfa3b075;p=alttp.git diff --git a/resources/js/components/episodes/Crew.js b/resources/js/components/episodes/Crew.js index 76a38a6..e645edb 100644 --- a/resources/js/components/episodes/Crew.js +++ b/resources/js/components/episodes/Crew.js @@ -6,6 +6,12 @@ import { useTranslation } from 'react-i18next'; import CrewMember from './CrewMember'; import Icon from '../common/Icon'; import { compareCrew } from '../../helpers/Crew'; +import { + getSGLanguages, + getSGSignupLink, + hasPassed, + hasSGRestream, +} from '../../helpers/Episode'; import { canApplyForEpisode } from '../../helpers/permissions'; import { withUser } from '../../helpers/UserContext'; @@ -22,8 +28,26 @@ const Crew = ({ episode, onApply, user }) => { episode.crew.filter(c => c.role === 'setup').sort(compareCrew) , [episode]); + const sgLanguages = React.useMemo(() => + getSGLanguages(episode) + , [episode]); + + const showCommentators = React.useMemo(() => + commentators.length || (!hasPassed(episode) && ( + canApplyForEpisode(user, episode, 'commentary') || + hasSGRestream(episode) + )) + , [commentators, episode, user]); + + const showTracker = React.useMemo(() => + trackers.length || (!hasPassed(episode) && ( + canApplyForEpisode(user, episode, 'tracking') || + hasSGRestream(episode) + )) + , [episode, trackers, user]); + return - {commentators.length || canApplyForEpisode(user, episode, 'commentary') ? + {showCommentators ?
@@ -42,9 +66,23 @@ const Crew = ({ episode, onApply, user }) => {
: null} + {hasSGRestream(episode) ? +
+ {sgLanguages.map(lang => + + )} +
+ : null} : null} - {trackers.length || canApplyForEpisode(user, episode, 'tracking') ? + {showTracker ?
@@ -63,6 +101,20 @@ const Crew = ({ episode, onApply, user }) => {
: null} + {hasSGRestream(episode) ? +
+ {sgLanguages.map(lang => + + )} +
+ : null} : null} {techies.length ?