Spaces:
Paused
Paused
File size: 1,528 Bytes
a0fda44 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 |
import DeleteChat from "./components/globals/DeleteChat";
import DeleteContact from "./components/globals/DeleteContact";
import NewContactForm from "./components/globals/NewContactForm";
import Sidebar from "./components/globals/Sidebar";
import VoiceCallModal from "./components/globals/VoiceCallModal";
import VideoCallModal from "./components/globals/VideoCallModal";
import Authentication from "./pages/Authentication";
import Chat from "./pages/Chat";
import UserProfile from "./pages/UserProfile";
import useInit from "./hooks/useInit";
import Notification from "./components/globals/Notification";
import { useSelector } from "react-redux";
import useAppHeight from "./hooks/useAppHeight";
function App() {
// Initialize application
const { loggedIn } = useInit();
const modalType = useSelector((state) => state.modalReducer.type);
useAppHeight();
return (
<div className="w-full h-full flex overflow-hidden bg-primary relative">
{loggedIn && (
<>
{/* Sidebar to show ChatList, Contacts, Settings Page */}
<Sidebar />
{/* Chat to show messages */}
<Chat />
<UserProfile />
</>
)}
{!loggedIn && <Authentication />}
{/* Notification */}
<Notification />
{/* Modals */}
<DeleteChat />
<DeleteContact />
<NewContactForm />
{modalType === "voiceCallModal" && <VoiceCallModal />}
{modalType === "videoCallModal" && <VideoCallModal />}
</div>
);
}
export default App;
|