feat: Improve leaderboard and role list display by adding conditional separators for better readability

This commit is contained in:
Slipstream 2025-05-30 19:55:28 -06:00
parent fcfae913c5
commit bae99da412
Signed by: slipstream
GPG Key ID: 13E498CE010AC6FD

View File

@ -451,8 +451,9 @@ class LevelingCog(commands.Cog):
user_section.add_item(ui.TextDisplay(f"Level: {data['level']} | XP: {data['xp']}"))
# Add separator to the main_container
if i < len(sorted_leaderboard_data[:10]):
main_container.add_item(ui.Separator(spacing=discord.SeparatorSpacing.small, visible=False))
if i < len(sorted_leaderboard_data[:10]): # not the last row
separator = ui.Separator(spacing=discord.SeparatorSpacing.small)
main_container.add_item(separator)
view = LeaderboardView(ctx.guild.name, sorted_data, guild_members)
await ctx.send(view=view)
@ -540,7 +541,8 @@ class LevelingCog(commands.Cog):
main_container.add_item(role_section)
if level != sorted_roles_items[-1][0]: # Add separator if not the last item
main_container.add_item(ui.Separator(spacing=discord.SeparatorSpacing.small, visible=False))
separator = ui.Separator(spacing=discord.SeparatorSpacing.small)
main_container.add_item(separator)
view = ListLevelRolesView(ctx.guild, self.level_roles[ctx.guild.id])
@ -992,7 +994,9 @@ class LevelingCog(commands.Cog):
# For potentially long lists, join with newline. TextDisplay handles multiline.
created_section.add_item(ui.TextDisplay("\n".join(created_roles_list) if created_roles_list else "None"))
main_container.add_item(created_section)
main_container.add_item(ui.Separator(spacing=discord.SeparatorSpacing.small, visible=False))
if created_roles_list: # Only add separator if there are created roles
separator = ui.Separator(spacing=discord.SeparatorSpacing.small)
main_container.add_item(separator)
if updated_roles_list:
@ -1000,7 +1004,9 @@ class LevelingCog(commands.Cog):
updated_section.add_item(ui.TextDisplay("**Updated Roles:**"))
updated_section.add_item(ui.TextDisplay("\n".join(updated_roles_list) if updated_roles_list else "None"))
main_container.add_item(updated_section)
main_container.add_item(ui.Separator(spacing=discord.SeparatorSpacing.small, visible=False))
if updated_roles_list: # Only add separator if there are updated roles
separator = ui.Separator(spacing=discord.SeparatorSpacing.small)
main_container.add_item(separator)
gender_detection_section = ui.Section(accessory=None) # Explicitly pass accessory=None
gender_detection_section.add_item(ui.TextDisplay("**Gender Detection:**"))