Add support for gme

This commit is contained in:
2023-11-08 13:01:57 -05:00
parent 5c3b9c29e5
commit 513bd58602
2 changed files with 158 additions and 6 deletions

View File

@ -30,6 +30,7 @@ import { useLoaderData } from "@remix-run/react";
import AppealBans from "../../components/AppealBans.js";
import AppealCard from "../../components/AppealCard.js";
import GameAppealCard from "../../components/GameAppealCard.js";
import GameModManagementModal from "../../components/GameModManagementModal.js";
import NewGameBan from "../../components/NewGameBan.js";
import NewInfractionModal from "../../components/NewInfractionModal.js";
import ReportCard from "../../components/ReportCard.js";
@ -62,6 +63,7 @@ export async function loader({ context }: { context: RequestContext }) {
const newItemNames: { [k: string]: string } = {
appeal_bans: "Appeal Bans",
game_ban: "New Game Ban",
gme: "Game Mod Management",
inactivity: "New Inactivity Notice",
infraction: "New Infraction",
user_lookup: "User Lookup",
@ -70,7 +72,7 @@ export async function loader({ context }: { context: RequestContext }) {
const typePermissions = {
appeal: [1 << 0, 1 << 1],
gma: [1 << 5],
inactivity: [1 << 4, 1 << 6, 1 << 7, 1 << 11, 1 << 12],
inactivity: [1 << 3, 1 << 4, 1 << 6, 1 << 7, 1 << 11, 1 << 12],
report: [1 << 5],
};
@ -81,6 +83,12 @@ export async function loader({ context }: { context: RequestContext }) {
report: "Game Reports",
};
const can_edit_ban_users = [
"165594923586945025",
"289372404541554689",
"396347223736057866",
].includes(currentUser.id);
const allowedNewItems = [];
const allowedTypes = [];
@ -94,17 +102,16 @@ export async function loader({ context }: { context: RequestContext }) {
allowedTypes.push({ name: typeNames[type], value: type });
}
if (can_edit_ban_users)
allowedNewItems.push({ name: "Game Mod Management", value: "gme" });
if (!allowedTypes.length && !allowedNewItems.length)
throw new Response(null, {
status: 403,
});
return {
can_edit_ban_users: [
"165594923586945025",
"289372404541554689",
"396347223736057866",
].includes(currentUser.id),
can_edit_ban_users,
departments: Object.entries(departments)
.filter((d) => d[1] & currentUser.permissions)
.map((arr) => arr[0]),
@ -316,6 +323,7 @@ export default function () {
} = {
appeal_bans: useDisclosure(),
game_ban: useDisclosure(),
gme: useDisclosure(),
inactivity: useDisclosure(),
infraction: useDisclosure(),
user_lookup: {
@ -408,6 +416,10 @@ export default function () {
isOpen={itemModals.appeal_bans.isOpen}
onClose={itemModals.appeal_bans.onClose}
/>
<GameModManagementModal
isOpen={itemModals.gme.isOpen}
onClose={itemModals.gme.onClose}
/>
<NewGameBan
isOpen={itemModals.game_ban.isOpen}
onClose={itemModals.game_ban.onClose}