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))
|
header_section.add_item(ui.TextDisplay(message))
|
||||||
|
|
||||||
# Add member info to the header section
|
# 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
|
# Calculate account age
|
||||||
account_age = datetime.now(timezone.utc) - member.created_at
|
account_age = datetime.now(timezone.utc) - member.created_at
|
||||||
age_str = f"{account_age.days} days ago"
|
|
||||||
if account_age.days >= 365:
|
if account_age.days >= 365:
|
||||||
years = account_age.days // 365
|
years = account_age.days // 365
|
||||||
months = (account_age.days % 365) // 30
|
months = (account_age.days % 365) // 30
|
||||||
@ -54,13 +50,23 @@ class WelcomeMessageView(ui.LayoutView):
|
|||||||
elif account_age.days >= 30:
|
elif account_age.days >= 30:
|
||||||
months = account_age.days // 30
|
months = account_age.days // 30
|
||||||
age_str = f"{months} month{'s' if months != 1 else ''} ago"
|
age_str = f"{months} month{'s' if months != 1 else ''} ago"
|
||||||
|
else:
|
||||||
header_section.add_item(ui.TextDisplay(f"**Account Age:** {age_str}"))
|
age_str = f"{account_age.days} day{'s' if account_age.days != 1 else ''} ago"
|
||||||
|
|
||||||
|
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
|
# Add server stats to the header section
|
||||||
header_section.add_item(ui.TextDisplay(f"📊 **Server Statistics**"))
|
server_stats = (
|
||||||
header_section.add_item(ui.TextDisplay(f"**Total Members:** {member_count:,}"))
|
f"📊 **Server Statistics**\n"
|
||||||
header_section.add_item(ui.TextDisplay(f"**You are member #{member_count:,}**"))
|
f"**Total Members:** {member_count:,}\n"
|
||||||
|
f"**You are member #{member_count:,}**"
|
||||||
|
)
|
||||||
|
header_section.add_item(ui.TextDisplay(server_stats))
|
||||||
|
|
||||||
# Add welcome footer
|
# Add welcome footer
|
||||||
header_section.add_item(ui.TextDisplay("💬 Feel free to introduce yourself and have fun!"))
|
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))
|
header_section.add_item(ui.TextDisplay(message))
|
||||||
|
|
||||||
# Add member info to the header section
|
# Add member info to the header section
|
||||||
header_section.add_item(ui.TextDisplay(f"**Member:** {member.display_name}"))
|
member_info_parts = [
|
||||||
header_section.add_item(ui.TextDisplay(f"**Username:** {member.name}"))
|
f"**Member:** {member.display_name}",
|
||||||
|
f"**Username:** {member.name}"
|
||||||
|
]
|
||||||
|
|
||||||
# Show join date if available
|
# Show join date if available
|
||||||
if hasattr(member, 'joined_at') and member.joined_at:
|
if hasattr(member, 'joined_at') and member.joined_at:
|
||||||
@ -121,12 +129,17 @@ class GoodbyeMessageView(ui.LayoutView):
|
|||||||
else:
|
else:
|
||||||
duration_str = f"{time_in_server.days} day{'s' if time_in_server.days != 1 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}"))
|
member_info_parts.append(f"**Joined:** {join_date}")
|
||||||
header_section.add_item(ui.TextDisplay(f"**Time in Server:** {duration_str}"))
|
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
|
# Add server stats to the header section
|
||||||
header_section.add_item(ui.TextDisplay(f"📊 **Server Statistics**"))
|
server_stats = (
|
||||||
header_section.add_item(ui.TextDisplay(f"**Current Members:** {member_count:,}"))
|
f"📊 **Server Statistics**\n"
|
||||||
|
f"**Current Members:** {member_count:,}"
|
||||||
|
)
|
||||||
|
header_section.add_item(ui.TextDisplay(server_stats))
|
||||||
|
|
||||||
container.add_item(header_section)
|
container.add_item(header_section)
|
||||||
self.add_item(container)
|
self.add_item(container)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user