import { PrivateUser, User } from 'common/user' import Link from 'next/link' import { useState } from 'react' import toast from 'react-hot-toast' import { Button } from 'web/components/button' import { Col } from 'web/components/layout/col' import { Row } from 'web/components/layout/row' import { Spacer } from 'web/components/layout/spacer' import { LoadingIndicator } from 'web/components/loading-indicator' import { ManifoldLogo } from 'web/components/nav/manifold-logo' import { Page } from 'web/components/page' import { SEO } from 'web/components/SEO' import { Title } from 'web/components/title' import { useSaveReferral } from 'web/hooks/use-save-referral' import { useTracking } from 'web/hooks/use-tracking' import { usePrivateUser, useUser } from 'web/hooks/use-user' import { firebaseLogin, getUserAndPrivateUser } from 'web/lib/firebase/users' import { track } from 'web/lib/service/analytics' import { linkTwitchAccountRedirect } from 'web/lib/twitch/link-twitch-account' function TwitchPlaysManifoldMarkets(props: { user?: User | null privateUser?: PrivateUser | null }) { const { user, privateUser } = props const twitchUser = privateUser?.twitchInfo?.twitchName const [isLoading, setLoading] = useState(false) const callback = user && privateUser ? () => linkTwitchAccountRedirect(user, privateUser) : async () => { const result = await firebaseLogin() const userId = result.user.uid const { user, privateUser } = await getUserAndPrivateUser(userId) if (!user || !privateUser) return await linkTwitchAccountRedirect(user, privateUser) } const getStarted = async () => { try { setLoading(true) const promise = callback() track('twitch page button click') await promise } catch (e) { console.error(e) toast.error('Failed to sign up. Please try again later.') setLoading(false) } } return (
{'!' + command}
{' - '}{desc}
Step {stepNum}.
{text}
To add the bot to your stream make sure you have logged in then follow
the steps below.
{!twitchLinked && (
)}