refactor(welcome): Consolidate welcome and goodbye message sections for improved layout

This commit is contained in:
Slipstreamm 2025-06-14 14:03:23 -06:00
parent 6066898daf
commit a7cb48e10b

View File

@ -28,7 +28,7 @@ class WelcomeMessageView(ui.LayoutView):
container = ui.Container(accent_colour=accent_color) container = ui.Container(accent_colour=accent_color)
# Add a welcome banner/header # Add a welcome banner/header with avatar
header_section = ui.Section( header_section = ui.Section(
accessory=ui.Thumbnail( accessory=ui.Thumbnail(
media=member.display_avatar.url, media=member.display_avatar.url,
@ -40,15 +40,9 @@ class WelcomeMessageView(ui.LayoutView):
header_section.add_item(ui.TextDisplay("🎉 **Welcome to the Server!** 🎉")) header_section.add_item(ui.TextDisplay("🎉 **Welcome to the Server!** 🎉"))
header_section.add_item(ui.TextDisplay(message)) header_section.add_item(ui.TextDisplay(message))
container.add_item(header_section) # Add member info to the header section
header_section.add_item(ui.TextDisplay(f"**Member:** {member.display_name}"))
# Add separator header_section.add_item(ui.TextDisplay(f"**Account Created:** {member.created_at.strftime('%B %d, %Y')}"))
container.add_item(ui.Separator(spacing=discord.SeparatorSpacing.small))
# Member info section
info_section = ui.Section()
info_section.add_item(ui.TextDisplay(f"**Member:** {member.display_name}"))
info_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
@ -61,28 +55,17 @@ class WelcomeMessageView(ui.LayoutView):
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"
info_section.add_item(ui.TextDisplay(f"**Account Age:** {age_str}")) header_section.add_item(ui.TextDisplay(f"**Account Age:** {age_str}"))
container.add_item(info_section)
# Add separator # Add server stats to the header section
container.add_item(ui.Separator(spacing=discord.SeparatorSpacing.small)) 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 section # Add welcome footer
stats_section = ui.Section() header_section.add_item(ui.TextDisplay("💬 Feel free to introduce yourself and have fun!"))
stats_section.add_item(ui.TextDisplay(f"📊 **Server Statistics**"))
stats_section.add_item(ui.TextDisplay(f"**Total Members:** {member_count:,}"))
stats_section.add_item(ui.TextDisplay(f"**You are member #{member_count:,}**"))
container.add_item(stats_section)
# Add separator
container.add_item(ui.Separator(spacing=discord.SeparatorSpacing.small))
# Welcome footer
footer_section = ui.Section()
footer_section.add_item(ui.TextDisplay("💬 Feel free to introduce yourself and have fun!"))
container.add_item(footer_section)
container.add_item(header_section)
self.add_item(container) self.add_item(container)
@ -119,15 +102,9 @@ class GoodbyeMessageView(ui.LayoutView):
header_section.add_item(ui.TextDisplay(f"{emoji} **{title}** {emoji}")) header_section.add_item(ui.TextDisplay(f"{emoji} **{title}** {emoji}"))
header_section.add_item(ui.TextDisplay(message)) header_section.add_item(ui.TextDisplay(message))
container.add_item(header_section) # Add member info to the header section
header_section.add_item(ui.TextDisplay(f"**Member:** {member.display_name}"))
# Add separator header_section.add_item(ui.TextDisplay(f"**Username:** {member.name}"))
container.add_item(ui.Separator(spacing=discord.SeparatorSpacing.small))
# Member info section
info_section = ui.Section()
info_section.add_item(ui.TextDisplay(f"**Member:** {member.display_name}"))
info_section.add_item(ui.TextDisplay(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:
@ -144,21 +121,14 @@ 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 ''}"
info_section.add_item(ui.TextDisplay(f"**Joined:** {join_date}")) header_section.add_item(ui.TextDisplay(f"**Joined:** {join_date}"))
info_section.add_item(ui.TextDisplay(f"**Time in Server:** {duration_str}")) header_section.add_item(ui.TextDisplay(f"**Time in Server:** {duration_str}"))
container.add_item(info_section) # Add server stats to the header section
header_section.add_item(ui.TextDisplay(f"📊 **Server Statistics**"))
# Add separator header_section.add_item(ui.TextDisplay(f"**Current Members:** {member_count:,}"))
container.add_item(ui.Separator(spacing=discord.SeparatorSpacing.small))
# Server stats section
stats_section = ui.Section()
stats_section.add_item(ui.TextDisplay(f"📊 **Server Statistics**"))
stats_section.add_item(ui.TextDisplay(f"**Current Members:** {member_count:,}"))
container.add_item(stats_section)
container.add_item(header_section)
self.add_item(container) self.add_item(container)