mirror of
https://github.com/Mintplex-Labs/anything-llm.git
synced 2024-10-05 18:30:09 +02:00
31 lines
733 B
React
31 lines
733 B
React
|
import React, { createContext, useState, useEffect } from "react";
|
||
|
import useUser from "./hooks/useUser";
|
||
|
import System from "./models/system";
|
||
|
|
||
|
export const PfpContext = createContext();
|
||
|
|
||
|
export function PfpProvider({ children }) {
|
||
|
const [pfp, setPfp] = useState(null);
|
||
|
const { user } = useUser();
|
||
|
|
||
|
useEffect(() => {
|
||
|
async function fetchPfp() {
|
||
|
if (!user?.id) return;
|
||
|
try {
|
||
|
const pfpUrl = await System.fetchPfp(user.id);
|
||
|
setPfp(pfpUrl);
|
||
|
} catch (err) {
|
||
|
setPfp(null);
|
||
|
console.error("Failed to fetch pfp:", err);
|
||
|
}
|
||
|
}
|
||
|
fetchPfp();
|
||
|
}, [user?.id]);
|
||
|
|
||
|
return (
|
||
|
<PfpContext.Provider value={{ pfp, setPfp }}>
|
||
|
{children}
|
||
|
</PfpContext.Provider>
|
||
|
);
|
||
|
}
|