diff --git a/components/GameAppealCard.tsx b/components/GameAppealCard.tsx
index 16712e3..cf05e12 100644
--- a/components/GameAppealCard.tsx
+++ b/components/GameAppealCard.tsx
@@ -23,6 +23,7 @@ import { useState } from "react";
 export default function (props: GameAppealProps & { port?: MessagePort }) {
   const [loading, setLoading] = useState(false);
   const [percentage, setPercentage] = useState(0);
+  const { isOpen, onClose, onOpen } = useDisclosure();
   const toast = useToast();
 
   async function performAction(action: "accept" | "deny"): Promise<void> {
@@ -59,11 +60,10 @@ export default function (props: GameAppealProps & { port?: MessagePort }) {
     );
 
     setLoading(false);
+    onClose();
     props.port?.postMessage(`gma_${props.id}`);
   }
 
-  const { isOpen, onClose, onOpen } = useDisclosure();
-
   return (
     <Card
       id={`gma_${props.roblox_id}${props.created_at}`}