refactor: Simplify UI component structure in UserInfoCog by removing unnecessary sections for dates, status, activity, roles, and voice state

This commit is contained in:
Slipstream 2025-05-31 12:27:08 -06:00
parent 33cbc52745
commit 4e0649f7ed
Signed by: slipstream
GPG Key ID: 13E498CE010AC6FD

View File

@ -56,43 +56,32 @@ class UserInfoCog(commands.Cog):
main_container.add_item(ui.Separator(spacing=discord.SeparatorSpacing.small))
# Dates Section
dates_section = ui.Section(accessory=None)
main_container.add_item(dates_section)
dates_section.add_item(ui.TextDisplay(f"**Joined Server:** {joined_at_str}"))
dates_section.add_item(ui.TextDisplay(f"**Account Created:** {created_at_str}"))
# Dates
main_container.add_item(ui.TextDisplay(f"**Joined Server:** {joined_at_str}"))
main_container.add_item(ui.TextDisplay(f"**Account Created:** {created_at_str}"))
main_container.add_item(ui.Separator(spacing=discord.SeparatorSpacing.small))
# Status & Activity Section
status_activity_section = ui.Section(accessory=None)
main_container.add_item(status_activity_section)
status_activity_section.add_item(ui.TextDisplay(f"**Status:** {status_str}"))
status_activity_section.add_item(ui.TextDisplay(f"**Activity:** {activity_str}"))
# Status & Activity
main_container.add_item(ui.TextDisplay(f"**Status:** {status_str}"))
main_container.add_item(ui.TextDisplay(f"**Activity:** {activity_str}"))
if target_member.nick:
status_activity_section.add_item(ui.TextDisplay(f"**Nickname:** {target_member.nick}"))
main_container.add_item(ui.TextDisplay(f"**Nickname:** {target_member.nick}"))
main_container.add_item(ui.Separator(spacing=discord.SeparatorSpacing.small))
# Roles Section
roles_section = ui.Section(accessory=None)
main_container.add_item(roles_section)
roles_section.add_item(ui.TextDisplay(f"**Roles ({len(roles)}):**"))
# Roles
main_container.add_item(ui.TextDisplay(f"**Roles ({len(roles)}):**"))
if roles:
# For a long list of roles, it's better to display them as a single block
# or handle pagination if it's extremely long.
# For now, a single TextDisplay item.
roles_section.add_item(ui.TextDisplay(roles_str))
main_container.add_item(ui.TextDisplay(roles_str))
else:
roles_section.add_item(ui.TextDisplay("None"))
main_container.add_item(ui.TextDisplay("None"))
# Voice State
if target_member.voice:
main_container.add_item(ui.Separator(spacing=discord.SeparatorSpacing.small))
voice_section = ui.Section(accessory=None)
main_container.add_item(voice_section)
voice_section.add_item(ui.TextDisplay(f"**Voice Channel:** {target_member.voice.channel.mention if target_member.voice.channel else 'Not in a channel'}"))
main_container.add_item(ui.TextDisplay(f"**Voice Channel:** {target_member.voice.channel.mention if target_member.voice.channel else 'Not in a channel'}"))
voice_state_details = []
if target_member.voice.self_mute: voice_state_details.append("Muted (Self)")
if target_member.voice.self_deaf: voice_state_details.append("Deafened (Self)")
@ -101,7 +90,7 @@ class UserInfoCog(commands.Cog):
if target_member.voice.self_stream: voice_state_details.append("Streaming")
if target_member.voice.self_video: voice_state_details.append("Video On")
if voice_state_details:
voice_section.add_item(ui.TextDisplay(f"**Voice State:** {', '.join(voice_state_details)}"))
main_container.add_item(ui.TextDisplay(f"**Voice State:** {', '.join(voice_state_details)}"))
# Add more sections as needed (e.g., permissions)