UNPKG

rune

Version:

CLI to upload your games to Rune

42 lines (41 loc) 2.17 kB
import { Box, Text } from "ink"; import TextInputImport from "ink-text-input"; import React, { useState, useCallback } from "react"; import { Step } from "../../components/Step.js"; import { useInviteGameDev } from "../../gql/useInviteGameDev.js"; import { formatApolloError } from "../../lib/formatApolloError.js"; // @ts-ignore const TextInput = TextInputImport.default; export function InviteMemberStep({ gameId, memberType, }) { const [userTag, setUserTag] = useState(""); const { inviteGameDev, inviteGameDevLoading, inviteGameDevError, isGameDevInvited, } = useInviteGameDev(); const onSubmituserTag = useCallback(() => { if (!userTag) return; inviteGameDev({ gameId, userTag, type: memberType, }); }, [gameId, userTag, memberType, inviteGameDev]); return (React.createElement(Step, { status: inviteGameDevLoading ? "waiting" : inviteGameDevError ? "error" : isGameDevInvited ? "success" : "userInput", label: inviteGameDevLoading ? "Inviting new member" : inviteGameDevError ? formatApolloError(inviteGameDevError, { "[tango][INVITE_GAME_DEV_FAILED_INVALID_USER_TAG]": "Rune Tag is invalid. Verify Rune Tag and try again", "[tango][INVITE_GAME_DEV_FAILED_NO_EMAIL]": "Invitee does not have an email", "[tango][INVITE_GAME_DEV_FAILED_BLOCKED_EMAIL]": "Invitee's email is blocked", "[tango][INVITE_GAME_DEV_FAILED_ALREADY_INVITED]": "Member was already invited", }) : isGameDevInvited ? "New member invited" : "Enter Rune Tag (it's on their profile)", view: (status) => (React.createElement(Box, { flexDirection: "column" }, (status === "userInput" || status === "error") && (React.createElement(Box, null, React.createElement(Text, null, "Rune Tag: "), React.createElement(TextInput, { value: userTag, onChange: setUserTag, onSubmit: onSubmituserTag }))))) })); }