39 lines
1.4 KiB
TypeScript
39 lines
1.4 KiB
TypeScript
import React, { useEffect, useState } from "react";
|
|
import {
|
|
useSocketStore
|
|
} from "../store/builder/store";
|
|
import DashboardHome from "../components/Dashboard/DashboardHome";
|
|
import DashboardProjects from "../components/Dashboard/DashboardProjects";
|
|
import DashboardTrash from "../components/Dashboard/DashboardTrash";
|
|
import { getUserData } from "../functions/getUserData";
|
|
import SidePannel from "../components/Dashboard/SidePannel";
|
|
import DashboardTutorial from "../components/Dashboard/DashboardTutorial";
|
|
|
|
const Dashboard: React.FC = () => {
|
|
const [activeTab, setActiveTab] = useState<string>("Home");
|
|
const { socket } = useSocketStore();
|
|
const { organization, email } = getUserData();
|
|
|
|
useEffect(() => {
|
|
const token = localStorage.getItem("token");
|
|
const refreshToken = localStorage.getItem("refreshToken")
|
|
if (token) {
|
|
useSocketStore.getState().initializeSocket(email, organization, token, refreshToken);
|
|
} else {
|
|
|
|
}
|
|
}, [socket]);
|
|
|
|
return (
|
|
<div className="dashboard-main">
|
|
<SidePannel setActiveTab={setActiveTab} activeTab={activeTab} />
|
|
{activeTab == "Home" && <DashboardHome />}
|
|
{activeTab == "Projects" && <DashboardProjects />}
|
|
{activeTab == "Trash" && <DashboardTrash />}
|
|
{activeTab == "Tutorials" && <DashboardTutorial />}
|
|
</div>
|
|
);
|
|
};
|
|
|
|
export default Dashboard;
|