diff --git a/apps/web/components/navigation.tsx b/apps/web/components/navigation.tsx index be25d2c24..b419dbfa8 100644 --- a/apps/web/components/navigation.tsx +++ b/apps/web/components/navigation.tsx @@ -17,6 +17,7 @@ import { WrenchIcon, } from "@heroicons/react/24/outline"; import Logo from "./logo"; +import { getUser } from "@documenso/lib/api"; const navigation = [ { @@ -86,9 +87,8 @@ export default function TopNavigation() { }); useEffect(() => { - // todo encapsulate - fetch("/api/users/me").then((res) => { - res.json().then((j) => { + getUser().then((res) => { + res.json().then((j: any) => { setUser(j); }); }); diff --git a/apps/web/components/settings.tsx b/apps/web/components/settings.tsx index bb894389a..5921411b5 100644 --- a/apps/web/components/settings.tsx +++ b/apps/web/components/settings.tsx @@ -6,6 +6,7 @@ import Head from "next/head"; import { useSession } from "next-auth/react"; import { updateUser } from "@documenso/features"; import { Button } from "@documenso/ui"; +import { getUser } from "@documenso/lib/api"; const subNavigation = [ { @@ -34,9 +35,8 @@ export default function Setttings() { }); useEffect(() => { - // todo encapsulate - fetch("/api/users/me").then((res) => { - res.json().then((j) => { + getUser().then((res: any) => { + res.json().then((j: any) => { setUser(j); }); }); diff --git a/packages/lib/api/getUser.ts b/packages/lib/api/getUser.ts new file mode 100644 index 000000000..2328bf4fb --- /dev/null +++ b/packages/lib/api/getUser.ts @@ -0,0 +1,3 @@ +export const getUser = (): Promise => { + return fetch("/api/users/me"); +}; diff --git a/packages/lib/api/index.ts b/packages/lib/api/index.ts index c60ca09da..c7241e5e3 100644 --- a/packages/lib/api/index.ts +++ b/packages/lib/api/index.ts @@ -1,3 +1,4 @@ export { createOrUpdateField } from "./createOrUpdateField"; export { deleteField } from "./deleteField"; export { signDocument } from "./signDocument"; +export { getUser } from "./getUser";