feat: Refactor level display layout to improve structure and accessibility
This commit is contained in:
parent
859b20dfe1
commit
6f77a9cc73
@ -378,24 +378,25 @@ class LevelingCog(commands.Cog):
|
||||
def __init__(self, target_member: discord.Member, level: int, xp: int, xp_needed: int, next_level: int, bar: str, progress_percent: int):
|
||||
super().__init__()
|
||||
|
||||
# Container for overall layout, possibly with accent color
|
||||
container = ui.Container(accent_colour=discord.Color.blue())
|
||||
self.add_item(container)
|
||||
# Outer container for accent color
|
||||
outer_container = ui.Container(accent_colour=discord.Color.blue())
|
||||
self.add_item(outer_container)
|
||||
|
||||
# Title
|
||||
container.add_item(ui.TextDisplay(f"**{target_member.display_name}'s Level**")) # Using TextDisplay for title
|
||||
|
||||
# Thumbnail
|
||||
# Section to hold content and thumbnail as accessory
|
||||
section = ui.Section()
|
||||
if target_member.display_avatar:
|
||||
container.add_item(ui.Thumbnail(media=target_member.display_avatar.url, description="User Avatar"))
|
||||
|
||||
# Main content
|
||||
container.add_item(ui.TextDisplay(f"**Level:** {level}"))
|
||||
container.add_item(ui.TextDisplay(f"**XP:** {xp} / {xp_needed}"))
|
||||
container.add_item(ui.Separator(spacing=discord.SeparatorSpacing.small)) # Adding a separator
|
||||
container.add_item(ui.TextDisplay(f"**Progress to Level {next_level}:**"))
|
||||
container.add_item(ui.TextDisplay(f"[{bar}] {progress_percent}%"))
|
||||
section.accessory = ui.Thumbnail(media=target_member.display_avatar.url, description="User Avatar")
|
||||
|
||||
outer_container.add_item(section)
|
||||
|
||||
# Add text components to the section
|
||||
section.add_item(ui.TextDisplay(f"**{target_member.display_name}'s Level**"))
|
||||
section.add_item(ui.TextDisplay(f"**Level:** {level}"))
|
||||
section.add_item(ui.TextDisplay(f"**XP:** {xp} / {xp_needed}"))
|
||||
section.add_item(ui.Separator(spacing=discord.SeparatorSpacing.small))
|
||||
section.add_item(ui.TextDisplay(f"**Progress to Level {next_level}:**"))
|
||||
section.add_item(ui.TextDisplay(f"[{bar}] {progress_percent}%"))
|
||||
|
||||
view = LevelCheckView(target, level, xp, xp_needed, next_level, bar, int(progress * 100))
|
||||
await ctx.send(view=view)
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user