import clsx from 'clsx' import React, { useState } from 'react' import toast from 'react-hot-toast' import { copyToClipboard } from 'web/lib/util/copy' import { linkTwitchAccount } from 'web/lib/twitch/link-twitch-account' import { LinkIcon } from '@heroicons/react/solid' import { track } from 'web/lib/service/analytics' import { Button } from './button' import { LoadingIndicator } from './loading-indicator' import { Row } from './layout/row' import { usePrivateUser, useUser } from 'web/hooks/use-user' export function TwitchPanel() { const user = useUser() const privateUser = usePrivateUser() const twitchName = privateUser?.twitchInfo?.twitchName const twitchToken = privateUser?.twitchInfo?.controlToken const linkIcon =
const copyOverlayLink = async () => { copyToClipboard(`http://localhost:1000/overlay?t=${twitchToken}`) toast.success('Overlay link copied!', { icon: linkIcon, }) } const copyDockLink = async () => { copyToClipboard(`http://localhost:1000/dock?t=${twitchToken}`) toast.success('Dock link copied!', { icon: linkIcon, }) } const [twitchLoading, setTwitchLoading] = useState(false) const createLink = async () => { if (!user || !privateUser) return setTwitchLoading(true) const promise = linkTwitchAccount(user, privateUser) track('link twitch from profile') await promise setTwitchLoading(false) } return ( <>