From a19b6ed4ef829697fd0be153af5e27c99f267787 Mon Sep 17 00:00:00 2001
From: Andrew Lee <andrew@alee14.me>
Date: Sun, 23 Mar 2025 16:24:32 -0400
Subject: Fundementials of the new dashboard

---
 web/src/app/components/Guilds.jsx | 25 +++++++++++++++++++++++++
 1 file changed, 25 insertions(+)
 create mode 100644 web/src/app/components/Guilds.jsx

(limited to 'web/src/app/components/Guilds.jsx')

diff --git a/web/src/app/components/Guilds.jsx b/web/src/app/components/Guilds.jsx
new file mode 100644
index 0000000..50baa98
--- /dev/null
+++ b/web/src/app/components/Guilds.jsx
@@ -0,0 +1,25 @@
+
+export default async function Guilds({session}) {
+
+    const response = await fetch("https://discord.com/api/users/@me/guilds", {
+        headers: {
+            Authorization: `Bearer ${session.accessToken}`,
+        },
+    });
+    const guilds = await response.json();
+
+    const MANAGE_GUILD = 0x00000020;
+
+    const filteredGuilds = guilds.filter((guild) => {
+        // Convert permissions string to a BigInt for bitwise operations
+        const permissions = BigInt(guild.permissions);
+        // Check if MANAGE_GUILD bit is set
+        return (permissions & BigInt(MANAGE_GUILD)) === BigInt(MANAGE_GUILD);
+    });
+
+    return filteredGuilds.map((guild) => (
+        <div key={guild.id}>
+            <h2>{guild.name}</h2>
+        </div>
+    ))
+}
-- 
cgit v1.2.3

