feat: Refactor UI component initialization for level and leaderboard displays to improve layout consistency
This commit is contained in:
parent
bcdfb697fd
commit
bb731506b9
@ -381,8 +381,8 @@ class LevelingCog(commands.Cog):
|
||||
current_row = 0
|
||||
|
||||
# Outer container for accent color
|
||||
outer_container = ui.Container(accent_colour=discord.Color.blue())
|
||||
self.add_item(outer_container, row=current_row)
|
||||
outer_container = ui.Container(accent_colour=discord.Color.blue(), row=current_row)
|
||||
self.add_item(outer_container)
|
||||
current_row += 1
|
||||
|
||||
# Prepare thumbnail accessory
|
||||
@ -391,18 +391,18 @@ class LevelingCog(commands.Cog):
|
||||
thumbnail_accessory = ui.Thumbnail(media=target_member.display_avatar.url, description="User Avatar")
|
||||
|
||||
# Section to hold content and thumbnail as accessory
|
||||
section = ui.Section(accessory=thumbnail_accessory)
|
||||
self.add_item(section, row=current_row)
|
||||
section = ui.Section(accessory=thumbnail_accessory, row=current_row)
|
||||
self.add_item(section)
|
||||
current_row += 1
|
||||
|
||||
# Add text components, each on its own row
|
||||
self.add_item(ui.TextDisplay(f"**{target_member.display_name}'s Level**"), row=current_row)
|
||||
self.add_item(ui.TextDisplay(f"**{target_member.display_name}'s Level**", row=current_row))
|
||||
current_row += 1
|
||||
self.add_item(ui.TextDisplay(f"**Level:** {level}\n**XP:** {xp} / {xp_needed}"), row=current_row)
|
||||
self.add_item(ui.TextDisplay(f"**Level:** {level}\n**XP:** {xp} / {xp_needed}", row=current_row))
|
||||
current_row += 1
|
||||
self.add_item(ui.Separator(spacing=discord.SeparatorSpacing.small), row=current_row)
|
||||
self.add_item(ui.Separator(spacing=discord.SeparatorSpacing.small, row=current_row))
|
||||
current_row += 1
|
||||
self.add_item(ui.TextDisplay(f"**Progress to Level {next_level}:**\n[{bar}] {progress_percent}%"), row=current_row)
|
||||
self.add_item(ui.TextDisplay(f"**Progress to Level {next_level}:**\n[{bar}] {progress_percent}%", row=current_row))
|
||||
current_row += 1
|
||||
|
||||
view = LevelCheckView(target, level, xp, xp_needed, next_level, bar, int(progress * 100))
|
||||
@ -433,17 +433,17 @@ class LevelingCog(commands.Cog):
|
||||
|
||||
current_row = 0
|
||||
|
||||
main_container = ui.Container(accent_colour=discord.Color.gold())
|
||||
self.add_item(main_container, row=current_row)
|
||||
main_container = ui.Container(accent_colour=discord.Color.gold(), row=current_row)
|
||||
self.add_item(main_container)
|
||||
current_row += 1
|
||||
|
||||
self.add_item(ui.TextDisplay(f"**{guild_name} Level Leaderboard**"), row=current_row)
|
||||
self.add_item(ui.TextDisplay(f"**{guild_name} Level Leaderboard**", row=current_row))
|
||||
current_row += 1
|
||||
self.add_item(ui.Separator(spacing=discord.SeparatorSpacing.small), row=current_row)
|
||||
self.add_item(ui.Separator(spacing=discord.SeparatorSpacing.small, row=current_row))
|
||||
current_row += 1
|
||||
|
||||
if not sorted_leaderboard_data:
|
||||
self.add_item(ui.TextDisplay("The leaderboard is empty!"), row=current_row)
|
||||
self.add_item(ui.TextDisplay("The leaderboard is empty!", row=current_row))
|
||||
current_row += 1
|
||||
return
|
||||
|
||||
@ -453,8 +453,8 @@ class LevelingCog(commands.Cog):
|
||||
continue
|
||||
|
||||
# Each user's entry gets its own section and is added to the view
|
||||
user_section = ui.Section(accessory=None)
|
||||
self.add_item(user_section, row=current_row)
|
||||
user_section = ui.Section(accessory=None, row=current_row)
|
||||
self.add_item(user_section)
|
||||
current_row += 1
|
||||
|
||||
# Add text components to the user_section (these are children of user_section, not the main view)
|
||||
@ -463,7 +463,7 @@ class LevelingCog(commands.Cog):
|
||||
|
||||
# Add separator to the view
|
||||
if i < len(sorted_leaderboard_data[:10]):
|
||||
self.add_item(ui.Separator(spacing=discord.SeparatorSpacing.small, visible=False), row=current_row)
|
||||
self.add_item(ui.Separator(spacing=discord.SeparatorSpacing.small, visible=False, row=current_row))
|
||||
current_row += 1
|
||||
|
||||
view = LeaderboardView(ctx.guild.name, sorted_data, guild_members)
|
||||
|
Loading…
x
Reference in New Issue
Block a user