import React, { useRef, useState, useEffect } from "react"; import { DataTable } from "primereact/datatable"; import { Menu } from "primereact/menu"; import { Column } from "primereact/column"; import { useImageProxy } from "@/hooks/useImageProxy"; import { useSession } from 'next-auth/react'; import { ProgressSpinner } from "primereact/progressspinner"; import PurchasedListItem from "@/components/profile/PurchasedListItem"; 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 GithubContributionChart from "@/components/charts/GithubContributionChart"; import useWindowWidth from "@/hooks/useWindowWidth"; import { useToast } from "@/hooks/useToast"; import UserProgress from "@/components/profile/progress/UserProgress"; const UserProfile = () => { const windowWidth = useWindowWidth(); const [user, setUser] = useState(null); const { data: session } = useSession(); const { returnImageProxy } = useImageProxy(); const { ndk, addSigner } = useNDKContext(); const { showToast } = useToast(); const menu = useRef(null); useEffect(() => { if (session?.user) { setUser(session.user); } }, [session]); const menuItems = [ { label: "Edit", icon: "pi pi-pencil", command: () => { showToast("warn", "Alert", "This feature is not yet implemented"); }, }, { label: "Delete", icon: "pi pi-trash", command: () => { showToast("warn", "Alert", "This feature is not yet implemented"); }, }, ]; const header = (
Progress
); return ( user && (
{ windowWidth < 768 && (

Profile

) }
user's avatar menu.current.toggle(e)} >

{user.username || user?.email || "Anon"}

{nip19.npubEncode(user.pubkey)}

{!session || !session?.user || !ndk ? (
) : ( { console.log("rowData", rowData); return }} header="Name" > item.courseId) ? "course" : "resource"} header="Category"> formatDateTime(rowData?.createdAt)} header="Date"> )}
) ); }; export default UserProfile;