From 58f83d280900aeed80dbcf139ea893ffcd5d9290 Mon Sep 17 00:00:00 2001 From: Regalijan <72576136+Regalijan@users.noreply.github.com> Date: Mon, 23 Oct 2023 19:52:29 -0400 Subject: [PATCH] "Finish" this atrocity --- app/routes/me.tsx | 111 +++++++++++++++++++++++++++++++++++++++------- 1 file changed, 95 insertions(+), 16 deletions(-) diff --git a/app/routes/me.tsx b/app/routes/me.tsx index 4e39dc9..242de2f 100644 --- a/app/routes/me.tsx +++ b/app/routes/me.tsx @@ -45,22 +45,29 @@ export async function loader({ context }: { context: RequestContext }) { const settledPromises = await Promise.allSettled(d1Promises); - return settledPromises.filter((p) => { - if (p.status === "fulfilled") return p.value.results; + const data = { + items: settledPromises.filter((p) => { + if (p.status === "fulfilled") return p.value.results; - return null; - }) as any as ({ [k: string]: any }[] | null)[]; + return null; + }) as any as ({ [k: string]: any }[] | null)[], + permissions: currentUser.permissions as number, + }; + + return data; } export default function () { - const data: ({ [k: string]: any }[] | null)[] = - useLoaderData(); + const data: { + items: ({ [k: string]: any }[] | null)[]; + permissions: number; + } = useLoaderData(); const timeStates: { [k: number]: { data: string; set: Dispatch> }; } = {}; const toast = useToast(); - for (const result of data) { + for (const result of data.items) { if (!result) continue; for (const row of result) { @@ -231,7 +238,7 @@ export default function () {

Discord Appeals - + @@ -242,8 +249,47 @@ export default function () { - {data[0] - ? data[0].map((result) => { + {data.items[0]?.map((result) => { + return ( + + + + + + + ); + })} + +
{timeStates[result.created_at].data}{result.id} + {result.open + ? "Pending" + : typeof result.approved === "boolean" + ? `${result.approved ? "Accepted" : "Denied"}` + : "Unknown"} + + +
+
+
+ {[1 << 2, 1 << 3, 1 << 9, 1 << 10].find((p) => data.permissions & p) ? ( + <> + Inactivity Notices + + + + + + + + + + + + {data.items[1]?.map((result) => { return ( @@ -251,14 +297,14 @@ export default function () { ); - }) - : undefined} + })} + +
DateIDStatusView
{timeStates[result.created_at].data} {result.open ? "Pending" - : typeof result.approved === "boolean" - ? `${result.approved ? "Accepted" : "Denied"}` - : "Unknown"} + : Object.values(result.decisions).find((d) => !d) + ? "Denied" + : "Approved"}
+
+
+ + ) : null} + Reports + + + + + + + + + + + + {data.items[2]?.map((result) => { + return ( + + + + + + + ); + })}
DateIDStatusView
{timeStates[result.created_at].data}{result.id}{result.open ? "Pending" : "Reviewed"} + +