From 4b455f01b3909ec30f3be4e4cb9c51b68771ff7c Mon Sep 17 00:00:00 2001
From: Mathias Wagner <germannewsmaker@gmail.com>
Date: Mon, 13 Nov 2023 13:10:07 +0100
Subject: [PATCH] Created the UserProvider.jsx context

---
 .../contexts/UserProvider/UserProvider.jsx    | 20 +++++++++++++++++++
 .../Manage/contexts/UserProvider/index.js     |  1 +
 2 files changed, 21 insertions(+)
 create mode 100644 src/states/Manage/contexts/UserProvider/UserProvider.jsx
 create mode 100644 src/states/Manage/contexts/UserProvider/index.js

diff --git a/src/states/Manage/contexts/UserProvider/UserProvider.jsx b/src/states/Manage/contexts/UserProvider/UserProvider.jsx
new file mode 100644
index 0000000..7d0744b
--- /dev/null
+++ b/src/states/Manage/contexts/UserProvider/UserProvider.jsx
@@ -0,0 +1,20 @@
+import {createContext, useEffect, useState} from "react";
+import {jsonRequest} from "@/common/util/RequestUtil.js";
+
+export const UserContext = createContext({});
+
+export const UserProvider = ({children}) => {
+    const [user, setUser] = useState(null);
+
+    const updateUser = async () => jsonRequest("/user/@me").then((res) => setUser(res));
+
+    useEffect(() => {
+        updateUser();
+    }, []);
+
+    return (
+        <UserContext.Provider value={user}>
+            {children}
+        </UserContext.Provider>
+    )
+}
\ No newline at end of file
diff --git a/src/states/Manage/contexts/UserProvider/index.js b/src/states/Manage/contexts/UserProvider/index.js
new file mode 100644
index 0000000..53f74df
--- /dev/null
+++ b/src/states/Manage/contexts/UserProvider/index.js
@@ -0,0 +1 @@
+export * from "./UserProvider.jsx";
\ No newline at end of file