cosmos-explorer/src/hooks/useGraphPhoto.tsx
Laurent Nguyen 90c1439d34
Update prettier to latest. Remove tslint (#1641)
* Rev up prettier

* Reformat

* Remove deprecated tslint

* Remove call to tslint and update package-lock.json
2023-10-03 17:13:24 +02:00

31 lines
836 B
TypeScript

import { useEffect, useState } from "react";
import { configContext } from "../ConfigContext";
export async function fetchPhoto(accessToken: string): Promise<Blob | void> {
const headers = new Headers();
const bearer = `Bearer ${accessToken}`;
headers.append("Authorization", bearer);
headers.append("Content-Type", "image/jpg");
const options = {
method: "GET",
headers: headers,
};
return fetch(`${configContext.GRAPH_ENDPOINT}/me/thumbnailPhoto?api-version=1.6`, options).then((response) =>
response.blob(),
);
}
export function useGraphPhoto(graphToken: string): string {
const [photo, setPhoto] = useState<string>("");
useEffect(() => {
if (graphToken) {
fetchPhoto(graphToken).then((response) => setPhoto(URL.createObjectURL(response)));
}
}, [graphToken]);
return photo;
}