refactor(welcome): Consolidate info displays in welcome/goodbye messages
Group related member information and server statistics into single TextDisplay components. This streamlines the UI layout, reduces the number of elements, and potentially improves rendering efficiency.
This commit is contained in:
parent
aa43302903
commit
a2eb6f33f1
@ -41,12 +41,8 @@ class WelcomeMessageView(ui.LayoutView):
|
||||
header_section.add_item(ui.TextDisplay(message))
|
||||
|
||||
# Add member info to the header section
|
||||
header_section.add_item(ui.TextDisplay(f"**Member:** {member.display_name}"))
|
||||
header_section.add_item(ui.TextDisplay(f"**Account Created:** {member.created_at.strftime('%B %d, %Y')}"))
|
||||
|
||||
# Calculate account age
|
||||
account_age = datetime.now(timezone.utc) - member.created_at
|
||||
age_str = f"{account_age.days} days ago"
|
||||
if account_age.days >= 365:
|
||||
years = account_age.days // 365
|
||||
months = (account_age.days % 365) // 30
|
||||
@ -54,13 +50,23 @@ class WelcomeMessageView(ui.LayoutView):
|
||||
elif account_age.days >= 30:
|
||||
months = account_age.days // 30
|
||||
age_str = f"{months} month{'s' if months != 1 else ''} ago"
|
||||
else:
|
||||
age_str = f"{account_age.days} day{'s' if account_age.days != 1 else ''} ago"
|
||||
|
||||
header_section.add_item(ui.TextDisplay(f"**Account Age:** {age_str}"))
|
||||
member_info = (
|
||||
f"**Member:** {member.display_name}\n"
|
||||
f"**Account Created:** {member.created_at.strftime('%B %d, %Y')}\n"
|
||||
f"**Account Age:** {age_str}"
|
||||
)
|
||||
header_section.add_item(ui.TextDisplay(member_info))
|
||||
|
||||
# Add server stats to the header section
|
||||
header_section.add_item(ui.TextDisplay(f"📊 **Server Statistics**"))
|
||||
header_section.add_item(ui.TextDisplay(f"**Total Members:** {member_count:,}"))
|
||||
header_section.add_item(ui.TextDisplay(f"**You are member #{member_count:,}**"))
|
||||
server_stats = (
|
||||
f"📊 **Server Statistics**\n"
|
||||
f"**Total Members:** {member_count:,}\n"
|
||||
f"**You are member #{member_count:,}**"
|
||||
)
|
||||
header_section.add_item(ui.TextDisplay(server_stats))
|
||||
|
||||
# Add welcome footer
|
||||
header_section.add_item(ui.TextDisplay("💬 Feel free to introduce yourself and have fun!"))
|
||||
@ -103,8 +109,10 @@ class GoodbyeMessageView(ui.LayoutView):
|
||||
header_section.add_item(ui.TextDisplay(message))
|
||||
|
||||
# Add member info to the header section
|
||||
header_section.add_item(ui.TextDisplay(f"**Member:** {member.display_name}"))
|
||||
header_section.add_item(ui.TextDisplay(f"**Username:** {member.name}"))
|
||||
member_info_parts = [
|
||||
f"**Member:** {member.display_name}",
|
||||
f"**Username:** {member.name}"
|
||||
]
|
||||
|
||||
# Show join date if available
|
||||
if hasattr(member, 'joined_at') and member.joined_at:
|
||||
@ -121,12 +129,17 @@ class GoodbyeMessageView(ui.LayoutView):
|
||||
else:
|
||||
duration_str = f"{time_in_server.days} day{'s' if time_in_server.days != 1 else ''}"
|
||||
|
||||
header_section.add_item(ui.TextDisplay(f"**Joined:** {join_date}"))
|
||||
header_section.add_item(ui.TextDisplay(f"**Time in Server:** {duration_str}"))
|
||||
member_info_parts.append(f"**Joined:** {join_date}")
|
||||
member_info_parts.append(f"**Time in Server:** {duration_str}")
|
||||
|
||||
header_section.add_item(ui.TextDisplay("\n".join(member_info_parts)))
|
||||
|
||||
# Add server stats to the header section
|
||||
header_section.add_item(ui.TextDisplay(f"📊 **Server Statistics**"))
|
||||
header_section.add_item(ui.TextDisplay(f"**Current Members:** {member_count:,}"))
|
||||
server_stats = (
|
||||
f"📊 **Server Statistics**\n"
|
||||
f"**Current Members:** {member_count:,}"
|
||||
)
|
||||
header_section.add_item(ui.TextDisplay(server_stats))
|
||||
|
||||
container.add_item(header_section)
|
||||
self.add_item(container)
|
||||
|
Loading…
x
Reference in New Issue
Block a user