import React, { useRef, useState, useEffect } from "react"; import { Menu } from "primereact/menu"; import { useImageProxy } from "@/hooks/useImageProxy"; import { useSession } from 'next-auth/react'; import { useNDKContext } from "@/context/NDKContext"; import { formatDateTime } from "@/utils/time"; import { Tooltip } from "primereact/tooltip"; import { nip19 } from "nostr-tools"; import Image from "next/image"; import CombinedContributionChart from "@/components/charts/CombinedContributionChart"; import GithubContributionChart from "@/components/charts/GithubContributionChart"; import ActivityContributionChart from "@/components/charts/ActivityContributionChart"; import GithubContributionChartDisabled from "@/components/charts/GithubContributionChartDisabled"; import useCheckCourseProgress from "@/hooks/tracking/useCheckCourseProgress"; import useWindowWidth from "@/hooks/useWindowWidth"; import { useToast } from "@/hooks/useToast"; import UserProgress from "@/components/profile/progress/UserProgress"; import UserProgressTable from '@/components/profile/DataTables/UserProgressTable'; import UserPurchaseTable from '@/components/profile/DataTables/UserPurchaseTable'; const UserProfile = () => { const windowWidth = useWindowWidth(); const [user, setUser] = useState(null); const [account, setAccount] = useState(null); const { data: session } = useSession(); const { returnImageProxy } = useImageProxy(); const { ndk, addSigner } = useNDKContext(); const { showToast } = useToast(); const menu = useRef(null); useCheckCourseProgress(); const copyToClipboard = (text) => { navigator.clipboard.writeText(text); showToast("success", "Copied", "Copied to clipboard"); }; useEffect(() => { if (session?.user) { console.log("Session", session) setUser(session.user); if (session?.account) { setAccount(session.account); } } }, [session]); const header = (