diff --git a/src/commands/mod/info.ts b/src/commands/mod/info.ts
index 6e9abed..61a01e2 100644
--- a/src/commands/mod/info.ts
+++ b/src/commands/mod/info.ts
@@ -159,12 +159,18 @@
         if (openFilterPane) components = components.concat([
             new ActionRowBuilder<Discord.StringSelectMenuBuilder>().addComponents(
                 new Discord.StringSelectMenuBuilder().setOptions(
-                    ...Object.entries(types).map(([key, value]) => new StringSelectMenuOptionBuilder()
-                        .setLabel(value.text)
-                        .setValue(key)
-                        .setDefault(filteredTypes.includes(key))
-                        .setEmoji(client.emojis.resolve(getEmojiByName(value.emoji, "id"))! as APIMessageComponentEmoji)
-                    )
+                    // ...Object.entries(types).map(([key, value]) => new StringSelectMenuOptionBuilder()
+                    //     .setLabel(value.text)
+                    //     .setValue(key)
+                    //     .setDefault(filteredTypes.includes(key))
+                    //     .setEmoji(client.emojis.resolve(getEmojiByName(value.emoji, "id"))! as APIMessageComponentEmoji)
+                    // )
+                    ...Object.entries(types).map(([key, value]) => ({
+                        label: value.text,
+                        value: key,
+                        default: filteredTypes.includes(key),
+                        emoji: client.emojis.resolve(getEmojiByName(value.emoji, "id"))! as APIMessageComponentEmoji
+                    }))
                 )
                 .setMinValues(1)
                 .setMaxValues(Object.keys(types).length)
