import React, { useState, useEffect } from 'react'; import './Client.scss'; import Text from '../../atoms/text/Text'; import Spinner from '../../atoms/spinner/Spinner'; import Navigation from '../../organisms/navigation/Navigation'; import ReusableContextMenu from '../../atoms/context-menu/ReusableContextMenu'; import Room from '../../organisms/room/Room'; import Windows from '../../organisms/pw/Windows'; import Dialogs from '../../organisms/pw/Dialogs'; import EmojiBoardOpener from '../../organisms/emoji-board/EmojiBoardOpener'; import logout from '../../../client/action/logout'; import initMatrix from '../../../client/initMatrix'; import navigation from '../../../client/state/navigation'; import cons from '../../../client/state/cons'; function Client() { const [isLoading, changeLoading] = useState(true); const [loadingMsg, setLoadingMsg] = useState('Heating up'); useEffect(() => { let counter = 0; const iId = setInterval(() => { const msgList = [ 'Sometimes it takes a while...', 'Looks like you have a lot of stuff to heat up!', ]; if (counter === msgList.length - 1) { setLoadingMsg(msgList[msgList.length - 1]); clearInterval(iId); return; } setLoadingMsg(msgList[counter]); counter += 1; }, 9000); initMatrix.once('init_loading_finished', () => { clearInterval(iId); changeLoading(false); }); initMatrix.init(); }, []); if (isLoading) { return (
{loadingMsg}
Cinny
); } const handleDrag = (e) => { e.preventDefault(); if (!navigation.selectedRoomId) { e.dataTransfer.dropEffect = 'none'; } }; const handleDrop = (e) => { e.preventDefault(); const roomId = navigation.selectedRoomId; if (!roomId) return; const { files } = e.dataTransfer; if (!files) return; const file = files[0]; initMatrix.roomsInput.setAttachment(roomId, file); initMatrix.roomsInput.emit(cons.events.roomsInput.ATTACHMENT_SET, file); }; return (
); } export default Client;