"use client"; import Link from "next/link"; import Image from "next/image"; import { useEffect } from "react"; import { useBoolean, fetch } from "@/utils"; import { CloseIcon, CloudIcon, CogneeIcon } from "../Icons"; import { CTAButton, GhostButton, IconButton, Modal, StatusDot } from "../elements"; import syncData from "@/modules/cloud/syncData"; interface HeaderProps { user?: { name: string; email: string; picture: string; }; } export default function Header({ user }: HeaderProps) { const { value: isSyncModalOpen, setTrue: openSyncModal, setFalse: closeSyncModal, } = useBoolean(false); const { value: isMCPConnected, setTrue: setMCPConnected, setFalse: setMCPDisconnected, } = useBoolean(false); const handleDataSyncConfirm = () => { syncData() .finally(() => { closeSyncModal(); }); }; useEffect(() => { const checkMCPConnection = () => { fetch.checkMCPHealth() .then(() => setMCPConnected()) .catch(() => setMCPDisconnected()); }; checkMCPConnection(); const interval = setInterval(checkMCPConnection, 30000); return () => clearInterval(interval); }, [setMCPConnected, setMCPDisconnected]); return ( <>
Cognee Local
{ isMCPConnected ? "MCP connected" : "MCP disconnected" }
Sync
Premium API keys {/*
*/} {user?.picture ? ( Name of the user ) : (
{user?.email?.charAt(0) || "C"}
)}
Sync local datasets with cloud datasets?
Are you sure you want to sync local datasets to cloud?
cancel confirm
); }