From 1606aa7f9f86eab272bfabd552f4f1b8f308bfda Mon Sep 17 00:00:00 2001
From: Sam Maselli <sammypet3@gmail.com>
Date: Sun, 29 Dec 2024 18:18:37 -0500
Subject: [PATCH] crossed out outlines menu

---
 client/src/game/messageListener.tsx           |  2 +-
 .../game/gameScreenContent/GraveyardMenu.tsx  | 31 +++++++------------
 2 files changed, 13 insertions(+), 20 deletions(-)

diff --git a/client/src/game/messageListener.tsx b/client/src/game/messageListener.tsx
index 8dccde8da..0fef89ba6 100644
--- a/client/src/game/messageListener.tsx
+++ b/client/src/game/messageListener.tsx
@@ -437,7 +437,7 @@ export default function messageListener(packet: ToClientPacket){
         case "yourCrossedOutOutlines":
             if(GAME_MANAGER.state.stateType === "game" && GAME_MANAGER.state.clientState.type === "player")
                 GAME_MANAGER.state.clientState.crossedOutOutlines = packet.crossedOutOutlines;
-            break;
+        break;
         case "yourDeathNote":
             if(GAME_MANAGER.state.stateType === "game" && GAME_MANAGER.state.clientState.type === "player")
                 GAME_MANAGER.state.clientState.deathNote = packet.deathNote ?? "";
diff --git a/client/src/menu/game/gameScreenContent/GraveyardMenu.tsx b/client/src/menu/game/gameScreenContent/GraveyardMenu.tsx
index e555cda6a..e96c221c5 100644
--- a/client/src/menu/game/gameScreenContent/GraveyardMenu.tsx
+++ b/client/src/menu/game/gameScreenContent/GraveyardMenu.tsx
@@ -33,37 +33,30 @@ function RoleListDisplay(): ReactElement {
     )!
     const crossedOutOutlines = usePlayerState(
         clientState => clientState.crossedOutOutlines,
-        ["yourCrossedOutOutlines"]
-    )
+        ["yourCrossedOutOutlines"],
+        []
+    )!
 
     return <>
-        { roleList.map((entry, index)=>{
-            const roleOutlineName = translateRoleOutline(entry);
-
-            return <Button 
+        {roleList.map((entry, index)=>{
+            return <Button
                 className="role-list-button placard"
-                style={{ gridRow: index + 1 }} 
-                key={roleOutlineName + crossedOutOutlines?.includes(index) + index}
+                style={{ gridRow: index + 1 }}
+                key={index}
                 onClick={()=>{
                     if (GAME_MANAGER.getMySpectator()) return;
 
-                    let newCrossedOutOutlines = crossedOutOutlines!;
-                    if(newCrossedOutOutlines.includes(index))
-                        newCrossedOutOutlines = newCrossedOutOutlines.filter(x=>x!==index);
+                    let newCrossedOutOutlines;
+                    if(crossedOutOutlines.includes(index))
+                        newCrossedOutOutlines = crossedOutOutlines.filter(x=>x!==index);
                     else
-                        newCrossedOutOutlines.push(index);
+                        newCrossedOutOutlines = crossedOutOutlines.concat(index);
 
                     GAME_MANAGER.sendSaveCrossedOutOutlinesPacket(newCrossedOutOutlines);
                 }}
-                onMouseDown={(e)=>{
-                    // on right click, show a list of all roles that can be in this bucket
-                    // if(e.button === 2){
-                    //     e.preventDefault();
-                    // }
-                }}
             >
                 {
-                    crossedOutOutlines?.includes(index) ? 
+                    crossedOutOutlines.includes(index) ? 
                     <s><StyledText>
                         {translateRoleOutline(entry)}
                     </StyledText></s> :