import { createClient, FluenceClient } from '@fluencelabs/fluence'; import React, { useEffect, useState } from 'react'; import './App.scss'; import { FluenceClientContext } from '../app/FluenceClientContext'; import { UserList } from './UserList'; import * as calls from 'src/app/api'; import { CollaborativeEditor } from './CollaborativeEditor'; import { relayNode } from 'src/app/constants'; const App = () => { const [client, setClient] = useState(null); const [isInRoom, setIsInRoom] = useState(false); const [nickName, setNickName] = useState('myNickName'); useEffect(() => { const fn = async () => { const c = await createClient(relayNode); setClient(c); }; fn(); }, []); const joinRoom = async () => { if (!client) { return; } await calls.join(client, nickName); setIsInRoom(true); }; const leaveRoom = async () => { if (!client) { return; } await calls.leave(client); setIsInRoom(false); }; return (
Connection status: {client ? 'connected' : 'disconnected'}
{ const name = e.target.value; setNickName(name); }} />
{isInRoom && client && }
{isInRoom && client && }
); }; export default App;